首页 > 其他分享 >聚簇索引与非聚簇索引区别

聚簇索引与非聚簇索引区别

时间:2023-10-05 15:44:07浏览次数:36  
标签:非聚 聚簇 查询 索引 与非 数据 顺序存储

聚簇索引和非聚簇索引是关系型数据库中常用的两种索引类型,它们的主要区别如下:

存储方式不同:


聚簇索引是将数据按照索引顺序存储在磁盘上,因此聚簇索引的数据存储和索引存储是混合在一起的;而非聚簇索引则是将索引和数据分开存储的。

唯一性不同:


聚簇索引必须是唯一的,因为它们是按照索引顺序存储数据的,如果有两条数据具有相同的索引值,则它们将无法区分;而非聚簇索引可以是唯一的,也可以不是唯一的。

查询效率不同:


对于聚簇索引来说,查询效率往往比非聚簇索引更高,因为聚簇索引将数据存储在一起,查询时可以更快地定位到所需的数据行;而对于非聚簇索引来说,查询时需要先查找索引,再根据索引找到对应的数据行,因此查询效率相对较低。

插入数据效率不同:


对于聚簇索引来说,由于数据按照索引顺序存储,因此在插入新数据时,可能需要移动已有的数据,因此插入数据的效率较低;而对于非聚簇索引来说,插入数据时只需要更新索引,因此效率相对较高。

需要注意的是,一个表只能有一个聚簇索引,因为数据只能按照一种顺序存储;而可以有多个非聚簇索引,以满足不同的查询需求。在设计数据库时,需要根据具体的应用场景和查询需求选择不同的索引类型。

标签:非聚,聚簇,查询,索引,与非,数据,顺序存储
From: https://www.cnblogs.com/djcCode/p/17743439.html

相关文章

  • es倒序索引原理
    3.倒排索引原理:(1).两个document:ThequickbrownfoxjumpedoverthelazydogQuickbrownfoxesleapoverlazydogsinsummer(2).提取文档分词,建立倒排索引(区分了大小写):TermDoc_1Doc_2-------------------------Quick||XThe|X|br......
  • MongoDB高阶特性:副本集、分片、事务、索引
    一、副本集(主从复制)1、docker-compose.ymlversion:'3'services:mongo1:image:mongocontainer_name:mongo1command:mongod--replSetrs0--port27017volumes:-./mongodb-cluster/mongod1:/data/dbports:-"27017:2......
  • MySQL学习(3)B+树索引是如何快速查询的
    前言我们已经知道在磁盘中,有很多索引页,这些页并非在物理结构上相连接,而是通过双向链表关联。如果要查找一条数据,需要通过页目录中的槽,通过二分法定位到分组再进行遍历查找。比如下面这样:SELECT[查询列表]FROM表名WHERE条件; 假设表中只有一个页,在查找记录时,可以根据搜......
  • ElasticSearch系列-索引原理与数据读写流程
    索引原理倒排索引倒排索引(InvertedIndex)也叫反向索引,有反向索引必有正向索引。通俗地来讲,正向索引是通过key找value,反向索引则是通过value找key。ES底层在检索时底层使用的就是倒排索引。索引模型现有索引和映射如下:{"products":{"mappings":{"proper......
  • driverindexer 是一个用于管理Windows系统驱动程序的工具。它被用于创建、修改和维护W
    driverindexer是一个用于管理Windows系统驱动程序的工具。它被用于创建、修改和维护Windows操作系统的驱动程序索引。驱动程序索引是一个记录系统中所有已安装驱动程序信息的数据库。它包含了驱动程序的名称、文件路径、版本号等详细信息。Windows系统通过查询驱动程序索引来查......
  • react中受控组件与非受控组件
    受控组件与非受控组件受控组件:其值由React控制的组件,通常使用state来控制和修改组件的值。例如受控的组件:classNameFormextendsReact.Component{constructor(props){super(props);this.state={value:''};}handleChange=(event)=>{thi......
  • Go每日一库之140:Zinc(轻量级搜索引擎)
    ‍项目介绍Zinc是一个轻量级替代Elasticsearch的开源搜索引擎。Elasticsearch真的好用,但是Elasticsearch安装和配置也是真的繁琐,后续的一些维护也有一定成本。另外一个Elasticsearch的不足就是服务运行起来需要的计算资源较多,对于普通的用户来说是有点浪费的。Zinc,拥有......
  • PG的表和索引的膨胀
    大家好,这次大表哥给大家分享的是PG的表和索引的膨胀。首先,为什么会出现表和索引的膨胀?总所周知,PostgresSQL实现的MVCC的机制不同于oracle,mysqlinnodb的undotablespace的机制。表上所用的更新和删除等操作的行为,都不会实际的删除或修改,而是标记为死元祖(deadrowsor......
  • MySQL InnoDB什么时候更新索引的统计信息?
    MySQLInnoDB的索引统计信息在什么时候更新呢?或者说什么事件会触发InnoDB索引的统计信息更新呢?下面结合参考资料WhenDoesInnoDBUpdatetheIndexStatistics?(DocID1463718.1)[1]简单总结梳理一下(文中大部分知识点来自参考资料)。1:ANALYZETABLE命令ANALYZETABLE命令会......
  • MySQL进阶篇:第二章_二.二_索引结构
    2.2索引结构2.2.1概述MySQL的索引是在存储引擎层实现的,不同的存储引擎有不同的索引结构,主要包含以下几种:索引结构描述B+Tree索引最常见的索引类型,大部分引擎都支持B+树索引Hash索引底层数据结构是用哈希表实现的,只有精确匹配索引列的查询才有效,不支持范......