关于msyql字符串不加引号会造成索引失效,全表扫描

一、最近在正式库进行数据查询时,由于表数据量很大,且开发人员没有开放杀掉进程的权限,造成一直查询不出结果,影响用户使用。

场景如下:

1、数据库某个字段

project_id_    varchar    40    0    -1    0    0    0    0        0    项目ID    utf8    utf8_general_ci        0    0
此字段是varchar类型,创建了索引。

当需使用IN查询的时候,发现建立的索引,但key为空(即未走索引),仍然要在3千多万数据里面取检索,这不是瞎搞嘛,要把数据库弄崩的节奏。

2、而实际这个单表才3千多万(是全表数据,由于数据在新增的)

3、加了单引号后,立马走了索引,数据量立马降到1百多万。

总结:mysql数据库某个字段建立了索引,如果是字符串类型,一定要加引号,细节起来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用\[1\]提供了一些MySQL索引失效的情况,包括以下几种情况: 1. 如果左边的值未确定,无法使用索引。例如,使用LIKE查询时,如果以%开头,索引失效;如果以%结尾,索引有效。 2. 当or语句的左右查询字段只有一个是索引时,该索引失效。只有当or左右查询字段均为索引时,才生效。 3. 如果列类型是字符串,在条件中必须将数据使用引号引用起来,否则不使用索引。 4. 在索引列上使用NOT IS NULL,索引失效。 5. 在索引字段上使用"not","!=","<>"等操作符,索引失效。 6. 对索引字段进行计算操作或使用函数,索引失效。 7. 当全表扫描速度比索引速度快时,MySQL使用全表扫描,此时索引失效。但是如果LIKE查询以%开头,索引失效;但如果LIKE的后缀有%号时,索引是生效的。 引用\[2\]提到了索引列被过度使用可能导致索引失效。当表上有太多的索引时,在更新表时可能导致索引失效。因此,确保表上只有必要的索引。 引用\[3\]中提到了一些其他情况,如不等于(!=或者<>)导致索引失效,is null可以使用索引,is not null无法使用索引,like以通配符%开头索引失效,OR前后只要存在非索引的列,都导致索引失效。 综上所述,MySQL确定索引失效的方法包括分析查询语句和表结构,检查是否满足索引使用的条件,并确保表上只有必要的索引。 #### 引用[.reference_title] - *1* [什么情况下MySQL索引失效?](https://blog.csdn.net/weixin_43526092/article/details/129519753)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【索引失效如何排查】](https://blog.csdn.net/qq_43116031/article/details/129762529)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [mysql索引失效的常见9种原因详解](https://blog.csdn.net/qq_63815371/article/details/124337932)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值