位置: 编程技术 - 正文

SQL Server 聚集索引和非聚集索引的区别分析(Sqlserver聚集索引和非聚集索引的区别)

编辑:rootadmin

聚集索引:物理存储按照索引排序非聚集索引:物理存储不按照索引排序优势与缺点聚集索引:插入数据时速度要慢(时间花费在“物理存储的排序”上,也就是首先要找到位置然后插入)查询数据比非聚集数据的速度快

汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明您的字典中没有这个字;同样的,如果查“张” 字,那您也会将您的字典翻到最后部分,因为“张”的拼音是“zhang”。也就是说,字典的正文部分本身就是一个目录,您不需要再去查其他目录来找到您需要找的内容。正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”。 如果您认识某个字,您可以快速地从自动中查到这个字。但您也可能会遇到您不认识的字,不知道它的发音,这时候,您就不能按照刚才的方法找到您要查的字,而需要去根据“偏旁部首”查到您要找的字,然后根据这个字后的页码直接翻到某页来找到您要找的字。但您结合“部首目录”和“检字表”而查到的字的排序并不是真正的正文的排序方法,比如您查“张”字,我们可以看到在查部首之后的检字表中“张”的页码是页,检字表中“张”的上面是“驰”字,但页码却是 页,“张”的下面是“弩”字,页面是页。很显然,这些字并不是真正的分别位于“张”字的上下方,现在您看到的连续的“驰、张、弩”三字实际上就是他们在非聚集索引中的排序,是字典正文中的字在非聚集索引中的映射。我们可以通过这种方式来找到您所需要的字,但它需要两个过程,先找到目录中的结果,然后再翻到您所需要的页码。我们把这种目录纯粹是目录,正文纯粹是正文的排序方式称为“非聚集索引”。 通过以上例子,我们可以理解到什么是“聚集索引”和“非聚集索引”。进一步引申一下,我们可以很容易的理解:每个表只能有一个聚集索引,因为目录只能按照一种方法进行排序。得出查询速度的方法是:在各个select语句前加:declare @d datetimeset @d=getdate()并在select语句后加:select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())1、用聚合索引比用不是聚合索引的主键速度快2、用聚合索引比用一般的主键作order by时速度快,特别是在小数据量情况下 事实上,如果数据量很小的话,用聚集索引作为排序列要比使用非聚集索引速度快得明显的多;而数据量如果很大的话,如万以上,则二者的速度差别不明显。3、使用聚合索引内的时间段,搜索时间会按数据占整个数据表的百分比成比例减少,而无论聚合索引使用了多少个4 、日期列不会因为有分秒的输入而减慢查询速度从publish 表中取出第 n 条到第 m 条的记录:SELECT TOP m-n+1 *FROM publishWHERE (id NOT IN    (SELECT TOP n-1 id     FROM publish))id 为publish 表的关键字只所以把“查询优化”和“分页算法”这两个联系不是很大的论题放在一起,就是因为二者都需要一个非常重要的东西??聚集索引。在前面的讨论中我们已经提到了,聚集索引有两个最大的优势:1、以最快的速度缩小查询范围。2、以最快的速度进行字段排序。第1条多用在查询优化时,而第2条多用在进行分页时的数据排序。 而聚集索引在每个表内又只能建立一个,这使得聚集索引显得更加的重要。聚集索引的挑选可以说是实现“查询优化”和“高效分页”的最关键因素。 但要既使聚集索引列既符合查询列的需要,又符合排序列的需要,这通常是一个矛盾。聚集索引是如此的重要和珍贵,所以一定要将聚集索引建立在:1、您最频繁使用的、用以缩小查询范围的字段上;2、您最频繁使用的、需要排序的字段上。

推荐整理分享SQL Server 聚集索引和非聚集索引的区别分析(Sqlserver聚集索引和非聚集索引的区别),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sqlserver聚集索引和非聚集索引,sqlserver聚集索引重建失败,Sql server 聚集索引,sqlserver聚集索引和非聚集索引,Sqlserver聚集索引和非聚集索引的区别,sqlserver聚集索引和非聚集索引会不会改变原Id,sqlserver聚集索引和非聚集索引会不会改变原Id,Sql server 聚集索引,内容如对您有帮助,希望把文章链接给更多的朋友!

二)何时使用聚集索引或非聚集索引

下面的表总结了何时使用聚集索引或非聚集索引(很重要)。

动作描述

使用聚集索引

使用非聚集索引

列经常被分组排序

返回某范围内的数据

不应

一个或极少不同值

不应

不应

小数目的不同值

SQL Server 聚集索引和非聚集索引的区别分析(Sqlserver聚集索引和非聚集索引的区别)

