• MySQL访问方法


    访问方法

    const

    一般认为通过主键或者唯一二级索引列来定位一条记录的访问方法定义为:const。const表示常数级别,代价是可以忽略不计的。

    不过这种 const 访问方法只能在主键列或者唯一二级索引列和一个常数进行等值比较时才 有效,如果主键或者唯一二级索引是由多个列构成的话,索引中的每一个列都需要与常数进行等值比较,这个 const 访问方法才有效(这是因为只有该索引中全部列都采用等值比较才可以定位唯一的一条记录)。

    执行过程:

    聚簇索引(主键索引)

    唯一二级索引:

    ref

    一般把搜索条件为二级索引列与常数等值比较,采用二级索引来执行查询的访问方法叫:ref

    • 当二级索引列值为null的情况:

      不论是普通的二级索引,还是唯一二级索引,它们的索引列对包含 NULL 值的数量并不限制,所以我们采用 key IS NULL 这种形式的搜索条件最多只能使用 ref 的访问方法,而不是 const 的访问方法。

    • 对于某个包含多个索引列的二级索引来说,只要是最左边的连续索引列是与常数的等值比较就可能采用 ref 的访问方法,比方说下边这几个查询:

    1.  SELECT * FROM single_table WHERE key_part1 = 'god like';
    2.  SELECT * FROM single_table WHERE key_part1 = 'god like' AND key_part2 = 'legendary';
    3.  SELECT * FROM single_table WHERE key_part1 = 'god like' AND key_part2 = 'legendary' AND key_part3 = 'penta kill';

    但是如果最左边的连续索引列并不全部是等值比较的话,它的访问方法就不能称为 ref 了,比方说这样:

     
     SELECT * FROM single_table WHERE key_part1 = 'god like' AND key_part2 > 'legendary';

    执行过程:

    ref_or_null

    当使用二级索引而不是全表扫描的方式执行该查询时,这种类型的查询使用的访问方法就称为 ref_or_null

    range

    一般把利用索引进行范围匹配的访问方法称为:range。这里所说的索引可以是聚簇索引也可以是二级索引。

    index

    一般认为采用遍历二级索引记录的访问方式称为:index。

    all

    一般认为使用全表扫描执行查询的访问方式称之为: all 。

  • 相关阅读:
    Cadence Allegro 通过全局视窗局部放大板卡的方法
    中小团队要怎样搭建架构?腾讯大佬来教你,直接跟着大佬吃经验!
    Nginx介绍,nginx高级应用,nginx虚拟主机配置
    00.为什么从零开始----企业基础信息化管理平台
    如何优雅的实现 iframe 多层级嵌套通讯
    编码遗产:解锁祖传代码的秘密与智慧
    自定义注解
    Redis 5 种基础数据结构?
    2022年湖北省制造业单项冠军奖励标准以及申报条件,企业(产品)培育认定
    用神经网络表示与逻辑,神经网络实现逻辑运算
  • 原文地址:https://blog.csdn.net/qq_53916344/article/details/125428232