Приветствия друзей,Оптимизация простого SQL-запроса?
В моей базе данных MySQL у меня есть таблица «MAB», которая содержит информацию о идентификаторах генов (GI_ID) и некоторых других связанных с геном информации.
Таблица «MAB_CAN» может содержать идентификаторы генов (GI_ID), относящиеся только к раку.
Я использую следующий SQL запрос, чтобы получить информацию, связанную с раком из МАБ таблицы:
SELECT * FROM MAB WHERE `GI_ID` IN (SELECT `GI ID` FROM `MAB_CAN`)
Она занимает около 14 секунд для этого запроса, который является слишком длинным (1605 записей)..
Но следующие независимые запросы требуют короткого времени.
ВЫБОР
GI_ID
ОТMAB_CAN
ГДЕ 1
- 0,0005 сек (1,605 записей)
SELECT * FROM
MAB
ГДЕ 1
- 0,0007 сек (31,043 записей)
Любые советы по оптимизации мой первый запрос?
Используйте EXPLAIN, чтобы увидеть, как ваши запросы выполняются в базе данных. Теперь вы можете оптимизировать свои запросы и индексы. –