请教UPDATE语句的对SQL占用的问题

feng1214 2008-07-21 06:52:28
请教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]
GO

ROWID为表的主键,
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或者优化表的结构!!!
...全文
85 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyde100 2008-07-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wzy_love_sly 的回复:]
SQL codecreate index id_index_name on [dbo].[BResource]([UserID],[CastleID],[Code])



键索引
[/Quote]
comszsoft 2008-07-21
  • 打赏
  • 举报
回复
没看到update语句
wgzaaa 2008-07-21
  • 打赏
  • 举报
回复
然后DBCC CHECKDB 检查一下数据库
rhq12345 2008-07-21
  • 打赏
  • 举报
回复
关注。。。
wgzaaa 2008-07-21
  • 打赏
  • 举报
回复
用sp_help '表名' --查一下表的相关性
hery2002 2008-07-21
  • 打赏
  • 举报
回复
是只有这一个表慢,
还是所有表都是这样子?
如果只是这一个表慢,
建议数据导出备份后删除了重建一下.
hery2002 2008-07-21
  • 打赏
  • 举报
回复
记录只有还不到1万条.
update慢,估计不仅仅是索引的问题吧,
wzy_love_sly 2008-07-21
  • 打赏
  • 举报
回复
还慢,就取消RowID主键的聚集索引,然后键在组合索引上

create clustered index id_index_name on [dbo].[BResource]([UserID],[CastleID],[Code])
wzy_love_sly 2008-07-21
  • 打赏
  • 举报
回复
create index id_index_name on [dbo].[BResource]([UserID],[CastleID],[Code])


键索引

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