SQL 百万级别记录优化之 -- 单引号带来的性能下降
2019独角兽企业重金招聘Python工程师标准>>>
update TIMAGEDATA_TD set MSISDNGROUPID=4 where IMSI >= 13600000000 and IMSI <= 13699999999; IMSI 是一个 char 类型的字段,但是存储的都是数值类型(历史问题)。。。
我们知道,oracle ,mysql 都是支持 字符型字段使用 数值的(也就是不加单引号) 查询条件
直接上结果: 优化之前:
这里可以看到,在字符型 char 使用 数值来作为条件查询的时候,查询时间是 24 秒以上,
这是明显有问题的,trace 之后结果如下:
发现,CPU使用量,等待时间,物理IO请求都是异常的大。
好吧,不在多说,这里就是一个经验的问题,把查询条件中的字符类型加上双引号,如下:
trace 结果如下:
总结: 算是一个比较普通的习惯问题,一般人如果有好的习惯也不会有这样的事情发生,
原理大概是不同类型的话,就需要对每个字段进行类型转换,那么原有的字段索引就不能使用了,
因为这个表是一个千万级别的大表,所以导致了全表扫描性能的下降是致命的。。
转载于:https://my.oschina.net/samuelzuuka/blog/733488
SQL 百万级别记录优化之 -- 单引号带来的性能下降相关推荐
- 【SQL实战经验一】:SQL语句中存在英文的单引号、双引号问题
SQL语句中存在英文的单引号.双引号问题 场景: 1.需要将 [O'MALL侨城商业中心]插入到Sqlite数据库中 update datatable set name_1 = 'O''MALL侨城商 ...
- Mysql中where条件一个单引号引发的性能损耗
日常写SQL中可能会有一些小细节忽略了导致整个sql的性能下降了好几倍甚至几十倍,几百倍.以下这个示例就是mysql语句中的一个单引号('')引发的性能耗损,我相信很多朋友都遇到过,甚至还在这样写. ...
- sql server 向mysql前移数据-单引号问题
sql server中的数据导出来 用两个单引号表示一个单引号,这样的格式可以录入到mysql中: 但是遇到特殊的中文字符,例如顿号等,不能正确的显示两个单引号: mysql导出来的数据用反斜线和一个 ...
- sql 不使用引号、使用单引号或双引号的区别
加引号和不加引号有什么区别? 表名和字段名,即使是中文也不用加单引号: 对于表格内的value值,要不要加单引号取决于这个字段设置的数据类型, 不加引号是数字类型,加了就是字符串或日期类型了 如果是 ...
- oracle中sql语句拼接单引号,oracle 单引号拼凑和动态sql
a.单引号问题(') 在oracle中4个单引号''''代表一个单引号'.在动态sql拼凑中我们经常需要拼凑单引号.比如: 变量 中带单引号:IV_DATE_FORMAT:=''''||'YYYYMM ...
- sql 百万级数据库优化方案
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而 ...
- Java数据库插入记录的语句-单引号-双引号values('username+'-'+password
数据库插入记录的语句,单引号,双引号values('"+username+"','"+password+ 我们来看这条语句 cmd.CommandText = " ...
- MySQL中 反引号、单引号 和 双引号 的区别
MySQL中反引号(``).单引号('')和双引号("")的区别 反引号(``) 即电脑 esc 正下方那个键,它是为了区分MySQL的保留字与普通字符而引入的符号.一般我们建表时 ...
- kylin如何支持flink_如何使用 JuiceFS 在云上优化 Kylin 4.0 的存储性能?
Apache Kylin 4.0 采用 Spark 作为构建引擎以及 Parquet 作为存储,让云上部署和伸缩变得更容易,然而使用云上的对象存储相较于使用本地磁盘的 HDFS,可能存在部分兼容性和性 ...
最新文章
- UI设计培训分享:UI设计师如何准备面试?
- cop2000计算机组成原理,COP2000计算机组成原理-南昌大学网络教学平台.doc
- Python 循环列表删除元素的注意事项
- Go进阶(6): uuid生成及其作用
- CentOS 7/8 安装 oniguruma 和 oniguruma-devel
- C#数组原来这么简单,你学废了吗?
- 系统性能衡量维度、指标
- [Ext JS 4] Extjs 图表 Legend(图例)的分行与分列显示
- Qt入门教程100篇(已完结)
- Hadoop MR 核心原理
- dell台式计算机恢复出厂设置,戴尔Win10电脑怎么恢复出厂设置?
- 【JS ES6】use strict 严格模式
- php 解析array,深度解析PHP数组函数array_slice
- 获取当前的格林尼治时间
- 反击!紫光集团怒斥赵伟国
- 基于51单片机及DS18B20温度传感器数码管显示程序
- 用html js制作迷宫,JavaScript生成随机迷宫详解
- 女朋友生日,我送她网页相册,她感动的哭了(文中有惊喜)
- 瑞吉外卖第五天(套餐的增删改和手机端登录功能的实现)
- 最生动的数据分析师技能图谱
热门文章
- 五个计算机软件,近五个交易日计算机软件概念股市复盘(4月19日)
- hdu4411 经典费用里建图
- 栈 - 关于出栈序列,判断合法的出栈序列
- 【错误记录】GitHub 网站和仓库无法访问 ( 域名重定向 | 检查 C:\Windows\System32\drivers\etc\hosts 配置文件中的 GitHub 地址域名配置 )
- 【C 语言】二级指针作为输入 ( 自定义二级指针内存 | 二级指针排序 | 通过 交换指针指向的内存数据 方式进行排序 )
- 【数据挖掘】数据挖掘总结 ( K-Means 聚类算法 | 二维数据的 K-Means 聚类 ) ★
- 【C++ 语言】C++字符串 ( string 类 | 创建方法 | 控制台输出 | 字符串操作 | 栈内存字符串对象 | string* )
- [Python 多线程] Semaphore、BounedeSemaphore (十二)
- 最常用的15大Eclipse开发快捷键技巧
- C++primer 10.6节练习