如何在一張 MySQL 表中最佳化多條 SELECT 語句?


要最佳化多條 SELECT 語句,使用一次並應用 IN() 來獲取多個值。我們首先建立一個表 -

mysql> create table DemoTable
(
   Id int,
   Name varchar(100),
   Age int
);
Query OK, 0 rows affected (0.77 sec)

使用 insert 命令在表中插入一些記錄 -

mysql> insert into DemoTable values(1,'Chris',23);
Query OK, 1 row affected (0.39 sec)
mysql> insert into DemoTable values(2,'David',21);
Query OK, 1 row affected (0.56 sec)
mysql> insert into DemoTable values(3,'Mike',24);
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable values(4,'Robert',22);
Query OK, 1 row affected (0.12 sec)

使用 select 語句顯示錶中的所有記錄 -

mysql> select *from DemoTable ;

這將產生以下輸出 -

+------+--------+------+
| Id   | Name   | Age  |
+------+--------+------+
|    1 | Chris  |   23 |
|    2 | David  |   21 |
|    3 | Mike   |   24 |
|    4 | Robert |   22 |
+------+--------+------+
4 rows in set (0.00 sec)

下面是最佳化單張表上多條 SELECT 語句的查詢 -

mysql> select Name from DemoTable where Age in(21,22,23);

這將產生以下輸出 -

+--------+
| Name   |
+--------+
| Chris  |
| David  |
| Robert |
+--------+
3 rows in set (0.00 sec)

更新於: 01-10-2019

69 個瀏覽次數

開啟您的 職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.