在mysql查询中,当查询条件左右两侧类型不匹配的时候会发生隐式转换,可能导致查询无法使用索引,下面分析两种隐式转换的情况看表结构phone为int类型,name为varchar类型

EXPLAIN select * from user where phone   = '2'

EXPLAIN select * from user where phone   = 2

两种情况都可以用到索引,这次等号右侧是'2',注意带单引号哟,左侧的索引字段是int类型,因此也会发生隐式转换,但因为int类型的数字只有2能转化为'2',是唯一确定的。所以虽然需要隐式转换,但不影响使用索引,不会导致慢查询

EXPLAIN select * from user where name= '2'

这种情况也能使用索引,因为他们本身就是varchar 类型

EXPLAIN select * from user where name= 2

因为等号两侧类型不一致,因此会发生隐式转换,cast(index_filed as signed),然后和2进行比较。因为'2','   2','2a'都会转化成2,故MySQL无法使用索引只能进行全表扫描,造成了慢查询的产生。

mysql 关闭隐式转换_Mysql中的隐式转换相关推荐

  1. mysql日期隐式转换_mysql中的隐式转换

    什么隐式类型转换? 在MySQL中: 当操作符与不同类型的操作数一起使用时,会发生类型转换以使操作数兼容.则会发生转换隐式 也就是说,MySQL会根据需要自动将数字转换为字符串,将字符串转换数字.看到 ...

  2. mysql日期转换成数字在线转换_MySQL中时间--gt;数字转换和IP地址--gt;数字转换(转) - - ITeye博客...

    本文转载自:   http://wangwei.cao.blog.163.com/blog/static/1023625262010063402377/ 后台有很字段都是采用时间戳的形式,二者如何转换 ...

  3. mysql创建临时表 主键_MySQL中临时表的基本创建与使用教程

    当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后在这些表运行查询. ...

  4. java 多态 显式隐式,Java 构造器中的显式参数和this隐式参数

    1.构造器 写一个Java类,首先要先从构造器开始,构造器与类同名,在构造类的对象时会先从构造器开始. 构造器总是伴随着new操作符的执行而被调用. 构造器主要是用来初始化类的实例域. 构造器的特点: ...

  5. mysql gbk编码 字节数_MySql中UTF8和GBK编码中文字符长度问题

    2.设计函数,输入为一个字符串,里边包含中文.英文.数字等字符,编码为GBK.中文字符的编码规则假定为:双字节组成,高字节大于0x80,低字节任意.     a) 用常用语言(c/c++/php/ja ...

  6. mysql排他锁怎么用_MySQL 中的共享锁和排他锁的用法

    在 MySQL 中的行级锁.表级锁和页级锁中,咱们介绍过,行级锁是 MySQL 中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突.行级锁分为共享锁和排他锁两种,本文将详细介绍共享锁和排他锁的概 ...

  7. mysql去除select换行符_MySQL中去除字段中的回车符和换行符

    问题: 在使用[ load data infile 'D:/node.txt' into table node fields terminated by '\t'; ]语句批量导入如下图所示的aaa. ...

  8. mysql的explain怎么看_mysql中explain用法详解

    如果在select语句前放上关键词explain,mysql将解释它如何处理select,提供有关表如何联接和联接的次序. explain的每个输出行提供一个表的相关信息,并且每个行包括下面的列: 1 ...

  9. mysql 子查询怎么写_MySQL中两种子查询的写法

    MySQL的测试环境 测试表如下 create table test_table2 ( id int auto_increment primary key, pay_id int, pay_time ...

最新文章

  1. Thttpd manual
  2. Android系统从驱动到上层服务再到应用的两种服务架构方式
  3. 通过一个具体的例子学习Threadlocal Test
  4. Hinton神经网络公开课10 Combining multiple neural networks to improve generalization
  5. 人声处理_人声美化:人声后期处理方法
  6. airplay2协议是什么_什么是AirPlay?
  7. Python数据分析教程:Numpy 中不得不知的4个重要函数
  8. 小别墅样式_6款三层小别墅样式,各风格特色图纸为农村自建量身打造
  9. python基础30个常用代码-30 个Python代码实现的常用功能,精心整理版
  10. Android 开发工具一键下载
  11. 【javaEE】——计算机基础知识(进程的理解和通信)01
  12. 计算机组成原理罗克露课后答案,计算机组成原理[完整版](罗克露)(全)原版教案.ppt...
  13. 大师级思考者是怎么探索事物本质的?
  14. 作为一个大学才开始入门学计算机编程的孩子想要的东西-----听我扯,你蛋疼,他菊紧,我开心...
  15. 《奇迹的超级速读法》一书中集中注意力的训练方法
  16. 小学计算机考核,小学信息技术学科考核评价方案.docx
  17. matlab 阿伦方差,GitHub - XinLiGH/GyroAllan: 陀螺仪随机误差的 Allan 方差分析
  18. 如何做好性能压测(一):压测环境的设计和搭建
  19. 火车票改签退票规则,儿童票规则
  20. 数据库-视图(View)详解

热门文章

  1. 学习笔记(01):无人驾驶--从零入门实战视频教程-光学雷达在无人驾驶技术中应用...
  2. 华光汉标字心坊字趣美字社
  3. 解决Android Studio倒入项目或者打开项目卡死
  4. redis介绍及安装详解
  5. ffmpeg处理rtmp直播流(截图、收录)
  6. 腾讯云公网负载均衡技术实现详解
  7. 第 3 节 JavaScript高阶函数的使用、v-model、组件化
  8. Linux系统查看CPU使用率、内存使用率、磁盘使用率
  9. 计算机教师证考什么内容,教师证考信息技术难吗 考什么内容
  10. java的logger_java.util.logging.Logger 使用详解