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','[email protected]');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1618(ClientName,ClientEmailId) values('David Miller','[email protected]');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1618(ClientName,ClientEmailId) values('John Doe','[email protected]');
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable1618(ClientName,ClientEmailId) values('John Smith','[email protected]');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1618(ClientName,ClientEmailId) values('Adam Smith','[email protected]');
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  | [email protected]      |
|        2 | David Miller | [email protected]   |
|        3 | John Doe     | [email protected]   |
|        4 | John Smith   | [email protected] |
|        5 | Adam Smith   | [email protected]    |
+----------+--------------+-------------------------+
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('[email protected]','[email protected]','[email protected]');

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

+----------+--------------+-------------------------+
| ClientId | ClientName   | ClientEmailId           |
+----------+--------------+-------------------------+
|        2 | David Miller | [email protected]   |
|        3 | John Doe     | [email protected]   |
|        4 | John Smith   | [email protected] |
+----------+--------------+-------------------------+
3 rows in set (0.00 sec)