上海网站建设 虹口,招商网站建设的必要性,六枝特区建设局网站,设计网站的结构时MySQL–优化#xff08;索引–索引创建原则#xff09;
定位慢查询SQL执行计划索引 存储引擎索引底层数据结构聚簇和非聚簇索引索引创建原则索引失效场景 SQL优化经验 一、索引创建原则
我们使用的索引种类#xff1a;
主键索引唯一索引根据业务创建的索引#xff08;复…MySQL–优化索引–索引创建原则
定位慢查询SQL执行计划索引 存储引擎索引底层数据结构聚簇和非聚簇索引索引创建原则索引失效场景 SQL优化经验 一、索引创建原则
我们使用的索引种类
主键索引唯一索引根据业务创建的索引复合索引
二、索引创建原则有哪些
想象一个图书馆里面的书籍没有按照任何顺序排列。如果你想找一本书你可能需要一本一本地查看这会非常耗时。这就是没有索引的数据库的感觉。
现在想象图书馆员决定按照书的标题或作者来排序书籍。突然之间找书变得容易多了。这就是索引的力量。 1、针对于数据量较大且查询比较频繁的表建立索引
一般情况下单表超过10万数据就去可以添加索引比喻在一个繁忙的火车站如果没有指示牌或电子显示屏告诉乘客哪趟列车在哪个站台乘客就会四处寻找造成混乱。索引就像这些指示牌帮助数据库快速定位到需要的数据。
2、针对于常作为查询条件where、排序 order by 、分组group by操作的字段建立索引。
例子如果你经常按照员工的入职日期来查询或排序数据那么在这个字段上建立索引会很有用。
3、尽量选择区分度高的列作为索引尽量建立唯一索引区分度越高使用索引的效率越高。
比喻想象一个只有男性和女性两种选择的性别字段。虽然你可以在这个字段上建立索引但由于区分度太低只有两种可能索引的效果可能并不明显。相比之下身份证号或邮箱地址这样的字段区分度就很高更适合建立索引。
4、字符串类型的字段可以建立前缀索引
例子对于像URL这样很长的字符串字段你可能不需要对整个字段建立索引。只对URL的前几个字符建立索引即前缀索引可能就足够了。
5、尽量使用联合索引减少单列索引查询时联合索引很多时候可以覆盖索引节省存储空间避免回表提高查询效率。 6、控制索引的数量
索引就像厨房里的调料。适量的调料可以让食物更美味但过多的调料会掩盖食物本身的味道。同样过多的索引会降低数据库的性能。
7、如果索引列不能存储NULL值请使用NOT NULL约束
例子假设你有一个记录员工电话号码的字段并且这个字段上建立了索引。如果允许NULL值那么当查询电话号码为NULL的员工时索引可能无法有效工作。通过使用NOT NULL约束你可以确保索引始终有效。