在我对索引的基本理解中,索引用于WHERE
子句中的列。由于该HAVING
子句类似于在语句WHERE
之后应用的子句GROUP BY
,索引是否对其具有相同的效果?例如:
SELECT * FROM table WHERE full_name = 'Bob Jones'
--> index on full_name would be beneficial here
和
SELECT * FROM table WHERE first_name = 'Bob'
GROUP BY
height HAVING height > 72
在第二个查询中,first_name 和 height 上的索引会提高性能吗?哪个指数更重要,或者它们大致相等?此外,索引是否也能提高GROUP BY
性能(不管 a HAVING
)?