zoukankan      html  css  js  c++  java
  • 索引

     聚集索引和非聚集索引,常规了,看下面的两张图

         

    1)聚集索引叶子节点就是实际数据(数据页),索引指向的是数据页,索引页每一行记录了数据页和聚集索引字段在该数据页的范围

    若where 后面的字段不包含创建聚集索引时的第一个字段,并且包含在创建聚集索引时的字段列中,进行索引扫描

    若where 后面要查找的字段是建立聚集索引时的第一个字段,或者就是创建聚集索引时的字段列,进行索引查找

    否则全表扫描

    2)非聚集索引叶子还是索引,每索引行都有索引列的值和数据行地址,有多少数据行就有多少索引行

    若where 后面要查找的字段不是建立非聚集索引时的第一个字段,并且包含在创建非聚集索引时的字段列中,这个字段已经保存在非聚集索引的索引页里了,进行索引扫描

    若where 后面要查找的字段是建立非聚集索引时的第一个字段,或者就是创建非聚集索引时的字段列,进行索引查找

    否则全表扫描

    动作描述 使用聚集索引 使用非聚集索引
    列经常被分组排序
    返回某范围内的数据 不应
    一个或极少不同值 不应 不应
    小数目的不同值 不应
    大数目的不同值 不应
    频繁更新的列 不应
    外键列
    主键列
    频繁修改索引列 不应

    参考文章:

    1. SQLSERVER聚集索引与非聚集索引的再次研究(上)

    2. Oracle B-tree 索引结构、如何存储及其优势

  • 相关阅读:
    Redis_配置文件
    Redis_数据使用
    QQ登录测试用例
    JMeter性能测试入门--偏重工具的使用
    浅说《测试用例》
    axure界面功能
    性能测试相关术语
    测试用例设计和测试环境搭建
    测试需求分析
    软件测试的过程
  • 原文地址:https://www.cnblogs.com/yhzh/p/5241991.html
Copyright © 2011-2022 走看看