在设计SQL服务器数据架构以及后续的查询、存储过程、视图等时,对于专门部署在SSD平台上的数据库设计来说,考虑聚集索引和磁盘上的数据顺序是否有意义呢? 根据http://msdn.microsoft.com/en-us/library/aa933131(v=sql.80).aspx的解释,"...
在对比顺序和非顺序GUID的问题之后,我尝试比较了在以下两种情况下的INSERT性能:1)使用newsequentialid()顺序初始化的具有GUID主键的表,以及2)使用identity(1,1)顺序初始化的具有INT主键的表。基于整数的宽度较小,我本以为后者会更快,并且生成顺序整数似乎比...
这份2007年的白皮书比较了将表格组织为聚集索引和将表格组织为堆并在相同键列上建立非聚集索引的情况下,针对个别的选择/插入/删除/更新和范围选择语句的性能。 总体而言,在测试中,聚集索引选项表现更好,因为只需要维护一个结构,并且不需要进行书签查找。 这篇论文没有涵盖一个可能有趣的案例,即在...
我有几个非常大的表,它们具有相同的基本结构。每个表都有一个RowNumber (bigint)和DataDate (date)列。数据每天晚上使用SQLBulkImport加载,不会加载任何“新”数据 - 它是一个历史记录(SQL标准,而不是企业版,所以没有分区)。 由于每个数据需要与其他系...
我有一个SQL语句,它将行插入到一个具有基于列TRACKING_NUMBER的聚集索引的表中。 E.G.: INSERT INTO TABL_NAME (TRACKING_NUMBER, COLB, COLC) SELECT TRACKING_NUMBER, COL_B, COL_C ...
我使用ALTER INDEX REBUILD来消除索引碎片化。但在某些情况下,REBUILD似乎无法消除这种碎片化。为什么REBUILD不能消除碎片化呢?尤其是对于小型索引而言,这种情况似乎更加常见。
我目前正在將一些數據導入到一個舊系統中,發現這個系統不使用單個聚集索引。通過快速的谷歌搜索,我了解到HEAP表的概念,現在我想知道在哪些使用場景下,HEAP表應該優先於聚集表使用? 據我所知,HEAP表只對審計表和/或插入頻率遠高於查詢頻率的場景有用。它可以節省磁盤空間和磁盤I/O,因為沒有...
我刚刚建立了一个发布,我正在尝试加快应用快照的速度。到目前为止,分发代理(Distribution Agent)遵守了MaxBCPThreads设置,但是快照代理(Snapshot Agent)没有。我希望它能够将文件拆分,以便分发代理的线程可以获取数据。但无论何时进行快照,似乎它都无法做到。...
我们的数据库包含许多表,其中大部分使用整数代理键作为主键。这些主键中大约有一半是基于自增列的。 数据库的开发始于 SQL Server 6.0 时代。 从一开始就遵循的规则之一是,在这些 索引优化提示 中可以找到: 避免基于递增键创建聚集索引。 例如,如果一个表具有声明为 IDENTI...
我一直在阅读关于SQL Server内部的内容,每本书或博客都提到了关于反向扫描的问题。 聚集索引的反向扫描不能使用并行处理 唯一提到这个问题的帖子是下面这篇。帖子说SQL Server团队没有为反向扫描实现所需的优化。https://www.itprotoday.com/sql-se...