首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据库sql优化总结之百万级数据库优化方案+案例分析

2、应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描selectidfromtwherenumisnull最好不要给数据库留NULL,尽可能的使用NOTNULL填充数据库.备注、描述、评论之类的可以设置为NULL,其他的,最好不要使用NULL。

执行时间是:17.579s

执行时间是:16.966s4.应尽量避免在where子句中使用or来连接条件,如果一个字段有索引,一个字段没有索引,将导致引擎放弃使用索引而进行全表扫描案例分析:GRADE_ID字段有索引,QUESTION_TYPE没索引

执行时间是:11.661s优化方案:通过unionall方式,把有索引字段和非索引字段分开。索引字段就有效果了

执行时间是:11.811s但是,非索引字段依然查询速度会很慢,所以查询条件,能加索引的尽量加索引5.in和notin也要慎用,否则会导致全表扫描案例分析注:在mysql数据库中where子句中对索引字段使用in和notin操作符,引擎不会放弃使用索引。

注:在mysql数据库中where子句中对不是索引字段使用in和notin操作符,会导致全表扫描。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180715A0VHAG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券