Clustered Index & Non Clustered Index

MySQL InnoDB索引使用实践--深入浅出 本文所有内容、概念、存储结构都基于MySQL5.7及以上版本,存储引擎为:InnoDB,详细介绍MySQL各种索引,以及索引不生效的实例 阅读详情

聚簇索引和非聚簇索引都是为了增加数据检索速度而存在的.

在配置上, 每个表只能有一个聚簇索引,而能有200多个非聚簇索引。

在物理分配上, 每个表的数据都是分配在页上,一个页大概有8k左右,假设一条数据占1000字节的话,那么8000条数据占8000*1k/8k = 1000页面,这些数据存在于数据块中。

如果对这些数据中的某一10字节的字段做聚簇索引的话,8000 * 0.01K /8 = 10 页面,那么10页面作为存储这些索引而存在。并存放于索引块  

如果对这些数据中的某一10字节的字段做非聚簇索引的话,2 * 8000 * 0.01K /8 = 20 页面,那么20页面作为存储这些索引而存在。并存放于索引块。乘2 的原因请看以下叙述。

在功能上,      聚簇索引后,数据按照索引的顺序来排序,所以索引所指向的就是数据层里对应的相关数据。

                非聚簇索引后,数据不会按照索引的顺序来排序,所以数据库会先按字理或逻辑先生成首层索引, 再根据首层索引生成第二层索引,第二层索引

所指向的才是数据层里对应的相关数据。

在性能上,      聚簇索引在大多数的情况下对该索引的查询操作性能是最好的,查询先通过索引层(按上述的例子中,最多需要搜索10页)找到对应数据存在位置,就算是多条符合记录的数据,也是在旁边的数据位置中就能找到

                非聚簇索引在大多数的情况下对该索引的查询操作性能比聚簇索引稍次,查询也先通过首层索引(按上述的例子中,最多搜索10页)找到对应第二层索引存在位置,由第二层索引层再找到数据的物理位置。

 

                索引虽然可以增加查询速度,但也有以下缺陷,需要在设置时注意

1.     占用空间,虽然索引块增长速度不如数据块那么急剧,但毕竟也是消耗空间的。

2.     在select * 的访问语句时, 数据库会先搜索聚簇和非聚簇索引的索引块的索引,再搜索数据块,这种情况下表里完全不设索引的性能高于设了聚簇索引的性能(按上例要额外搜索10个页),设了聚簇的性能比设非聚簇的要好(按上例非聚簇要额外搜索20个页)

ICM42670-P嵌入式开发实战:从寄存器配置到姿态解算全解析 本文全面解析ICM42670-P高性能6轴MEMS运动传感器的嵌入式开发实战,涵盖寄存器配置、数据采集滤波、低功耗优化及姿态解算算法。通过详细代码示例和应用案例,帮助开发者快速掌握从硬件对接到姿态跟踪系统的完整开发流程,适用于可穿戴设备和智能家居等低功耗应用场景。 阅读详情

相关推荐

浙政钉(专有钉钉)门户免登(超详细)

钉钉家族 介绍浙政钉门户免登之前,首先搞清楚几个软件的关系,软件分别是:钉钉,专有钉钉,浙政钉 钉钉 是阿里巴巴集团专为中小企业打造的沟通和协同的多端平台。 专有钉钉 原名 政务钉钉,有更开放的设计能力、集成能力、更结构化协同产品、更定制化开发平台。支持专有化部署,数据落本地,更安全、客户可对该产品持牌运营、结构化编排,协助构建本地应用中心、提供移动应用全面安全保障体系。 浙政钉 为规范浙政钉整体架构体系,按照统分结合原则,由省政府办公厅统一设计整体工作界面和系统框架,统筹指导全省统建应用建设,各单

一缕南风的博客 2万+

Clustered Index & Non Clustered Index

 聚簇索引和非聚簇索引都是为了增加数据检索速度而存在的.在配置上, 每个表只能有一个聚簇索引,而能有200多个非聚簇索引。在物理分配上, 每个表的数据都是分配在页上,一个页大概有8k左右,假设一条数据占1000字节的话,那么8000条数据占8000*1k/8k = 1000页面,这些数据存在于数据块中。如果对这些数据中的某一10字节的字段做聚簇索引的话,8000 * 0.01K /8

起跑线的专栏 717

保姆级教程:用MATLAB复现格拉斯哥大学FMCW雷达数据集多普勒谱(附完整代码与避坑指南)

