这篇文章主要介绍数据库的语句优化如何实现,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
SELECTidFROMAWHEREnamelike'%abc%'
由于abc前面用了“%”,因此该查询必然走全表查询,除非必要,否则不要在关键词前加%,优化成如下
SELECTidFROMAWHEREnamelike'abc%'
where子句使用!=或<>操作符优化
在where子句中使用!=或<>操作符,索引将被放弃使用,会进行全表查询。
如SQL:SELECTidFROMAWHEREID!=5优化成:SELECTidFROMAWHEREID>5ORID<5
在where子句中使用ISNULL或ISNOTNULL判断,索引将被放弃使用,会进行全表查询。
如SQL:SELECTidFROMAWHEREnumISNULL优化成num上设置默认值0,确保表中num没有null值,然后SQL为:SELECTidFROMAWHEREnum=0
很多时候使用unionall或nuin(必要的时候)的方式替换“or”会得到更好的效果。where子句中使用了or,索引将被放弃使用。
如SQL:SELECTidFROMAWHEREnum=10ornum=20优化成:SELECTidFROMAWHEREnum=10unionallSELECTidFROMAWHEREnum=20
以上是“数据库的语句优化如何实现”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。