前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL ABAP ST05 hint

SQL ABAP ST05 hint

作者头像
Jerry Wang
发布2019-07-24 15:12:40
6010
发布2019-07-24 15:12:40
举报
知识共享许可协议
知识共享许可协议

版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

Sent: Thursday, May 14, 2015 10:27 PM

Q1. 客户用了很多select , 但在后面的程序里面只用到了LT_ORDERADM_H 的部分fields, select 会影响性能么?

SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_ORDERADM_H FROM CRMD_ORDERADM_H AS A1
INNER JOIN CRM_JEST AS B1 ON B1~OBJNR = A1~GUID
WHERE A1~PROCESS_TYPE EQ 'ZQ32'
AND   B1~STAT IN ('E0002','E0004','E0006') .

Q2.上面这段,满足crmd_orderadm_h~process_type = ZQ32的有6200条,满足CRM_jest的有300多万条。觉得可以用NLJOIN,可是翻译出来是用了HSJOIN。想问下怎么加hint可以强制到NLJOIN呢?我的格式怎么加也加不对。。。无法在ST05里面看到结果。。

SELECT *
FROM
"CRMD_ORDERADM_H" T_00 INNER JOIN "CRM_JEST" T_01 ON T_01."MANDT" = ? AND T
_01."OBJNR" = T_00."GUID"
WHERE
T_00."CLIENT" = ? AND T_00."PROCESS_TYPE" = ? AND T_01."STAT" IN ( ?, ?, ?
)  WITH UR

/* <OPTGUIDELINES>   ç=============我想加这个hint, 改到NLJOIN, 驱动表是crmd_orderadm_h,然后给CRM_JEST强制用index ~0,但是ST05失败。。
<NLJOIN>
<IXSCAN TABLE='T_00' INDEX='"T_00~ARC"'/>
<IXSCAN TABLE='T_01' INDEX='"T_01~0"'/>
</NLJOIN>
</OPTGUIDELINES> */

只有用到 /* */的时候变成了NLJOIN 解析如下,有warning.

不加hint时,解析如下,estimated costs还比加了hint少呢。。。是这么看的么?

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年07月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Sent: Thursday, May 14, 2015 10:27 PM
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档