Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 더 빠르게 선택 쿼리를 향상하려면 어떻게 해야 합니까?

<시간/>

내부적으로 인덱싱을 사용하기 때문에 더 빠른 쿼리를 위해 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','[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)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select * from DemoTable1618;

이것은 다음과 같은 출력을 생성합니다 -

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

다음은 더 빠른 쿼리를 위해 IN()을 사용하는 쿼리입니다 -

mysql> select * from DemoTable1618 where ClientEmailId IN('[email protected]','[email protected]','[email protected]');

이것은 다음과 같은 출력을 생성합니다 -

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