财联社5月27日讯(编辑 潇湘)将近半个世纪前,一位不会打字的土豆大亨最先重仓押注美光。而如今,整个世界都在效仿…… 这家总部位于美国爱达荷州博伊西的...
2026-05-27 5
来 源:SQL数据库
为什么别人的查询只要几秒,而你的查询语句少则十多秒,多则十几分钟甚至几个小时?与你的查询语句是否高效有很大关系。
今天我们来看看如何写出比较高效的查询语句。
1、尽量不要使用NULL当默认值
在有索引的列上如果存在NULL值会使得索引失效,降低查询速度,该如何优化呢?例如:
我们可以将NULL的值设置成0或其他固定数值,这样保证索引能够继续有效。
这是改写后的查询语句,效率会比上面的快很多。
2、尽量不要在WHERE条件语句中使用!=或<>
在WHERE语句中使用!=或<>也会使得索引失效,进而进行全表扫描,这样就会花费较长时间了。
3、应尽量避免在 WHERE子句中使用 OR
遇到有OR的情况,我们可以将OR使用UNION ALL来进行改写
例如:
可以改写成:
4、IN和NOT IN也要慎用
遇到连续确切值的时候 ,我们可以使用BETWEEN AND来进行优化
例如:
可以改写成:
5、子查询中的IN可以使用EXISTS来代替
子查询中经常会使用到IN,如果换成EXISTS做关联查询会更快。
例如:
可以改写成:
虽然代码量可能比上面的多一点,但是在使用效果上会优于上面的查询语句。
6、模糊匹配尽量使用前缀匹配
在进行模糊查询,使用LIKE时尽量使用前缀匹配,这样会走索引,减少查询时间。
展开全文
例如:
或者
均不会走索引,只有当如下情况:
才会走索引。
上述这些都是平常经常会遇到的,就直接告诉大家怎么操作了,具体可以下去做试验尝试一下!
- END -
爱数据福利大放送
回复【1017】即可领取
《MySQL基础查询手册》
《目录》
《部分内容》
相关文章
财联社5月27日讯(编辑 潇湘)将近半个世纪前,一位不会打字的土豆大亨最先重仓押注美光。而如今,整个世界都在效仿…… 这家总部位于美国爱达荷州博伊西的...
2026-05-27 5
高市早苗的政府似乎陷入了一种自我催眠的状态,渴望得到美国的明确支持,却总是面对特朗普政府的冷遇。与此同时,日本外相茂木敏充的频繁游说行动,不仅暴露出东...
2026-05-27 4
近日,海南某小区 居民和物业的电话录音被曝光 引发关注 5月23日,海南海口一小区发生电梯困人事件,一女子带着孩子被困在电梯里,女子打电话求助物业。...
2026-05-27 5
来源:21世纪经济报道 据央视新闻报道,当地时间27日,伊朗国家安全委员会成员布鲁杰迪表示,根据伊朗与美国达成的初步协议草案,美方将在第一阶段承诺在所...
2026-05-27 6
驾车追尾肇事,男子非但没有配合处理,反而借机逃窜躲入农田。近日发生在海曙区古林镇的这起交通事故,背后隐藏着酒驾违法的荒唐真相。 事发当日傍晚5点40分...
2026-05-20 4
广州天河招商迎来标志性项目! 4月28日,全球科技巨头谷歌(Google)正式签订合同,入驻位于天河CBD珠江新城的城市地标广州国际金融中心(西塔),...
2026-04-30 12
4月21日,记者从上海市公安局获悉,上海市公安局普陀分局成功破获一起潮玩公仔盗窃案。据了解,一对情侣多次至潮玩店,偷了上千个热门“卡皮巴拉”萌粒玩偶,...
2026-04-22 13
发表评论