2015-05-04 3 views
1

Мой запрос;Mysql "is not NULL" работает очень медленно

"SELECT firma.id from firma where firma.video IS NOT NULL limit 0,20"; 

Она работает после того, как около 14 секунд для 576.000 строк на ООО фирма таблицы. Существует только 1 строка, которая не является NULL в видео. Добавить индекс для видео varchar (1000).

Как я могу скрепить этот запрос?

+0

Попробуйте добавить слово 'EXPLAIN' в начало вашего запроса и запустить его в редакторе SQL. Это даст вам более полное представление о том, почему * он медленный, например, если он создает временную таблицу. –

+1

Попробуйте заказать по адресу firma.video по возрастанию (я думаю), а затем сначала вы должны получить null, если в списке все элементы равны нулю, тогда получите следующий набор результатов 19,20 или smth. Немного хакерский, но постарайтесь сравнить этот –

+0

«заказать по адресу firma.video asc» делает это быстрее благодаря большому количеству .. KA_lin – Bagova

ответ

-1

Знаете ли вы, что размер содержимого индекса ограничен? По умолчанию ограничение длины префикса ключа индекса составляет 767 байт. См. Section 13.1.13, “CREATE INDEX Syntax”.

Смежные вопросы