索引覆盖
因为我们的二级索引搜索后会有回表操作,建立联合索引,覆盖我们需要获取的字段,减少回表操作,这个过程就叫索引覆盖。覆盖索引能大大增加我们的查询性能。
最左前缀原则
建立联合索引(a,b),当只对a查询时,仍可以用上该索引,当只使用b的时候,不可用该索引。
设计索引的原则:
第一原则:按照使用频率,频率比较高的放前面。
第二原则:按照占用空间大小,占用空间大的放前面,节约空,避免对同个字段设置多个索引。
索引下推原则
建立索引(a,b),使用a的模糊查询,这个时候匹配完a字段,会优先对b字段进行匹配,过滤部分数据,减少回表次数。
重建索引
因为删除数据,不会删除索引,所以当一个表数据频繁删除,为了提高性能和节约空间,需要对索引进行重建。重建语句:alter table T engine=InnoDB