位置: 编程技术 - 正文

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数据库中把表中的一个字段重命名)

  • 未开具的增值税专用发票怎么作废
  • 什么情况下税务会监管
  • 从租计征房产税怎么申报
  • 为改良生产线发生的变化
  • 库存现金期末余额
  • 单张发票金额有多少
  • 行政单位要考什么
  • 出租的城镇土地由谁交城镇土地使用税
  • 税务注销后还能稽查吗
  • 如何申请免税
  • 内部资金往来科目
  • 建筑施工安全费用专项检查报告怎么写
  • 暂估成本跨年后未收到票如何处理
  • 从外面买回来的菜怎么消毒
  • 公司长期应付账款怎么算
  • 给不是本单位的人开证明
  • 合作保证金可以退吗
  • 打印的电子发票需要盖章么
  • 开专票一定要公章吗
  • 不同的征税主体对同一纳税人
  • 查企业有记录吗
  • 公司注销的流程和费用
  • 文化事业建设费税率
  • 进口应付款融资
  • 发票的校验码被公章覆盖了怎么办
  • 制造业企业存货管理论文
  • 税局代开专票会计分录怎么写?
  • 商贸公司进项税额大
  • 债券分期还本利息怎么算
  • win7系统输入法切换快捷键
  • 会计如果做假账
  • 违约金需要缴纳企业所得税吗
  • framework7教程
  • 向客户收费
  • 稿酬所得收入额含税吗
  • 电子发票有哪些种类
  • 超像素和markpage的区别
  • 应收票据是借还是贷
  • 其他应付款的账户结构
  • 退税没有退的部分怎么做账
  • 织梦自适应模板怎么弄
  • 季度利息收入分录
  • 独资企业的税收政策
  • 认缴出资额就是营业执照上的注册资金
  • 固定资产计提折旧的会计科目
  • 怎么做掉公司账面库存100万
  • 夏天单位发防暑茶
  • 电梯安装费如何分摊
  • 收到的现金货款转到公户备注往来款可以吗
  • 多交的税款不退可以吗
  • 香港发票在内地认可吗
  • 没有销货清单的发票可以报销吗
  • 应收的货款
  • mysql随机选择
  • sqlserver 自动备份所有数据库的SQL
  • 师说词类活用
  • mac键盘怎么开
  • winxp如何设置自动关机
  • winxp和win7双系统
  • git 进阶
  • win10系统桌面怎么设置密码
  • w10 2021年更新
  • win8装机教程
  • wind10手机版
  • linux树形结构
  • 怎么删除listview条目
  • unity2019新功能
  • 常用dos命令详解
  • python中yield用法
  • vue怎么做兼容
  • nodejs的http
  • unity的invoke
  • 深入理解计算机系统
  • javascript快速入门
  • unity3d初学者教程视频
  • python中pyinstaller
  • 如何知道公司所有账户
  • 北京税务局待遇有住宿吗
  • 深圳国税电子税务局入口
  • 关于船舶吨税的最新法律规范
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设