Sql server 2012 删除比更新对性能的影响大吗

Sql server 2012 删除比更新对性能的影响大吗,sql-server-2012,sql-update,sql-delete,Sql Server 2012,Sql Update,Sql Delete,我有一个具有以下模式的表 CREATE TABLE [dbo].[ProjectNotifications]( [ProjectNotificationID] [int] IDENTITY(1,1) NOT NULL, [UserID] [int] NOT NULL, [DomainValueID] [int] NOT NULL, [StatusId] [int] NULL, CONSTRAINT [PK_ProjectNotification] PRIMARY KEY CLUSTERED

我有一个具有以下模式的表

CREATE TABLE [dbo].[ProjectNotifications](
[ProjectNotificationID] [int] IDENTITY(1,1) NOT NULL,
[UserID] [int] NOT NULL,
[DomainValueID] [int] NOT NULL,
[StatusId] [int] NULL,


CONSTRAINT [PK_ProjectNotification] PRIMARY KEY CLUSTERED 
(
    [ProjectNotificationID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
此表可能会有更多的插入和更新。因此,在头脑风暴时,我们想到了一个名为Status的标志列,它指示行是否处于活动状态。让我们这样说吧

现在,我们需要评估将标志列更新为NULL或将其完全删除是否可以达到目的。我们很想知道哪个设计更好


如果我们更新状态列而不是删除一行,这会不会使未使用的行移动数据?

逻辑删除(如“状态”列中突出显示的情况)优于物理删除。这有助于审核信息并保持责任感。但这不会让数据库中的更多信息阻塞,这些信息可能会被使用,也可能不会被使用?当然,它会使用页面数据。然而,你说的是数百万行,还是仅仅数十万行?是的,到目前为止,也许数十万行,随着时间的推移,它们会不断累积,对吧?我建议你阅读以下内容: