Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để cải thiện truy vấn chọn lọc của tôi để làm cho nó nhanh hơn trong MySQL?

Để truy vấn nhanh hơn, hãy sử dụng MySQL IN () vì nó sử dụng lập chỉ mục nội bộ. Đầu tiên chúng ta hãy tạo một bảng -

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)

Chèn một số bản ghi vào bảng bằng lệnh chèn:

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)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select * from DemoTable1618;

Điều này sẽ tạo ra kết quả sau -

+----------+--------------+-------------------------+
| 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)

Đây là truy vấn sử dụng IN () để truy vấn nhanh hơn -

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

Điều này sẽ tạo ra kết quả sau -

+----------+--------------+-------------------------+
| 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)