1. 索引列獨立使用,避免使用函數
例如 where to_char(xx,xx)=xx
2. 索引選擇性儘量大一些
索引選擇性=不重複的索引值和總記錄的比值,返回在0到1之間
儘量選擇接近1的列建立索引,例如性別 sex不適合作爲索引,因爲它本身就只有兩種可能性,索引選擇性很低
3. 避免給很長的列建索引
1) 索引本身也需要佔用空間
2) 列很長,查詢的效率很低
3) 可以使用前綴索引,取該列的前10或20個字符作爲索引
4) 可以增加冗餘列,使用crc32(xx)作爲新的索引列
4. 聯合索引
1) 聯合索引的使用,是從左側字段開始
2) [A,B] 只有當A字段使用等值匹配時,B字段索引查詢纔會生效
3) [A,B] 單獨使用B字段不會走索引
5. 給每個列都建立索引 是錯誤的做法
索引本身是有維護成本的