1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > mysql 查询效率问题 如何通过优化sql语句提高数据库查询效率 – 数据库 – 前端

mysql 查询效率问题 如何通过优化sql语句提高数据库查询效率 – 数据库 – 前端

时间:2023-03-10 20:37:51

相关推荐

mysql 查询效率问题 如何通过优化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 查询效率问题 如何通过优化sql语句提高数据库查询效率 – 数据库 – 前端 mysql 实现over函数

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。