關(guān)于mysql索引的一些疑問,查閱了很多資料,說的都很模糊,有幾種類型的索引不知道怎么加:
1.groupby的索引要怎么加?單獨的加一個索引還是和搜索條件加在一起?
2.有LEFT JOIN的查詢索引要怎么加,例如
SELECT a.id,FROM a
LEFT JOIN b
ON a.id = b.aid
WHERE a.year = 1 AND b.month = 2
GROUP BY b.a
ORDER BY a DESC
3.像有
SELECT a.id,SUM(a.q+a.w) as day_pv FROM a
ORDER BY day_pv DESC
這樣的索引要怎么加?
關(guān)于索引以及mysql語句優(yōu)化方面的東西很薄弱。
或者有什么相關(guān)的文章或書籍可以推薦的
建索引主要根據(jù)表的查詢條件,原則上找數(shù)據(jù)可選性高的字段創(chuàng)建索引,如人員id、姓名等,根據(jù)這樣的條件可以大大縮小查詢結(jié)果集。
高性能mysql第三版,第五章,專門講解創(chuàng)建高性能的索引,索引主要是針對表的不同查詢字段建立的,為了縮短查詢時間,提高性能