有人遇到过这个问题吗?一个简单的insert语句花了7秒钟,这个表包含300行记录。这张桌子上没有触发器。
表:
CREATE TABLE [dbo].[Table]
(
[intMsgIn] [int] IDENTITY(1,1) NOT NULL,
[charType] [char](4) NOT NULL,
[dtTrx] [datetime] NOT NULL,
[varMsg] [varchar](4000) NULL,
CONSTRAINT [PK_Tbl] PRIMARY KEY CLUSTERED ([intMsgIn] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
SQL语句:
INSERT INTO Table (charType, dtTrx, varMsg)
VALUES(@charType, getdate(), @varMsg)
SELECT @@IDENTITY
此SQL语句是存储过程中的代码,然后由C#应用程序调用。
造成这种缓慢的任何可能原因?
答案 0 :(得分:0)
只是一个简单的提示。再试一次,看看sp_who2 N'ACTIVE'
。它应该显示所有活动的运行查询。您将拥有一个名为BlkBy
的列。
由于您的查询非常简单,我确信应该有任何类型的锁定。列BlkBy
会为您提供阻止您的任务的SPID
。在这种情况下,您可以重新检查是否存在生成另一个锁的并发INSERT
,UPDATE
或DELETE
- 语句。
如果要快速测试sp_who2
,您还可以设置跟踪并检查INSERT
期间是否有任何锁定的结果。