欢迎投稿

今日深度:

游标脚本性能问题详解之案例实践篇(1)(4)

四、尝试解决问题

首先我们尝试更新统计信息:UPDATE STATISTICS ON S_AUDIT_ITEM WITH FULLSCAN,但是这个操作在此问题案例中没有作用。

从以上的分析中,我们已经发现,如果使用index S_AUDIT_ITEM_M3访问S_AUDIT_ITEM表,得到的执行计划非常好,我们可以直接用index hint来解决这个问题:

  1. declare @p1 int set @p1=NULL 
  2.  
  3. declare @p2 int set @p2=0  
  4.  
  5. declare @p5 int set @p5=4098  
  6.  
  7. declare @p6 int set @p6=8193  
  8.  
  9. declare @p7 int set @p7=0  
  10.  
  11. exec sp_cursorprepexec @p1 output,@p2 output,N'@P1 varchar(30),@P2 varchar(15)',  
  12.  
  13. N'  
  14.  
  15. SELECT T1.CONFLICT_ID  
  16.  
  17. FROM dbo.S_AUDIT_ITEM T1 with (INDEX=S_AUDIT_ITEM_M3) /* 解决方案2 */  
  18.  
  19. LEFT OUTER JOIN dbo.S_USER T2  
  20.  
  21. ON T1.USER_ID = T2.PAR_ROW_ID  
  22.  
  23. WHERE ((T1.BC_BASE_TBL = @P1)  
  24.  
  25. AND (T1.RECORD_ID = @P2))  
  26.  
  27. ORDER BY T1.OPERATION_DT DESC 
  28.  
  29. OPTION (FAST 40)  
  30.  
  31. ',  
  32.  
  33. @p5 output,@p6 output,@p7 output,'1-10350J','S_PARTY' 
  34.  
  35. print 'fetch' 
  36.  
  37. exec sp_cursorfetch @p2,2,4,1  
  38.  
  39. exec sp_cursorclose @p2  
  40.  


www.htsjk.Com true http://www.htsjk.com/shujukugl/17835.html NewsArticle 四、尝试解决问题 首先我们尝试更新统计信息:UPDATE STATISTICS ON S_AUDIT_ITEM WITH FULLSCAN,但是这个操作在此问题案例中没有作用。 从以上的分析中,我们已...
评论暂时关闭