美文网首页
MySQL影响查询效率的因素

MySQL影响查询效率的因素

作者: 森林中大鸟 | 来源:发表于2020-07-01 20:34 被阅读0次
  1. 条件字段使用函数操作

索引字段使用函数操作后,无法使用索引的快速定位功能(树搜索功能),但优化器并未放弃使用索引,优化器会对比索引字段与主键索引的大小,最终决定使用较小的所引树,进行全部遍历。
例如:select * from tradelog where id + 1 = 10000 就会导致全表扫描。
select * from tradelog where id = 10000 -1则不会导致全表扫描。

实际工作中可使用其他方式对条件进行分割,或者union连接查询等操作避免条件字段使用函数。

  1. 隐式类型转换

条件字段与参数类型不一致时,会发生转换
转换原理: 字符串与数字比较时,会将字符串转换为数字。(id例外)

例如:select ‘2’ > 1 相当于 select CAST(‘2’ AS signed int) 相当于是对条件字段使用类型转换函数,会导致全表扫描。
select * from table where id = ‘2’相当于select * from table where id = CAST(‘2’ AS signed int) 不会导致全表扫描。

实际工作中使比较的类型匹配即可。

  1. 隐式字符编码转换

两个表关联查询时,两表中的字段字符集不一致,会发生类型转换。
转换原理:按数据长度增加的方向转换,比如 utf8类型的与utf8mb4比较时,会将utf8向utf8mb4方向转换。
遇到类似情况,最好的方式是修改为一致的编码集,如果表数据较多,且执行修改影响较大,可将编码类型长度更大的字段作为条件字段的驱动表(放在比较二者的左侧)可避免全表扫描。

相关文章

  • MySQL影响查询效率的因素

    条件字段使用函数操作 索引字段使用函数操作后,无法使用索引的快速定位功能(树搜索功能),但优化器并未放弃使用索引,...

  • MySQL SQL优化

    1.大多数情况,MySQL会将独立子查询转化为相关子查询,这样就影响了SQL执行效率。 如上,MySQL的优化器会...

  • Mysql高性能-是什么影响了数据库

    Mysql高性能笔记 影响数据库的因素 sql查询速度 服务器硬件 网卡流量 磁盘IO 超高的QPS(每秒查询速度...

  • 慢SQL优化

    前言 慢SQL会增加数据库压力,影响系统的访问速度及用户体验。 影响查询效率的因素 1、全表扫描。 2、无...

  • mysql使用索引提高查询效率

    mysql单表中数据量到达一定数量后,查询效率会变得很低,使用索引可以有效地提高mysql的查询效率.但是索引使用...

  • Mysql慢查询日志

    Mysql慢查询日志 数据库的慢查询是影响项目性能的一大因素,对于数据库我们要优化SQL,首先要找到需要优化的SQ...

  • 读书|《优化你的2小时》

    日更25/500 【为效率打基础】 ——我们的效率受诸多因素影响 2.1工作的影响因素 健康的饮食,比如...

  • MySQL查询缓存

    简介: mysql通过查询缓存优化来优化查询效率,当执行相同的一条sql时,mysql会将数据缓存起来以供下...

  • MySQL:查询字段数量多少对查询效率的影响

    水平有限如有误请指出 源码版本:5.7.22 这个问题是最近一个朋友问我的。刚好就好好看了一下,留下这样的记录。本...

  • 1亿条数据批量插入 MySQL,哪种方式最快?

    利用JAVA向Mysql插入一亿数量级数据—效率测评 这几天研究mysql优化中查询效率时,发现测试的数据太少(1...

网友评论

      本文标题:MySQL影响查询效率的因素

      本文链接:https://www.haomeiwen.com/subject/gtghqktx.html