专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

mysql 查询延迟,如何通过优化sql语句提高数据库查询效率_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 12:45:20       共计:3586 浏览
mysql 查询延迟,如何通过优化sql语句提高数据库查询效率?

通过优化SQL语句,提高数据库查询效率,我总结了有这么几个方面:

减少数据访问

看起来像一句废话,少访问数据当然可以提高速度了,减少数据访问有这么几个方法:

创建并正确使用索引

我们经常用到的就是B-TREE索引,我们经常说到的【索引】也指的是【B-TREE索引】。

正确使用索引可以让查询效率翻倍,但是如果使用不正确,也会对效率降低很多,比如这几种情况就会造成索引失效:

不等于操作:<>? 、not in('')

进行了运算后的字段:column+1(简单的运算),function(column)(函数)

含前导模糊查询:like '%xxx'

IS NULL

隐式类型转换:column是char类型,但是写成column = 123(右边是另外一种类型)

只通过索引访问数据

有些时候,我们只需要访问表中的某几个列的数据,我们可以为这几个字段建立一个组合索引,这样的话只通过索引就可以得到数据,可以较小IO的开销。比如:

select name,gender from users where age='25';

如果这个SQL用的频率很高,那么我们可以建立一个组合索引:

create index index_xxx on users(name,gender,age);

在执行这个sql的时候,数据全部都是通过索引找到的,都不需要访问users表。

优化SQL执行计划

执行计划表示SQL在执行时候的算法,有的时候SQL语句很复杂,就需要优化SQL的执行计划去提高SQL的执行效率。

其他

可能不和SQL有直接的关系,但确实效率提升很明显,比如:

数据分页处理只返回需要的字段减少交互次数(batch DML)使用绑定变量(可以减少数据库服务器CPU运算)

但是要注意,对SQL不要过度优化,满足需求即可。

希望我的回答能够帮助到你!

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:mysql查询dual,linux查看数据库字段长度_数据库 | ·下一条:mysql查询 转义,dump用法_数据库

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有