本文提供了一份详细的MATLAB教程,指导如何复现格拉斯哥大学FMCW雷达数据集的多普勒谱分析。从环境准备、数据获取到距离压缩、MTI滤波、时频分析(STFT)以及结果后处理,涵盖了完整流程,并附有优化代码和避坑指南,特别适合雷达信号处理研究者和工程师。

weixin_28720767的博客 116

什么是聚集索引和非聚集索引?

聚集索引是将数据表中的行按照索引键的顺序进行物理排序的索引。一个表只能有一个聚集索引,因为数据表的物理存储顺序只能有一种。聚集索引的索引键决定了数据在表中的存储顺序。非聚集索引是将索引键和指向数据行的指针存储在索引页中的索引。一个表可以有多个非聚集索引,因为非聚集索引不影响数据表的物理存储顺序。非聚集索引的索引键决定了索引页的排序顺序。

网络技术联盟站 6450

Zabbix华为交换机光衰告警

zabbix使用自动发现监控huawei网络设备光衰

qq_31651649的博客 4529

《Linux运维总结:etcd 3.5.15集群数据备份与恢复》

《Linux运维总结:etcd 3.5.15集群数据备份与恢复》

东城绝神 1080

聚集索引(聚簇索引)的使用

聚集索引 聚集索引中键值的逻辑顺序决定了表中相应行的物理顺序。 聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。

以梦为马,不负韶华。 4625

ShowDoc item_id 未授权SQL注入漏洞复现

2024年6月,ShowDoc官方发布新版本修复了一个SQL注入漏洞。鉴于该漏洞无前置条件,易于利用,且默认情况下可暴破用户token获取系统后台权限,建议所有使用该系统的企业尽快升级修复,以确保系统安全。

0xSec 2357

聚簇索引和非聚簇索引

需要注意的是,隐式聚簇索引可能并不是最优的选择,因为它可能会选择一个不太适合作为聚簇索引的列。这样的话,你还要根据那个主键去回表,再去查,去查那个主键索引,再去查一遍,这就是它的一个回表的情况。那么这个innodb,他除了这个聚簇索引,像什么复合索引,前缀索引,还有这唯一索引,他们都是在这个聚簇索引的基础之上建立的索引。表数据按照索引的顺序来存储的,也就是说索引项的顺序与表中记录的物理顺序一致。聚簇索引逻辑上的连续性:聚簇索引的存储并不是物理上的连续,而是逻辑上的连续。的形式,分为聚簇索引和非聚簇索引。

qq_46130027的博客 4276

28、沉浸式体验技术:概念、类型与应用

本文全面介绍了沉浸式体验技术的概念、类型与应用。从双边滤波器的图像处理原理切入,系统阐述了VR、AR、MR、ER及数字孪生等核心技术的特点与区别,并通过丰富案例展示了其在商业、医疗、教育、旅游、房地产、物流等多个领域的实际应用。文章还分析了技术融合趋势、硬件升级方向、应用场景拓展潜力,同时探讨了数据处理、网络延迟、隐私安全等挑战及应对策略,最后以流程图和对比表格总结技术发展脉络,展望沉浸式技术推动社会进步的广阔前景。

wind6的博客 381

Android功耗系列专题分析之四:待机概率性功耗高的失效分析

本文分析了Android设备待机功耗异常高的问题。通过日志发现系统休眠失败,原因是PowerManagerService.Display唤醒锁未被释放。进一步排查发现,指纹解锁功能在灭屏时未正确释放屏幕锁定,导致DisplayReady状态异常。解决方案是将指纹功能的背光控制与DisplayReady状态控制分离,使用两个变量独立管理。经验表明,快速定位问题比解决问题更重要,修改原生流程时需谨慎评估风险。

451

聚簇索引 和 非聚簇索引详解

聚簇索引、非聚簇索引、InnoDB

weixin_44991038的博客 1万+

把 LLM 编排能力塞进 ABAP 系统里,ZLLM 仓库的工程价值与 SAP 落地场景

ZLLM项目将LLM应用开发中的常见工程问题引入ABAP原生环境,为SAP系统提供AI工作流构建能力。它类似ABAP版的LangChain,支持Chain组合、Prompt模板、状态传递等核心功能,强调纯ABAP实现、延迟执行以及与ABAP数据结构的深度集成。项目包含工厂类、LLM客户端、负载均衡器等模块,特别设计了能处理ABAP内表和结构的模板引擎,使业务数据可直接用于Prompt生成。通过Step和Flow机制支持复杂业务过程编排,并采用延迟执行和并行处理优化批量任务性能。该项目为ABAP开发者提供了在

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 61

