Questions tagged «heap»

3
HEAP表的有效使用方案是什么?
我目前正在将一些数据导入到旧版系统中,并且发现该系统未使用单个群集索引。快速的Google搜索向我介绍了HEAP表的概念,现在我很好奇在哪种使用情况下,HEAP表比集群表更可取? 据我了解,HEAP表仅对审计表和/或插入比选择频繁发生的地方有用。由于没有要维护的聚簇索引,而且由于非常罕见的读取,因此不会产生额外的碎片,因此,这将节省磁盘空间和磁盘I / O。

4
标识列上的索引是否应该非聚集?
对于具有标识列的表,是否应为标识列创建聚集或非聚集的PK /唯一索引? 原因是将为查询创建其他索引。使用非聚集索引(在堆上)并返回该索引未覆盖的列的查询将使用较少的逻辑I / O(LIO),因为没有额外的聚集索引b树查找步骤? create table T ( Id int identity(1,1) primary key, -- clustered or non-clustered? (surrogate key, may be used to join another table) A .... -- A, B, C have mixed data type of int, date, varchar, float, money, .... B .... C .... ....) create …


2
堆压缩
以下是Microsoft Docs的一段: 在DML操作中分配给堆中的新页面在重建堆之前不会使用PAGE压缩。通过删除和重新应用压缩,或通过创建和删除聚簇索引来重建堆。 我不知道为什么会这样。如果我的堆具有指定的压缩设置,为什么不将其应用于属于该表的页面? 谢谢

1
如何降低SQL Server中的HEAP碎片?
我最近发现,一个堆表的碎片超过70%。所以我决定做一个 ALTER TABLE dbo.myTable REBUILD 有趣的是,事后我有20%的支离破碎。从那以后,在那张桌子上没有写任何东西。因此,我决定再进行一次重建。 第二次后,桌子上的帽子碎裂了50%,甚至更多! 我真的不明白怎么会这样...

1
重新构建HEAP是否会导致停机?
这是一个令人尴尬的问题,我不敢相信我已经错过这么多年了。 我有一个具有401堆表的供应商第三方数据库。我最近开始使用Brent Ozar的脚本并设置sp_BlitzFirst为每15分钟运行一次以收集等待统计信息等。 它所发现的是,每次运行24小时都在告诉我修复转发记录。可能使某些读者感到震惊的是,我对DMV进行了查询,并获得了一些表,这些表具有超过150,000个转发的记录值。 我知道解决此问题的方法是在表中使用聚集索引,或者作为运行时的临时解决方法ALTER TABLE [tablename] REBUILD。 但是,我无法找到的是这是否使表脱机,以及在运行此命令之前是否应该注意其他问题。 我正在使用2008 R2企业版,并且不知道以这种方式运行它是否可以消除中断的需要? ALTER TABLE [tablename] REBUILD WITH (ONLINE = ON); 有人对这个有经验么?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.