У меня есть таблица, имеющая 2 строки Lakh (200K). Когда я выполняю запрос, он занимает слишком много времени (около 2 минут).Если данные меньше заданного предела, слишком много времени занимает
Это мой вопрос: -
SELECT a,b,c,d,@row:="tag1" as tag
FROM tableName
WHERE tagName like "%helloworld|%"
ORDER BY viewCount desc
LIMIT 20;
helloworld|
произошло только в 2 ряда.
Я хочу изменить запрос, если данные присутствуют более чем в 20 раз, он должен возвращать 20 строк еще в любых существующих строках.
Как оптимизировать этот запрос?
Выполняет полное сканирование таблицы. Попробуйте найти полный текст вместо –
Вам нужно создать отдельную таблицу с тегами, чтобы иметь возможность фильтрации без полноэкранного режима. –
Попробуйте использовать полный текст в столбце 'tagName' вместе с' MATCH AGAINST', т. Е .: 'WHERE MATCH (tagName) AGAINST ('helloworld |' IN BOOLEAN MODE)' – mitkosoft