Я рекомендую вам избегать LIKE
Поисков с ведущим символом подстановки. База данных не будет использовать индекс при использовании похожих поисков с лидирующим подстановочным знаком (например, '%condition1%'
). Хотя это не всегда удовлетворительное решение, рассмотрите возможность использования шаблонов LIKE с префиксным соответствием (например, 'TERM%'
).
Пример оптимальной практики:
SELECT
id,
text
FROM
tbl
WHERE
text LIKE 'TERM%';
Пример плохой практики:
SELECT
id,
text
FROM
tbl
WHERE
text LIKE '%TERM%';
Кроме того, предложения OFFSET
могут быть очень медленными при использовании с большими смещениями (например, с большими номерами страниц при реализации подкачки). Вместо этого используйте следующий метод поиска, который обеспечивает лучшие и более стабильные показатели ответов.
Пример оптимальной практики:
SELECT
name,
age,
department
FROM
employees
WHERE
(id, age) > (5000, 40)
ORDER BY
id,
age
LIMIT
10;
Пример неправильной практики:
SELECT
name,
age,
department
from
employees
where
age > 40
ORDER BY
age
LIMIT
10 OFFSET 5000;
Отказ от ответственности: Я всегда являюсь соучредителем SQL, и вы можете автоматически ускорить ваш запрос @ Ever SQL онлайн SQL оптимизатор