重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍数据库的语句优化如何实现,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
目前创新互联建站已为上千家的企业提供了网站建设、域名、雅安服务器托管、网站托管、服务器托管、企业网站设计、大连网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。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
以上是“数据库的语句优化如何实现”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!