标签:访问 单列 外键 创建索引 索引类型 相同 inno 使用 完整
什么是索引?
用于提高数据库访问速度的数据库对象
索引类型?
聚集索引:一个表中只有一个聚集索引,主键的存储位置与物理顺序相同,叶子节点获取全部列数据。
非聚集索引:索引逻辑顺序与物理顺序不同,可以有多个非聚集索引。=> 因此非聚集索引的叶子节点是索引节点,指针指向对应的数据块,若列中包含其他索引没有覆盖的列,就需要二次查找。=> 这种时候可以选用建立多列索引。
图:非聚集索引
索引的类型:
a) 普通索引
b) 唯一索引:唯一,允许空值
c) 主键索引:唯一,不允许空值
d) 组合索引:多个字段上创建索引,查询条件中需使用创建的字段要符合最左前缀
e) 全文索引fulltext:搜索引擎,用来查找文本中的关键字。非结构化数据中的一部分信息重新提取、组织。
什么时候建立索引?
在经常需要搜索的列上、主键、连接的列、且是唯一性字段的列等上创建索引
能添加多少索引?
聚集索引:1个
非聚集索引:多个,SQL SERVER 254。
MYSQL创建索引的命令
普通索引 INDEX() 单列索引 INDEX [name]()
唯一索引 UNIQUE INDEX [name]()
多列索引 INDEX [name](col1, col2…)
全文索引 FULLTEXT INDEX
MYISAM支持空间索引SPATIAL INDEX
MYISAM VS INNODB
MYISAM 表级锁,索引和文件分离,缺乏事务支持
INNODB 行级锁,索引和文件一体,支持事务与外键
两个引擎各自的索引实现
MYISAM:叶子节点存放地址。
INNODB:叶子节点保存完整的数据。必须要有主键(不同点)。辅助索引存储的是主键值,因此辅助索引需要检索两次 => 1. 获取主键 2. 检索主键
标签:访问 单列 外键 创建索引 索引类型 相同 inno 使用 完整
原文地址:https://www.cnblogs.com/GW977/p/10703900.html