索引字段选择建议
- 选择常用于WHERE和JOIN子句的字段作为索字段,可以优化查询性能。
- 选择那些数据区分度高的字段。数据区分度指的是重复的数据多与少,重复数据越少区分度越高,例如:账号基本上唯一没有重复的,性别不是男就是女,区分度低,性别创建索引,也没法快速定位到具体的数据,查询性别=男,结果查出了100万数据,索引利用率不高。
- 组合索引的顺序应该优先考虑数据区分度高的字段排在前面,以便在过滤数据时提高索引效率。
- 避免在字段上创建过多的索引,因为这可能会导致维护索引的开销超过了索引的性能优势。
索引类型选择建议
- 唯一性:如果字段具有唯一性,应该使用唯一索引。
- 组合搜索:如果多个字段经常一起用于搜索或排序,应该使用组合索引,合理使用组合索引可以减少索引的数量。
- 频繁更新:如果字段经常更新,需要权衡使用普通索引和不使用索引的影响。
- 短字段:短字段适合使用普通索引,因为它们可以很快地定位到数据。
- 长文本字段:长文本字段适合使用全文索引,而不是普通索引。
- 主键字段:每张表都应该有一个主键,主键字段适合使用主键索引。
- 经纬度坐标字段:如果涉及地理信息查询,可以使用空间索引(R-Tree索引)