怎么促成客户做网站,做网站去哪找客户,网站搭建h5是什么,美篇app制作教程SQL优化措施
通过我们日常开发的经验可以整理出以下高效SQL的守则
表主键使用自增长bigint加适当的表索引#xff0c;需要强关联字段建表时就加好索引#xff0c;常见的有更新时间#xff0c;单号等字段减少子查询#xff0c;能用表关联的方式就不用子查询#xff0c;可…SQL优化措施
通过我们日常开发的经验可以整理出以下高效SQL的守则
表主键使用自增长bigint加适当的表索引需要强关联字段建表时就加好索引常见的有更新时间单号等字段减少子查询能用表关联的方式就不用子查询可能在少数据量的情况下子查询比较快但是当结果集大时效率就有大影响了例如3w行数据的影响就很大了案例sql优化实战-减少子查询小表驱动大表避免隐式转换注意作为条件的数据类型是字符串还是数值避开索引失效的场景 使用函数计算索引列作为查询条件使用Like全模糊查询条件复合索引情况下最左匹配原则
分析SQL运行的依据
上面提到了这么些措施在日常开发时多留意可以让我们写出一定时间内高效运行的SQL但是在数据量日益增长的情况下我们避免不了需要做一些优化甚至于优化别人的SQL优化的依据又从哪里来呢这时就用到explain了。
Explain简述
不是实际执行SQL语句而是分析执行的语句走了哪些优化措施。关于explain的说明其他文章描述的很清楚这里就不过多展开文章最后是我写这篇文章时阅览过的资料有需要的可以点击进去看看。 在使用时我们主要关注下面两个字段
select_type表明当前表是简单查询其他复杂查询type索引类型其通常的效率高低排序如下 systemconsteq_refrefrangeindexall key该表实际使用的索引
还有需要注意的是每张关联的表只会用到一个索引因此索引也不是建的越多就约有用不然可能会有走错索引的问题。
预告
接下来会再出一篇生产SQL优化实战本来想写在这篇内容中的但是感觉篇幅太长了所以分到了下一篇这篇就作为实战前的预备知识说明好了。
参考链接
cnblogmysql explain type详解 cnblogexplain使用指南 简书explain详解