zoukankan      html  css  js  c++  java
  • 数据库的索引

    一、唯一索引
    1. 索引列(字段)的所有值都只能出现一次,即必须唯一

    二、主键索引与唯一索引的区别

    1. 主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。

    2. 主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。

    3. 唯一性索引列允许空值,而主键列不允许为空值。

    4. 主键列在创建时,已经默认为空值 + 唯一索引了。

    5. 一个表最多只能创建一个主键,但可以创建多个唯一索引。

    6. 主键更适合那些不容易更改的唯一标识,如自动递增列、身份证号等。

    7. 主键可以被其他表引用为外键,而唯一索引不能。

    三、复合索引
         1. 用户可以在多个列上建立索引,这种索引叫做复合索引(联合索引),就是几个字段联合在一起组成一个索引。

        2. 复合索引的创建方法与创建单一索引的方法完全一样。
    
        3. 复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引。
    

    4. 当表的行数远远大于索引键的数目时,使用这种方式可以明显加快表的查询速度。

    四、复合索引有以下几个(abc) (ab) (ac) (bc) (a) (b) (c),哪个符合

    1. 复合索引又叫联合索引。

    2. (a) (ab) (abc)可以

    3. 对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分,该行为被称为最左原则。

    4. 例如索引是key index (a,b,c)。可以支持(a)(ab)(abc)3种组合进行查找,但不支持(bc)进行查找 ,当最左侧字段是常量引用时,索引就十分有效。

  • 相关阅读:
    Go安装
    Redis 安装与使用
    scala总结
    C++学习笔记4
    LeetCode 22.将数组分成和相等的三个部分
    LeetCode 21.二叉树的直径 DFS深度遍历
    LeetCode 20.买卖股票的最佳时机 暴力破解法与动态规划
    LeetCode 19.凑零钱问题 动态规划
    LeetCode 18.队列的最大值
    Java SSM Spring MVC 三层架构和MVC+SpringMVC的入门案例+请求参数的绑定+常用的注解
  • 原文地址:https://www.cnblogs.com/Treasuremy/p/10256859.html
Copyright © 2011-2022 走看看