数据库索引

什么是索引?

用于提高数据库访问速度的数据库对象

索引类型?

聚集索引:一个表中只有一个聚集索引,主键的存储位置与物理顺序相同,叶子节点获取全部列数据。

非聚集索引:索引逻辑顺序与物理顺序不同,可以有多个非聚集索引。=> 因此非聚集索引的叶子节点是索引节点,指针指向对应的数据块,若列中包含其他索引没有覆盖的列,就需要二次查找。=> 这种时候可以选用建立多列索引。

图:非聚集索引

索引的类型:

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. 检索主键

 

转载于:https://www.cnblogs.com/GW977/p/10703900.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值