位置: 编程技术 - 正文

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

发布时间:2024-02-26

推荐整理分享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数据库中把表中的一个字段重命名)

  • 企业收到购买标书的增值税专用发票可以抵扣吗?
  • 个税返还手续费增值税申报填在哪里
  • 其他应收款是负数怎么报税
  • 公对公打款开票
  • 委托加工发出材料成本会计分录
  • 汽车购买者
  • 税务局财务报表报送期限
  • 去年的增值税普票能作废吗?
  • 年终零余额账户有余额
  • 周转材料调拨调入单位如何做账
  • 增值税普通发票几个点
  • 企业员工用自己手机发送工作
  • 印花税销售分录
  • 体现公司财务状况的报表
  • 跨市工程预交的税怎么算
  • 发票上开的购物卡,入帐时怎么写摘要?
  • 银行理财产品属于基金吗
  • 未抵扣进项税额可以退税吗
  • 对外支付代扣代缴增值税如何申报
  • 成本核算的原则和要求
  • 英雄联盟中该如何加好友
  • 私立幼儿园收费归哪个部门管
  • 2020快手怎么删除
  • 所得税和应交所得税
  • Uniapp 使用mocjk
  • php $_files
  • 库存现金清查主要包括哪些内容
  • 自费出版的书籍可以售卖吗
  • 酒店会计科目及账务处理视频
  • 银行存款日记账对方科目写什么
  • 投资性房地产如何计提折旧
  • framework3.5怎么打开
  • php 抽象类
  • 固定资产清理主要核算什么
  • mkdir命令怎么用
  • kill命令机制
  • php自加
  • 资产证券化会计处理案例
  • 暂估入库后发票来不了
  • 应交增值税科目设置及账务处理
  • 帝国cms功能
  • python的基本风格
  • 一般纳税人和小规模纳税人怎么界定
  • 中间人拿回扣是什么行为
  • SQL SERVER 2000通讯管道后复用劫持
  • 事业单位小规模纳税人增值税账务处理
  • 公司过账的款项怎么入账
  • 出口货款收不回怎么办
  • 异地施工怎么交税
  • 长期借款利息计入应付利息吗
  • 不交社保如何在网上投诉
  • 现金日记账年结需要另起一页吗
  • 记账凭证应该是
  • 购买机器的会计分录
  • 运杂费扣除增值税进项税额
  • 工程款项目的发包人是谁
  • 发票报销可以跨月报销吗
  • 抵扣认证的发票需要还回去吗
  • 应付票据在资产负债表怎么填列
  • 年度采购总额在哪个报表
  • sql常用语句大全 实例
  • sql服务在哪
  • win7右键管理工具
  • Win10预览版怎么变回正式版
  • win10周年更新版是什么意思
  • win7系统打印机共享给win10
  • win10系统admin和oobe
  • 环境篇作文
  • 路径可分为
  • javascript对象的种类
  • jquery的实现原理
  • shell脚本ping
  • jq获取url
  • 在文件中偏移量为
  • Django1.7+python 2.78+pycharm配置mysql数据库
  • js函数的声明方式
  • python的入门教程
  • js读取文件大小
  • 河北省税务局稽查局领导班子
  • 国税申报时间2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号