首页 > 数据库 >MySQL---索引优化与查询优化

MySQL---索引优化与查询优化

时间:2023-07-10 16:12:04浏览次数:52  
标签:类型转换 SQL MySQL --- 索引 联合 使用 失效 优化

 

  

  

索引失效案例

  

全值匹配我最爱

  

    当where条件的所有字段 都有 索引完全匹配时,效率最高

最左前缀规则(联合索引)

  

    联合索引,在检索数据时从联合索引的最左侧开始匹配

  

主键插入顺序

  

  

计算/函数/类型转换(自动或手动) 导致索引失效

  

 

  

    第1个SQL,要先进行计算,不会使用到索引

    第2个SQL,等值匹配,使用索引

类型转换(自动或手动) 导致索引失效

  

    name为varchar类型,第1个SQL会先将name进行类型转换,不会使用索引

范围条件右边的列索引失效(联合索引)

    <, <=, >, >=, between...

    联合索引的 范围条件字段 右侧字段 索引失效

  

    由于where的classId是范围条件,仅使用 联合索引的 age+classId(key_len = 10)

不等于(!=或<>)索引失效

  

    均索引失效

is null使用索引、is not null无法使用索引

  

  

like以%开头索引失效

  

    第1个使用索引、第2个不使用索引

  

or前后存在非索引列,索引失效

  

数据库和表的 字符集 统一使用utf8mb4

  

 

  

 

 

 

 

 

 

 

 

 

  

 

标签:类型转换,SQL,MySQL,---,索引,联合,使用,失效,优化
From: https://www.cnblogs.com/anpeiyong/p/17541454.html

相关文章

  • Element el-form 根据选择条件动态控制表单必填项
    Html:<el-form-itemlabel="审核意见"prop="remark":rules="recordForm.status=='10'?rules.remark:[{required:false}]"><el-inputtype="textarea"v-model="recordForm.remark">......
  • 初写博客--Markdown基础
    Markdown基础学习听说写博客对学习计算机的人很重要,于是在自学Java之前,我先跟着”遇见狂神说“学了一些简单的写博客的基础……一、标题一级标题对应一个#,二级标题对应两个#,依此类推…… 二、字体斜体左右各一个*粗体左右各一个**斜体加粗左右各一个*** 三、引用(......
  • Oracle-ORA 123537 TNS 连接关闭
    主要是Oracle监听问题,一般情况下:1.检查监听状态是否正常2.检查监听配置文件tnsnames.ora是否正确3.检查listener.log文件大小是否超过限值当以上都检查过后,发现仍然不能正常连接时,发现是PL/SQL中的连接配置,将端口号默认为1521导致。监听状态中,端口号是1528。修改后,连接......
  • [CF407E] k-d-sequence
    [CF407E]k-d-sequence复健不会写代码。首先找充要条件,如一个子串\(a_l,a_{l+1}...a_r\)合法,则首先这些数互不重复,其次这些数对\(d\)取模相同,最重要的是\[\dfrac{\max{a}-\min{a}}{d}-(r-l)\lek\]左边表示最终形成的等差数列中的数的个数,\(r-l\)表示已经存在的......
  • MySQL同步ES实战,肝到爆!
    技术是什么?就是拿来玩的,边玩边学,才能成长得更快。之前已经给大家讲解了MySQL同步ES的几种方案,下面就教大家如何通过Canal,将MySQL同步到ES,文章内容绝对妥妥干货!本文会先讲解需要用到的基础知识,然后再是软件安装,最后就是实战部分。不说,上文章目录: 01基础知识1.1......
  • 07-控制结构
    程序流程控制介绍在程序中,程序运行的流程控制决定程序是如何运行的。主要有三大流程控制语句:顺序控制、分支控制和循环控制。1.顺序控制程序从上到下,逐行地执行,中间没有任何判断和跳转。2.分支控制(if,else,switch)分支控制if-else让程序有选择的执行,分支控制有三种:......
  • GBU808-ASEMI薄体整流桥GBU808
    编辑:llGBU808-ASEMI薄体整流桥GBU808型号:GBU808品牌:ASEMI芯片个数:4封装:GBU-4恢复时间:≥2000ns工作温度:-50°C~150°C浪涌电流:200A正向电流:8A反向耐压:800V正向压降:1.05V引脚数量:4漏电流:>10uaGBU808特性:ASEMI品牌GBU808是采用工艺芯片,该芯片具有良好的稳定性及抗冲击......
  • 007 学习笔记--约束 + 多表查询
    约束:是作用于表中字段上的规则,用于限制存储在标中的数据;其目的,是保证数据库中的数据的正确、有效和完整性;约束分类:--约束createtableifnotexistsusers( idintPRIMARYkeyauto_incrementCOMMENT'主键', nameVARCHAR(100)notnulluniqueCOMMENT'姓名',--......
  • CMU15-445Project_2021Fall
    本文为CMU15-445(2021Fall)的lab记录。推荐博客:https://blog.csdn.net/twentyonepilots/article/details/120868216,逻辑写得比较清楚CMU-15445官方网页https://15445.courses.cs.cmu.edu/fall2021/assignments.htmlProject#1-BufferPoolTASK#1-LRU剔除策略可以先......
  • CF1601F Two Sorts 题解--zhengjun
    link这里提供一种不用meetinmiddle的方法,速度比较可观。发现性质开始简单的推一下式子。\(\sum(i-a_i)\bmodp=\sum(rk_i-i-p\times\lfloor\frac{rk_i-i}{p}\rfloor)=-p\times\sum\lfloor\frac{rk_i-i}{p}\rfloor,p=998244353\)于是,只需求出\(\sum\lfloor\frac{rk_i-......