【数据库作业5】SQL练习2 - INDEX / INSERT / SELECT

【INDEX】 新建索引⬇ CREATE [UNIQUE] [CLUSTERED] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…); <表名>:要建索引的基本表的名字 索引:可以建立在该表的一列或多列上,各列名之间用逗号分隔 <次序>:指定索引值的排列次...

qq_44871112的博客 1159

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

索引 index

索引的概念 索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。   二、索引的特点 1.索引可以加快数据库的检索速度 2.索引降低了数据库插入、修改、删除等维护任务的速度 3.索引创

FANET 574

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Index索引

一、索引的概念 索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。 二、索引的特点 1.索引可以加快数据库的检索速度 2.索引降低了数据库插入、修改、删除等维护任务的速度 3.索引创建在表上,不能创建在视图上 4.索引...

fangqi0132的博客 263

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

[转载]由浅入深理解索引的实现(1)

You are here:Home/MySQL源码解读/ 由浅入深理解索引的实现(1) 由浅入深理解索引的实现(1) 十一月 24, 2011bysleebin9·22 Comments 00 – 背景知识 - B-Tree &amp; B+Tree http://en.wikipedia.org/wiki/B%2B_treehtt...

dhzf1907的博客 99

由浅入深理解索引的实现(1)

00 – 背景知识 - B-Tree & B+Tree   http://en.wikipedia.org/wiki/B%2B_tree   http://en.wikipedia.org/wiki/B-tree - 折半查找(Binary Search)   http://en.wikipedia.org/wiki/Binary_search_algorithm

liaoyuanzi的专栏 529

mysql sparse索引_0619数据库_MySQL_由浅入深理解索引的实现

这篇文章是介绍MySQL数据库中的索引是如何根据需求一步步演变最终成为B+树结构的以及针对B+树索引的查询,插入,删除,更新等操作的处理方法。Oracle和DB2数据库索引的实现基本上也是大同小异的。文章写得很通俗易懂,就转在这了。关于B+树和索引内部结构可以参考:《B 树、B- 树、B+ 树和B* 树》和《深入理解DB2索引(Index)》。00 – 背景知识- B-Tree &amp; B+T...

weixin_28795851的博客 177

INDEX--从数据存放的角度看索引

测试表结构: CREATE TABLE TB1 ( ID INT IDENTITY(1,1), C1 INT, C2 INT )   1. 聚集索引(Clustered index) 聚集索引可以理解为一个包含表中除索引键外多有剩余列的包含索引,为保证在DELETE/UPDATE操作的正确性,如果聚集索引未声明为唯一(UNIQUE),则系统会聚集索...

weixin_34268610的博客 95

由浅入深理解索引的实现

由浅入深理解索引的实现 http://blog.duplicatedcode.com/programme/224.html 背景知识 - B-Tree &amp;amp; B+Tree http://en.wikipedia.org/wiki/B%2B_treehttp://en.wikipedia.org/wiki/B-tree - 折半查找(Binary Search) ht...

数据库 72

课程笔记 Info 90002 - Storage & Indexing

This part is about Heap files and Index Files 文件(File): 可以被视为pages的集合,每个page包含了一系列的记录(records) DBMS必须支持: 对records的增删改查,以及遍历全部的记录,因此针对不同的情况,出现了不同类型的文件。 Heap files:类似于栈,无序的插入,但是适合获取全部数据的情况 Sorted files:对文件进行排序,适合查询部分数据 Index file organization:特别的数据结

HonJoMeng的博客 303

SQL Server 根据主键更新数据却使用Cluster Index Scan问题

项目很多job在同一时刻同时启动,结果一直发生死锁问题, 通过Sqlserver profiler 分析发现 似乎是2张表的insert 和 update 发生互锁, 大致情景如下:   通过sql server profiler 发现这里的update 需要在主键索引上加U锁但是却在等待另一个transaction的insert 的之后x 锁,update 是根据主键来更新的 不应...

iteye_12501的博客 563

sybase用SQL建立索引

用SQL建立索引 为了给一个表建立索引,启动任务栏SQL Sever程序组中的ISQL/w程序。进入查询窗口后,输入下面的语句: J*W CREATE INDEX mycolumn_index ON mytable (myclumn) 这个语句建立了一个名为mycolumn_index的索引。你可以给一个索引起任何名字,但你应该在索引名中包含...

XIXI的参考消息 1866
上一篇: SQL Server事务操作
CutBug
博客等级 码龄20年 329粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值