• 数据库索引


    主索引:能唯一标识一条记录,只能由一个字段组成,一个表只能建立一个主索引

    候选索引:能唯一标识一条记录,但不一定只有一个字段组成,一个表可建立多个

    普通索引:无限制,可任意建立,不能标识唯一激励,目的只是为了加快查询速度

    唯一索引:和普通索引相似,但索引列的值必须唯一,但允许有空值

    单列索引:即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。

    组合索引:即一个索包含多个列。

    搜索码:用于在本间中查找记录的属性或属性集

    稠密索引:文件中的每个搜索码都有一个索引项

    稀疏索引:只为搜索码某些值建立索引项

    聚集索引:在innoDB中 聚集索引只有一个 即主键索引,非叶子节点存储主键 叶子节点存储这条记录的所有信息。
    非聚集索引:即普通索引,非叶子节点存储设置索引字段的值,叶子节点存储当前记录对应的主键ID。
    回表:通过非主键索引进行查询,select所要获取的字段不能通过非主键索引获取到,需要通过非主键索引获取到的主键,从聚集索引再次查询一遍,获取到所要查询的记录,这个查询的过程就是回表。 所以我们查询的字段 如果有联合索引的话.比如 select id, A,B where A = "a" and B="b"。表中有联合索引(A,B) 叶子节点也会存储id,就不需要回表。但是如果select A,B,C 因为C不在联合索引上,所以只能先查询到id 再回表 通过主键索引去查询。

    使用B树或者B+树实现索引的原因:

      B树出度大,高度小,读取的少,快

     索引失效的情况

    1.like" %__" 百分号在前

    2 引用复合索引里非第一位置的索引列

    3.字符型字段为数字时,where条件里不加引号

    4对索引列进行计算,建立函数索引

    5 对索引字段判断是否为null或者某个值

  • 相关阅读:
    HUST 1584 摆放餐桌
    HUST 1585 排队
    HUST 1583 长度单位
    树状数组 poj2352 Stars
    Visual Studio2013应用笔记---WinForm事件中的Object sender和EventArgs e参数
    倒置输入的数 Exercise07_02
    指定等级 Exercise07_01
    检测密码 Exercise06_18
    一年的天数 Exercise06_16
    数列求和 Exercise06_13
  • 原文地址:https://www.cnblogs.com/team42/p/7016943.html
Copyright © 2020-2023  润新知