Поиск по сайту:

Как оптимизировать множество SELECT в одной таблице в MySQL?


Чтобы оптимизировать множество SELECT, используйте его один раз и примените IN() для получения нескольких значений. Сначала создадим таблицу:

mysql> create table DemoTable
(
   Id int,
   Name varchar(100),
   Age int
);
Query OK, 0 rows affected (0.77 sec)

Вставьте несколько записей в таблицу с помощью команды вставки:

mysql> insert into DemoTable values(1,'Chris',23);
Query OK, 1 row affected (0.39 sec)
mysql> insert into DemoTable values(2,'David',21);
Query OK, 1 row affected (0.56 sec)
mysql> insert into DemoTable values(3,'Mike',24);
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable values(4,'Robert',22);
Query OK, 1 row affected (0.12 sec)

Отобразите все записи из таблицы с помощью оператора select:

mysql> select *from DemoTable ;

Это даст следующий результат:

+------+--------+------+
| Id   | Name   | Age  |
+------+--------+------+
|    1 | Chris  |   23 |
|    2 | David  |   21 |
|    3 | Mike   |   24 |
|    4 | Robert |   22 |
+------+--------+------+
4 rows in set (0.00 sec)

Ниже приведен запрос для оптимизации множества SELECT в одной таблице:

mysql> select Name from DemoTable where Age in(21,22,23);

Это даст следующий результат:

+--------+
| Name   |
+--------+
| Chris  |
| David  |
| Robert |
+--------+
3 rows in set (0.00 sec)

Статьи по данной тематике: