Слишком много времени на оптимальном пути

Ниже запрос занял всего 0,04 секунды

SELECT A.* 
FROM  'TABLE1' 
JOIN TABLE2 ON ( TABLE1.ID = TABLE2.ID ) 
WHERE  'COL1' ='1'

Пока следующий запрос занял 4 секунды

SELECT A.* FROM  'TABLE1' 
JOIN TABLE2 ON ( TABLE1.ID = TABLE2.ID ) 
WHERE  'COL1' ='1' and col2 not in (....ard 4k integers...P

и максимальное время - тратить на статистику (3sec+), что, вероятно, означает поиск оптимального пути запроса.

Я использую MySQL 5.5.25 и просто хочу знать, является ли это ошибкой.

0
источник поделиться
1 ответ

Это общее ограничение с mysql, не рекомендуется делать с большими предложениями IN. Создайте временную таблицу и присоедините ее к ней. Будьте осторожны с репликацией таблицы temp, скорее всего, нет необходимости копировать ее, и это может вызвать отставание.

0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос