Двадцать пять заповедей SQL Страница 11. Для фильтрации записей используйте WHERE, а не HAVING
|
Страница 11 из 26 10. Для фильтрации записей используйте WHERE, а не HAVING. Избегайте использования раздела HAVING вместе с GROUP BY на индексированных столбцах. В этом случае индекс не используется. Фильтруйте строки с помощью раздела WHERE, а не раздела HAVING. Если для таблицы EMP существует индекс на столбце DEPTID, в при выполнении следующего запроса этот индекс использоваться не будет: SELECT DEPTID, SUM(SALARY) FROM EMP GROUP BY DEPTID HAVING DEPTID = 100;
Однако этот запрос можно переписать так, чтобы индекс применялся: SELECT DEPTID, SUM(SALARY) FROM EMP WHERE DEPTID = 100 GROUP BY DEPTID;
|