SQ版本:4.5.4 SQ Eclipse插件:3.4
我们一直在使用SQ Eclipse插件检查新代码违规大约一个月,一切顺利。因为,昨天我们在分析代码时遇到了一个问题。
正在提供' Synchornize问题'已经解决了一个问题。错误停止问题查询。我还查看了eclipse日志,找到了背后的原因。在eclipse日志中,我看到它在访问URL时遇到了读取超时问题。
当我在浏览器上点击上述URL时,大约需要5分钟才能得到响应。我检查了声纳日志以找到其背后的根本原因,并注意到执行查询时需要大约5分钟。下面是声纳日志,我们可以看到执行查询花了324913ms。
2015.08.06 23:38:18 INFO http-bio- 。。。 -9000-exec-2 web [http] 329399ms GET / api / issues /搜索解决=假安培;的pageSize = -1&安培; componentRoots = PROJECT:PROJECTATTRIBUTE&安培;的PageIndex = 1
2015.08.06 23:39:12 INFO http-bio- 。。。 -9000-exec-3 web [sql] 324913ms执行SQL:select * from (从内部联接问题中选择i.id(从快照s中选择s.project_id,选择project_components.id作为id,将snapshot_components.id选为sid,将root_snapshot_components.project_id作为root_project_id,将root_snapshot_components.id作为root_snapshot_id,将snapshot_components.path作为路径)来自项目project_components内部联接快照snapshot_compone上的snapshot_components.project中的snapshot_compone_id = project_components.id和snapshot_components.islast = 1内部联接快照root_snapshot_components root_snapshot_proonents.project_id = snapshot_components.root_project_id和root_snapshot_components.islast = 1内部联接(SELECT p.id as root_project_id FROM group_roles gr INNER JOIN项目p在p.id = gr.resource_id和p.scope =' PRJ' AND p.qualifier =' TRK' WHERE gr.role =?和gr.group_id是null)authorized_projects.root_proje上的authorized_projects ct_id = root_snapshot_components.project_id WHERE(project_components.kee =?)和project_components.enabled = 1)authorized_input_components WHERE s.root_project_id = authorized_input_components.root_project_id和s.islast = 1 and((s.root_snapshot_id = authorized_input_components.root_snapshot_id and s.path LIKE authorized_input_components.path || authorized_input_components.sid || '%' )或(s.id = authorized_input_components.sid)))authorizedComponents.project_id = i.component_id上的authorizedComponents WHERE i.resolution为null)其中rownum< =? - 参数是:,,< 10000>
但是当我在DB或java程序上执行相同的查询时,它只需不到5秒。
如果有人知道如何解决这个问题,请帮助所有人面对类似的问题。