来讨论下数据库的索引

据说数据库有聚集索引和非聚集索引两种,
但是网上一查 发现一些比较微妙的地方:
1. 索引类型:居然分类 唯一索引,非唯一索引,主键索引,聚集索引,位图索引。
问题就在这里 那非聚集索引呢?难道非聚集索引是一个大类, 唯一索引,非唯一索引,主键索引,位图索引 这4个是归类到着大类中 然后再和聚集索引相提并论然后讨论区别的?

2. 网上说 非聚集索引的查询 最终还是要走 聚集索引的查询路线。
问题是 既然这样 如果聚集索引要是定义用重复值在 非主键上,那最好查询结果是啥样子的???
全部评论
索引从类型分为:普通索引,唯一索引,主键索引,全文索引 从结构上基本可分为btree索引和哈希索引。其中btree索引用的是b+tree结构。建议您看看高性能mysql一书就知道了,聚簇索引,覆盖索引都只是索引的一种高性能策略
点赞 回复 分享
发布于 2017-10-01 15:24
前面三个根据数据库逻辑方面的差别划分 聚集索引和非聚集索引根据物理存储的差别划分 位图索引和b树索引哈希索引之类的根据索引使用的数据结构不同划分
点赞 回复 分享
发布于 2017-10-01 14:07
聚簇索引不是索引的种类,而是索引的一种优化方式。
点赞 回复 分享
发布于 2017-10-01 15:21
你说的这些索引分类应该标准不一样,推荐看一下mysql技术内幕innodb存储引擎,聚集索引是innodb主键采用的,不存在重复值
点赞 回复 分享
发布于 2017-10-01 14:02

相关推荐

点赞 评论 收藏
分享
头像
08-28 09:05
门头沟学院
投递美团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
26
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务