zoukankan      html  css  js  c++  java
  • mysq优化二之索引最左前缀原理

    索引最左前缀原理

     示例:下面哪一条sql会走索引?

    下面是具体示例:

     

     插入的顺序和查询出来的数据顺序是不一样的,这里就涉及到底层的一些原理

    mysql是如何选择最优索引的

    插入数据时 page是怎么生成的呢? 

     插入第一行数据:

    插入第二行数据: 

     

     按照主键顺序插入

    插入第三条数据:

     目录项:

     

       

     

     联合索引

     

    根据bcd联合索引找到主键的值,然后拿着这个主键去主键索引中再找一次,我就可以定位到我要的数据

     

     

    下面的情况会不会走索引呢?

    上面的查询不会走索引。

    下面的情况会不会走索引呢?

    上面的查询会走索引。

    下面的情况是不会走索引的。

    但是下面的情况又会走索引了。

    如果不用select * 也会走索引的。

     虽然查找出来的记录是不完整的记录,但是这些记录已经包含了b字段,所以不需要再回表查询,直接返回b字段了。

    下面的情况也是可以走索引的。

     下面的情况会不会走索引?

     

     上面的情况走索引的话不需要排序,但是要回表;如果是全表扫描的话需要排序,但不需要回表

    我们对e字段创建索引

     下面的几种sql能走索引吗,1能 0不能

     

    abc会转为数字0,所以select 结果为1

     如果是数字的话会转为对应的数字,那么select就为0

  • 相关阅读:
    CF1480
    网络编程中常见地址结构与转换(IPv4/IPv6)
    inet_pton, inet_ntop
    mktime 夏令时
    C/C++中volatile关键字详解
    STL之vector容器详解
    Linux学习--gdb调试
    Linux编程基础——GDB(设置断点)
    FTP模式简式:PORT/PASV/EPRT/EPSV
    strchr和strstr 函数
  • 原文地址:https://www.cnblogs.com/ckh2014/p/15478847.html
Copyright © 2011-2022 走看看