Как оптимизировать множество 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)