如何增强我的选择查询以使其在MySQL中更快?

为了更快地查询,请使用MySQL,IN()因为它在内部使用索引。让我们首先创建一个表-

mysql> create table DemoTable1618
    -> (
    -> ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ClientName varchar(20),
    -> ClientEmailId varchar(30)
    -> );

使用insert命令在表中插入一些记录:

mysql> insert into DemoTable1618(ClientName,ClientEmailId) values('Chris Brown','Brown323@gmail.com');
mysql> insert into DemoTable1618(ClientName,ClientEmailId) values('David Miller','MillerDavid@gmail.com');
mysql> insert into DemoTable1618(ClientName,ClientEmailId) values('John Doe','998John_Doe@gmail.com');
mysql> insert into DemoTable1618(ClientName,ClientEmailId) values('John Smith','999John_Smith@gmail.com');
mysql> insert into DemoTable1618(ClientName,ClientEmailId) values('Adam Smith','Adam_Smith@gmail.com');

使用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)