如何改進 MySQL 中的 select 查詢以提升速度?


要加快查詢速度,使用 MySQL IN(),因為它內部使用了索引。首先,讓我們建立一個表:

mysql> create table DemoTable1618
    -> (
    -> ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ClientName varchar(20),
    -> ClientEmailId varchar(30)
    -> );
Query OK, 0 rows affected (1.53 sec)

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

mysql> insert into DemoTable1618(ClientName,ClientEmailId) values('Chris Brown','Brown323@gmail.com');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1618(ClientName,ClientEmailId) values('David Miller','MillerDavid@gmail.com');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1618(ClientName,ClientEmailId) values('John Doe','998John_Doe@gmail.com');
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable1618(ClientName,ClientEmailId) values('John Smith','999John_Smith@gmail.com');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1618(ClientName,ClientEmailId) values('Adam Smith','Adam_Smith@gmail.com');
Query OK, 1 row affected (0.17 sec)

使用 `select` 語句從表中顯示所有記錄:

mysql> select * from DemoTable1618;

這將生成以下輸出:

+----------+--------------+-------------------------+
| ClientId | ClientName   | ClientEmailId           |
+----------+--------------+-------------------------+
|        1 | Chris Brown  | Brown323@gmail.com      |
|        2 | David Miller | MillerDavid@gmail.com   |
|        3 | John Doe     | 998John_Doe@gmail.com   |
|        4 | John Smith   | 999John_Smith@gmail.com |
|        5 | Adam Smith   | Adam_Smith@gmail.com    |
+----------+--------------+-------------------------+
5 rows in set (0.00 sec)

下面是使用 IN() 加快查詢速度的查詢:

mysql> select * from DemoTable1618 where ClientEmailId IN('998John_Doe@gmail.com','999John_Smith@gmail.com','MillerDavid@gmail.com');

這將生成以下輸出:

+----------+--------------+-------------------------+
| ClientId | ClientName   | ClientEmailId           |
+----------+--------------+-------------------------+
|        2 | David Miller | MillerDavid@gmail.com   |
|        3 | John Doe     | 998John_Doe@gmail.com   |
|        4 | John Smith   | 999John_Smith@gmail.com |
+----------+--------------+-------------------------+
3 rows in set (0.00 sec)

更新於: 2019-11-08

116 次瀏覽

啟動你的 職業生涯

透過完成課程取得認證

開始使用
廣告
© . All rights reserved.