SELECT id, name, detail FROM student WHERE id NOT IN (1,788,103,100) ORDER BY id DESC LIMIT 1000,10
Как улучшить эту производительность SQL запросов?
В таблице крошечные (10000 строк). Я должен рассмотреть две точки: «запрос IN» и «запрос LIMIT».
Вот DDL и EXPLAIN. Я использую MySQL 5.6.4.
CREATE TABLE student
(id int(11) NOT NULL AUTO_INCREMENT
, name varchar(45) NOT NULL
, detail varchar(255) NOT NULL
, PRIMARY KEY (id)
) ENGINE = MyISAM;
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
| 1 | SIMPLE | student| ALL | Primary,id | NULL | NULL | NULL | 13 | |
Использование 'EXPLAIN'to выяснить, где вам нужен индекс. – Jens
, когда я использую 'EXPLAIN', первичный ключ запроса' IN' и '' NOT IN'' ничего не используют, это странно? –
около 10 000 строк –