位置: 编程技术 - 正文

MySQL数据库中把int转化varchar引发的慢查询(mysql中具体到删某一个数据)

编辑:rootadmin

推荐整理分享MySQL数据库中把int转化varchar引发的慢查询(mysql中具体到删某一个数据),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql数据放在哪里,mysql怎么把数据库导出来,mysql数据放在哪里,mysql数据库sid,mysql的数据,mysql的数据,mysql数据库内容,mysql数据库内容,内容如对您有帮助,希望把文章链接给更多的朋友!

最近一周接连处理了2个由于int向varchar转换无法使用索引,从而引发的慢查询。

从上面可以很明显的看到由于appkey是varchar,而在where条件中不加'',会引发全表查询,加了就可以用到索引,这扫描的行数可是天差地别,对于服务器的压力和响应时间自然也是天差地别的。

我们再看另外一个例子:

从上面的例子看,虽然poll_id的类型为bigint,但是SQL中添加了'',但是这个语句仍然用到了索引,虽然扫描行数也不少,但是能用到索引就是好SQL。

那么一个小小的''为什么会有这么大的影响呢?根本原因是因为MySQL在对文本类型和数字类型进行比较的时候会进行隐式的类型转换。

以下是5.5官方手册的说明:

MySQL数据库中把int转化varchar引发的慢查询(mysql中具体到删某一个数据)

根据以上的说明,当where条件之后的值的类型和表结构不一致的时候,MySQL会做隐式的类型转换,都将其转换为浮点数在比较。

对于第一种情况:

比如where string = 1;

需要将索引中的字符串转换成浮点数,但是由于'1',' 1','1a'都会比转化成1,故MySQL无法使用索引只能进行全表扫描,故造成了慢查询的产生。

同时需要注意一点,由于都会转换成浮点数进行比较,而浮点数只有bit,故当超过最大值的时候,比较会出现问题。

对于第二种情况:

由于索引建立在int的基础上,而将纯数字的字符串可以百分百转换成数字,故可以使用到索引,虽然也会进行一定的转换,消耗一定的资源,但是最终仍然使用了索引,不会产生慢查询。

以上所述是小编给大家介绍的MySQL数据库中把int转化varchar引发的慢查询 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

Mysql数据库中把varchar类型转化为int类型的方法 在上篇文章给大家讲了MySQL数据库中把int转化varchar引发的慢查询,本文给大家介绍Mysql数据库中把varchar类型转化为int类型的方法,一起看看吧!mysql为我

Mysql中varchar长度设置方法 如果某一项中设置的是varchar()那么对英文当然是那么对中文呢utf-8的中文占3个字节那么,这个varchar()是不是只能存个汉字了mysqlvarchar()不管中文还

MySQL动态修改varchar长度的方法 虽然这种情况不应该发生,通常像我们关系型数据库,我们应该是事先设计好,以后不能改动,但是由于之前工作的疏忽,其实说实话,也不仅仅是我

标签: mysql中具体到删某一个数据

本文链接地址:https://www.jiuchutong.com/biancheng/347896.html 转载请保留说明!

上一篇:MySQL中把varchar类型转为date类型方法详解(mysql varchar类型)

下一篇:Mysql数据库中把varchar类型转化为int类型的方法(MySQL数据库中把表中的一个字段重命名)

  • 企业税申报的三种方式
  • 应收往来会计是做什么工作的
  • 蔬菜开税票纳税吗
  • 劳务报酬增值税和个人所得税都要交吗
  • 有什么法规依据法律规定
  • 抽奖中的汽车需要交购置税吗
  • 个人股东之间股权转让的溢价账务处理
  • 增值税发票信息错误可以作废重开吗
  • 摊销制造费用如何结转做会计分录呢?
  • 公司股东变更麻烦吗?
  • 承兑贴现利息怎么入账
  • 房地产企业的收入信息披露范围进一步扩大
  • 税法递延纳税
  • 退休人员再任职个人所得税
  • 资产负债表和业务活动表勾稽关系不对怎么查
  • 待摊费用和长期待摊费用的区别
  • 抵扣联和发票联算一张发票吗
  • 基本户往一般户转账用途怎么写
  • 行政事业单位职工体检依据
  • 开办费摊销从什么时候开始
  • 在公司预支费用怎么写单据
  • 税务登记证遗失补办
  • skynetave.exe - skynetave是什么进程 有什么用
  • 不知道哟
  • php内容修改
  • 用盈余公积弥补以前年度亏损
  • 小规模纳税人实收资本印花税怎么算
  • 工程项目成本核算的依据主要有
  • 记账凭证错误用什么更正
  • 如何在vue项目中运行后端
  • [JavaScript你真的以为这么简单吗]JavaScript高级
  • 用python处理图像
  • input输入框非空验证
  • Vue中 provide、inject 详解及使用
  • 其他综合收益在利润表的哪个位置哪里
  • 教育咨询公司能开培训费发票吗
  • 外包员工食堂怎么做账
  • c语言中asin
  • mongodb bi
  • 收到缴纳个人所得税短信
  • sqlserver有实例吗
  • 咨询费放到什么科目
  • 销售货物物流运输丢失取得赔偿款需要缴纳企业所得税吗
  • 利息支出应计入什么科目
  • 带息票据贴现时,应将其贴现息直接计入
  • 工程进度开票如何入账
  • 银行承兑汇票怎么操作
  • 集团对子公司的管理办法
  • 红字更正法的使用范围是什么
  • 新办企业必须经过什么核准登记
  • sqlserver表结构如何导入到oracle
  • [视频回复]
  • xp开机延时启动程序
  • 从几个方面论述
  • stdin命令
  • win10重置此电脑保留我的文件
  • 如何手动修复模糊图片
  • 手机上的安全模式是什么
  • windows8触屏功能
  • win7系统本地连接图标不见了
  • win10查看电脑配置显卡
  • perl入门
  • jquery刷新局部页面
  • perl cgi
  • js中||的用法
  • nodejs基础教程
  • 每天自动重启命令
  • shell脚本创建多级目录
  • shell脚本监控进程
  • 获取标签的属性值的方式
  • node的理解
  • node exit
  • Python编程中的逻辑与控制
  • js画矩形
  • 专用发票如何导出
  • 实际金额与报关金额不符
  • 酒店行业区分小巨头企业
  • 贵州国家税务局陈开平
  • 上海市税务局的电话
  • 车船税为什么有时候不用交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设