首页 > 编程知识 正文

实体完整性检查和违约处B 树索引介绍

时间:2023-05-05 22:45:51 阅读:195743 作者:4235

实体完整性规则自动进行检查包括:

  1.检查主码值是否唯一,如果不唯一则拒绝插入或修改。

  2.检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改。

检查记录中主码值是否唯一的一种方法是进行全表扫描,全表扫描是十分耗时的,为了避免对基本表进行全表扫描,关系数据库管理系统一般都在主码上自动建立一个索引。例如B+树索引,通过索引查找基本表中是否存在新的主码值将大大提高效率。

 

所有的数据都在叶子节点,且每一个叶子节点都带有指向下一个节点的指针,形成了一个有序的链表。为什么要有序呢?其实是为了范围查询。比如说select * from Table where id > 1 and id < 100; 当找到1后,只需顺着节点和指针顺序遍历就可以一次性访问到所有数据节点,极大提到了区间查询效率。是不是范围查询的话hash就搞不定这个事情了?以下为B+树的优势:

单一节点存储更多元素,减少IO所有查询都要找到叶子节点,查询稳定所有叶子节点形成有序链表,方便范围查询

  一般性情况,数据库的B+树的高度一般在2~4层,这就是说找到某一键值的行记录最多需要2到4次逻辑IO,相当于0.02到0.04s。

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。