Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это сообщение помощника возвращается, когда запрос использует функцию CONTAINS. Сообщение объясняет причину и предоставляет рекомендации по повышению производительности запросов.
Свойства
| Ценность | |
|---|---|
| RuleID | QA1002 |
| Заголовок | Contains |
| Категория | Performance |
Причина
Запрос использует функцию CONTAINS .
Описание правила
CONTAINS может быть дорогостоящим и медленным, так как требуется полная проверка.
Recommendation
Если цель использования CONTAINS — соответствовать префиксу строки, используйте STARTSWITH вместо этого, что выполняет точную проверку индекса и может быть более экономичной.
Если вы выполняете поиск строки без учета регистра, рассмотрите возможность определения и индексирования вычисляемого свойства, которое проектируют LOWER(c.stringSearchProperty) и используют поиск строк с учетом регистра.
Example
Исходный запрос:
SELECT *
FROM c
WHERE CONTAINS(c.category, "Historical")
Целью запроса является поиск category , который начинается с Historical. В этом случае следующий запрос имеет более высокую производительность с вычисляемого свойства c.cp_category:
SELECT *
FROM c
WHERE STARTSWITH(c.cp_category, "historical")