请教UPDATE语句的对SQL占用的问题
我们现在在开发一个系统,这里面有一个表,记录只有还不到1万条,发现UPDATE操作特别的慢,请问是什么原因导致的。CREATE TABLE [dbo].[BResource] (
        [RowID] [varchar] (25) COLLATE Chinese_PRC_CI_AS NOT NULL ,
        [UserID] [varchar] (25) COLLATE Chinese_PRC_CI_AS NULL ,
        [CastleID] [varchar] (25) COLLATE Chinese_PRC_CI_AS NULL ,
        [Code] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
        [Num] [int] NULL 
) ON [PRIMARY]
GOROWID为表的主键,
USERID,CASTLEID为表的索引。SELECT * FROM BRESOURCE        WHERE UserId='200807181735183506'         AND CastleId='200807181735492074'        AND Code = '3000'通过事件探测器跟踪,
第一次执行 CPU是16,reads是187,
第二次执行 CPU是0,reads是187,
第三次执行 CPU是0,reads是187,
语句执行很慢,请问怎么进行优化SQL或者优化表的结构!!!

解决方案 »

  1.   

    create index id_index_name on [dbo].[BResource]([UserID],[CastleID],[Code])键索引
      

  2.   

    还慢,就取消RowID主键的聚集索引,然后键在组合索引上create clustered index id_index_name on [dbo].[BResource]([UserID],[CastleID],[Code])
      

  3.   

    记录只有还不到1万条.
    update慢,估计不仅仅是索引的问题吧,
      

  4.   

    用sp_help '表名' --查一下表的相关性
      

  5.   

    然后DBCC CHECKDB 检查一下数据库