在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. 2020年全国信息安全标准化技术委员会大数据安全标准特别工作组全体会议即将召开...
  2. IT项目管理总结:第二章 项目管理和IT背景
  3. STM32开发 -- 信号强度CSQ
  4. SAP UI5 debug mode
  5. 06-BCD计数器设计与应用——小梅哥FPGA设计思想与验证方法视频教程配套文档
  6. 内核中根据inode得到文件名_聊聊DOS操作系统中的文件系统FAT12
  7. 有向图生成树是如何画的_漫画:什么是最小生成树?
  8. Mr.J--谈谈CSS和Html(font)
  9. Java多线程 ReentrantLock、Condition 实现生产者、消费者协作模式
  10. 游戏筑基开发之指针的练习掌握
  11. vue移动端下拉切换页面_详解vue移动端 下拉刷新
  12. 安全浏览器版本过低?该升级浏览器内核了
  13. 3000行代码之医院信息管理系统(内附MYSQL语句及背景图片)
  14. 初学者安装mysql5.7_CentOS7入门_安装并配置mysql5.7.18
  15. 个人公众号注销方法_微信公众号注销后可以再申请吗 公众号注销帐号方法介绍...
  16. 针对平层住宅的分布式无线组网方案(含万兆NAS)
  17. 计算机必须安装flash吗,如果计算机提示,如何安装Flash Player?
  18. dBm和Vpp以及Vpeak的关系
  19. 如何创建html文件
  20. Python win32clipboard 操作剪贴板中文字,图片,链接等信息

热门文章

  1. word中定义新编号格式时后面出现空白解决方法
  2. L1正则化和L2正则化的详细直观解释
  3. 石大师重装系统无限重启怎么办?
  4. 走向J2EE,漫长的道路
  5. 全国二级计算机等级考试科目,全国计算机等级考试二级的各个科目是什么
  6. centos6.5 ifconfig显示为eth1,但是配置文件只有eth0,且配置不生效
  7. macOS中SpaceVim搭建java开发环境
  8. 超详细新手建站方法说明(让你少走弯路)
  9. python中logger_Python实现Logger打印功能的方法详解
  10. 通配符模式 topic