小编Dra*_*mmy的帖子

我是否应该避免向具有高吞吐量的表添加聚集键

我们有一个 SQL Server 解决方案,它有一个表dsStaging.Audit,用于存储由第三方事务数据库创建的审计记录。我们使用这些审计将来自第三方系统的 CRUD 操作同步到我们的 SQL 数据库中。

CREATE TABLE [dsStaging].[Audit](
    [SyncExecutionId] [bigint] NOT NULL,
    [AuditDataGuid] [nvarchar](56) NOT NULL,
    [AuditDate] [datetime] NOT NULL,
    [AuditDateTimeZone] [datetimeoffset](3) NULL,
    [AuditEventGroup] [nvarchar](56) NOT NULL,
    [TransactionId] [bigint] NOT NULL,
    [TransactionSequence] [int] NOT NULL,
    .
    ...
    .
 CONSTRAINT [PK_Audit] PRIMARY KEY CLUSTERED 
(
    [SyncExecutionId] ASC,
    [TransactionId] ASC,
    [TransactionSequence] ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
    IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
Run Code Online (Sandbox Code Playgroud)

处理审计后,我想将审计记录移动到一个单独的表中Processed.Audit,准备在 x 天后删除。

CREATE TABLE …
Run Code Online (Sandbox Code Playgroud)

index database-design sql-server primary-key

6
推荐指数
1
解决办法
470
查看次数

标签 统计

database-design ×1

index ×1

primary-key ×1

sql-server ×1