首页 > 其他分享 >9月11日总结

9月11日总结

时间:2023-09-21 12:12:19浏览次数:32  
标签:11 总结 索引 start 全表 sql 失效 type

慢SQL原因分析之索引失效
现象

最近收到一个慢sql工单,慢sql大概是这样:“select xxx from tabel where type = 1”。

咦,type字段明明有索引啊,为啥是慢sql呢?
原因

通过执行explain,发现实际上数据库执行了全表扫描,从而被系统判定为慢sql。这时有一定开发经验的同事会说:“字段区分度不够,这种字段作单独索引是没有意义的”。那么为什么会产生索引失效这种情况呢?索引失效都有哪些情况呢?
索引失效概括

下面总结了若干索引失效的情况:
不满足最左匹配

假如表中有个组合索引,idx_start_org_code_start_province_id_trans_type,它的索引顺序如下:

start_org_code,

start_province_id,

trans_type

当我们从第二个索引字段开始查询时就不会走索引:

因为索引是BTree结构的,不能跳过第一个索引直接走第二个索引
索引列上有计算

当我们用主键做条件时,走索引了:

而当id列上面有计算,比如:

可以看到走了全表扫描
索引列上有函数

有时候我们在某条sql语句的查询条件中,需要使用函数,比如:截取某个字段的长度:

你有没有发现,在使用该函数之后,该sql语句竟然走了全表扫描,索引失效了
字段类型不同

在sql语句中因为字段类型不同,而导致索引失效的问题,很容易遇

标签:11,总结,索引,start,全表,sql,失效,type
From: https://www.cnblogs.com/lmyy/p/17719627.html

相关文章

  • 每日总结01
    刚开学的时候配置了虚拟机中的hadoop、zookeeper、hbase。在当时还可以使用,但是就在昨天居然不能用了,hadoop、zookeeper、hbase都可以正常使用,但是就是无法连接hbase,于是开始重新配置环境、重新配置虚拟机中的hadoop、zookeeper、hbase。具体出现什么问题不明确,怀疑是强制开关机导......
  • Oracle 数据库11g版本dataguard创建的简单方法
    作者:ArupNanda DataGuard了解ActiveDataGuard如何通过实时查询,同时应用归档的的日志、将物理备用数据库转换为快照备用数据库以及对基础架构的一系列改进措施,让您对备份环境的投资物有所值。下载Oracle数据库11gOracle数据库11g对DataGuard功能进行了多方面的增强,......
  • 线程间共享数据-各种锁(总结)
    std::mutex#include<mutex>#include<list>std::mutexsome_mutex;std::list<int>mylist;voidfunc(intvalue){some_mutex.lock();//加锁mylist.push_back(value);some_mutex.unlock();//解锁}std::lock_guard......
  • 数组变异方法和非变异方法的总结
    区别:1.操作数组的方法中,分为变异方法和非变异方法。2.其中,变异方法意味着会改变原数组,而非变异方法则只会返回一个新数组,不会修改原始数组数组变异方法:push()//数组尾部追加一个元素pop()//数组尾部弹出一个元素shift()//数组头部弹出一个元素unshift()//数组头部插入一个......
  • Redis漏洞总结--未授权--沙箱绕过--(CNVD-2015-07557)&&(CNVD-2019-21763)&&(CVE-2022
    Redis未授权--沙箱绕过--(CNVD-2015-07557)&&(CNVD-2019-21763)&&(CVE-2022-0543)环境复现采用Vulfocus靶场进行环境复现,官网docker搭建有问题,具体搭建教程参考vulfocus不能同步的解决方法/vulfocus同步失败CNVD-2015-07557未授权访问影响版本Redis<=5.0.5漏洞探测使用端......
  • 每日总结
    今日收获学会了有关hive的数据清洗;也算是重温了有关hive的相关知识;背了单词!!做了几道软考的题目,嗯,选择题好难;明天预计继续我的背单词旅程;继续学习hive的相关知识去!软考难,还是得学!!和友友一起报名了程序设计大赛,加油加油!!!还报名了英语六级、软考、网络安全知识竞赛...好忙......
  • 今日总结
    今天学习了hadoop伪分布式3.2伪分布式运行模式3.2.1启动HDFS并运行MapReduce程序配置集群,修改Hadoop的配置文件(/hadoop/hadoop-2.7.7/etc/hadoop目录下)①core-site.xml<configuration><!--指定HDFS中NameNode的地址--><property><name>fs.defaultFS</name>......
  • 每日总结
    今天又测试了一下hbase的安装hbase的启动没有任何问题但是phoenix的安装还是不行,已经按照步骤一步步的安装但是每次到启动的前一句就会卡住着了各种各样的解决方法还是不行,有同学问题和我一样但是用他的就能成功但是我的就不行,莫名其妙哦。然后今天复习了软考的基础知识,将前面......
  • 2023.9.20——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午上课,下午做任务。我了解到的知识点:1.了解了关于模型训练的一些知识和注意事项;2.了解了关于软件构造的一些知识,明日计划:1.上课;2.比赛;......
  • 每日总结(侧边栏初步设置)
     1<template>2<!--菜单栏-->3<!--default-openeds参数为默认展开:default-openeds="['1','2']"-->4<el-menu:default-openeds="['']"5style="min-height:100......