建立普通索引
1、 单表
Create index idx_article_ccv on article(category_id,comments,views)
重要
去除不必要的索引
2、 双表
将索引加在非主表中,数据小的一般作为主表,小驱动大
3、三表
重要
joinBuffer大,缓冲多
索引失效
索引就是查找和排序
1、 带头大哥不能死
2、 中间兄弟不能断
3、 索引列上少计算
4、 范围之后全失效
5、 尽量使用覆盖索引(不用*,使用有索引的值,就会到use index上获取)
6、 使用不等于(!=或者<>)时会导致索引失效,进而全表扫描
7、 Is null,is not null索引失效
8、 %like加右边(like以通配符%开头会使索引失效)
9、 字符串不加单引号,索引就会失效(varchar)
10、 少用or,用它来连接,索引会失效
1、 全值匹配我最爱
2、最佳左前缀法则
3、不在索引上做任何操作
4、存储引擎不能使用索引中范围条件右边的列
5、尽量使用覆盖索引,减少select *
6、 mysql在使用不等于的时候,无法使用索引导致全表扫描
7、 is null 或是is not null无法使用索引
8、like以通配符开头,索引失效
重要(必须使用%开头时,使用覆盖索引解决)
1、 将name和age建立索引
9、 字符串不加单引号,索引失效(varchar)
10、练习