首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要查询调优帮助(哈希匹配和表扫描)

需要查询调优帮助(哈希匹配和表扫描)
EN

Database Administration用户
提问于 2012-10-18 18:08:15
回答 1查看 466关注 0票数 1

我需要帮助优化以下查询(返回~8k行):

代码语言:javascript
复制
SELECT A.sys_id, 'AppSvrRels' = CAST(SUBSTRING((SELECT (', ' + T.name)
                                FROM (
                                SELECT A.sys_id, AppSvr.name
                                FROM GTS_DataStage.SN.cmdb_ci_appl A
                                LEFT JOIN GTS_DataStage.SN.cmdb_rel_ci X 
                                    ON A.sys_id = X.parent
                                LEFT JOIN GTS_DataStage.SN.cmdb_ci AppSvr 
                                    ON X.child = AppSvr.sys_id 
                                    AND AppSvr.dv_sys_class_name 
                                      IN ('UNIX Server', 'Windows Server', 
                                      'IBM Mainframe', 'Application Server')
                                WHERE A.dv_sys_class_name = 'Application' 
                                 AND A.dv_u_used_for = 'Production' 
                                 AND A.dv_operational_status = 'Deployed') T
                                WHERE A.sys_id = T.sys_id
                                FOR XML PATH('')), 3, 4000) AS NVARCHAR(4000))
FROM GTS_DataStage.SN.cmdb_ci_appl A
WHERE A.dv_sys_class_name = 'Application' AND A.dv_u_used_for = 'Production' 
    AND A.dv_operational_status = 'Deployed'

这些表位于DataStage上,我不允许使用索引。总行数为: cmdb_ci_appl:~20k;cmdb_rel_ci:~1200 k;cmdb_ci:~800 K

下面的图像显示了执行计划的一个部分(如果需要,我可以上传sqlplan文件,但是没有什么可看的):

任何帮助都是非常感谢的。

EN

回答 1

Database Administration用户

发布于 2013-07-27 22:46:48

在查询计划中显示那些渴望索引假脱机的DBA。SQL Server非常渴望在这里支持索引,因此它在每次执行时都会创建自己的临时索引!

sqlplan文件中总是有更多的内容,所以请上传它。如果您想要的不仅仅是一般的建议,问题中的统计-只有表格的副本 (或者至少是表和索引定义)也是有用的。

这个答案最初是对你的问题的评论。如果提供了查询计划或DDL,我将更新它。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/27175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档