在数据库碎片整理之前,存储过程正在工作。在成功的碎片整理之后,其中一个存储过程停止工作(非常慢,没有任何输出)。索引是完整的。存储过程做错了什么,就是不能确定。所有其他存储过程都工作正常。你知道会出什么问题吗?
发布于 2014-08-06 22:10:31
尝试为过程中使用的表生成统计信息
update statistics TableName或在索引上
update index statistics TableName
update index statistics TableName IndexName发布于 2014-08-07 21:39:18
此外,您还可以从master..sysprocesses中查看SP中的哪一条语句存在问题。
查找运行stmtnum的进程,其中包含id和dbid,您可以使用object_name(id,dbid)来标识您的进程,然后您将看到-sysprocesses和linenum。
让dba或具有sa_role的人员在运行的spid上运行sp_showplan -这将显示查询计划。
如果您根本没有更改索引或数据卷,那么上面的答案肯定是正确的-统计数据需要更新。如果这是Sybase 15,您通常应该更新索引统计信息,否则很可能会得到一些糟糕的查询计划(如果您允许合并联接和散列联接)。
https://stackoverflow.com/questions/25161643
复制相似问题