不应

大数目的不同值

不应

频繁更新的列

不应

外键列

主键列

频繁修改索引列

不应

每个表中只能有一个聚集索引的规则。

sqlserver 批量删除存储过程和批量修改存储过程的语句 修改:declareproccurcursorforselect[name]fromsysobjectswherenamelike'Foods_%'declare@procnamevarchar()declare@tempvarchar()openproccurfetchnextfromproccurinto@procnamewhile(@@FETCH_STATUS=0)b

SQL Server SQL高级查询语句小结 基本常用查询--selectselect*fromstudent;--all查询所有selectallsexfromstudent;--distinct过滤重复selectdistinctsexfromstudent;--count统计selectcount(*)fromstudent;selectcount(sex)fromstud

sqlserver中操作主从关系表的sql语句 典型的方法就是对于主表的各数据字段进行更新或新增,对于从表一般都会先删除相关的所有记录,然后再进行插入。也就是说每次保存时,从表的数

标签: Sqlserver聚集索引和非聚集索引的区别

本文链接地址:https://www.jiuchutong.com/biancheng/349142.html 转载请保留说明!

上一篇:sqlserver下将数据库记录的列记录转换成行记录的方法(sql中将数据放到另一个表中)

下一篇:sqlserver 批量删除存储过程和批量修改存储过程的语句(sqlserver批量删除数据)

  • 个人所得税计提和发放分录
  • 租赁合同印花税双方都要交吗
  • 报表中存货包括什么科目
  • 进口关税增值税税率
  • 水利基金应税项和减除项
  • 发票验旧是验旧已开发票还是未开发票
  • 企业所得税低于多少不用交
  • 增值税附加税由买方承担如何计算
  • 没有发票不能税前扣除,所以年底结账前需要检查
  • 税收抵免与税收的区别
  • 分配股利需要缴纳个税吗
  • 非独立核算的分公司怎么做账
  • 公司开租房发票,税钱由公司承担
  • 出口退税操作明细表格
  • 不征税发票报税怎么报
  • 过节时单位发的奖金
  • 转账支票背书是什么意思啊
  • 其他业务收入怎么填纳税申报表
  • 高新技术企业取消资格的程序
  • 广告公司结转收入应交税费分录?
  • 如何在没有开瓶器的情况下开红酒
  • 辞退补偿入账
  • 付款交单和承兑交单对卖方来说都有一定风险
  • 升级鸿蒙系统会解除限制充电60
  • PHP:oci_num_fields()的用法_Oracle函数
  • 押金收不回的会计分录
  • vue项目使用
  • 违约罚款的会计分录
  • 结算成本处理怎么取消
  • 开立异地银行结息通知
  • vue 滚动条往下滑
  • 出口流程步骤
  • 用tomcat部署web项目
  • php如何实现mysql数据的删除
  • 购入固定资产款项已付
  • 增值税发票申报单怎么填
  • 股权投资企业收益怎么算
  • 三联专用发票每一联分别给谁
  • 【GoF 23】23种设计模式与OOP七大原则概述
  • 专票地址错了要作废吗
  • 研发支出资本化支出属于什么科目
  • 非营利组织能否开社保账户
  • 小型商贸企业
  • 签发转账支票需要的单据
  • 盈余公积年初和年末没有变化
  • 一般纳税人季报还是月报
  • 固定资产税前一次性扣除会计处理与税务处理
  • 充值优惠怎么写
  • 忘了作废的发票还能用吗
  • 企业票据贴现属于什么业务
  • 小规模纳税人销售自己使用过固定资产
  • 工程设计费收入在所得税申报表应填入
  • 如何理解其他权益工具
  • 应付职工薪酬如何进行会计处理
  • 体检收据可以入档案吗
  • 应收其他应收区别
  • 跨年取得的发票
  • sql server在表里查找具体数据
  • MySQL 5.7双主同步部分表的实现过程详解
  • win7自带截图保存在哪个文件夹
  • win7桌面库图标怎么删除
  • freebsd常用命令
  • 注册表及其作用
  • win7系统怎么开wifi热点
  • 双系统电脑怎么装系统
  • win8的系统
  • centos7安装yum报错
  • rdclient怎么用win10怎么设置
  • win8 开始
  • 分布式队列秒杀活动
  • 计算机无法从休眠
  • app的文件名
  • python等于和双等于
  • shell批量处理文件
  • unity shaderlab新手宝典
  • Node.js中的什么模块是用于处理文件和目录的
  • python中url
  • 国家税务总局中山市税务局港口税务分局
  • 成都车辆购置税2024年新政策
  • 电子发票怎么作废
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设