SAP性能优化(一)- 汇总

SAP的透明表中,数据量一旦达到千万、亿级,我们不得不考虑数据库优化的问题。

1. Data Archiving数据归档
这个是最行之有效的方法。
Tcode :
SARA 数据归档主要的Tcode
DB02 性能分析,主要是Performance,sapce等。

2. 建立索引
SE11,在表中,Create index。这里创建索引的依据是Where条件后面的字段,肯定不全是key fields了,一般关键字已经被sap默认创建为Primary Index。牺牲一些空间,达到性能的提高。

3. 建立View
此机制不是很理解,有知道的可以指点一下,先谢谢咯。

4. 用Hint指定Index
Hint是Oracle提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式,如果你的Hint写错了,在Oracle层会当作注释处理掉。
ABAP中常见有两种用法:(注:在SQL代码中加入Hint,特别是性能相关的Hint是很危险的做法,写得不匹配反而拖累Performance。)
1.全表扫描:%_HINTS ORACLE 'FULL("table_name")'
2.指定索引:%_HINTS ORACLE 'INDEX("table_name" " index_name")'

写Select建议:
1.多表查询,尽量维护一个View,千万不要嵌套,如Select套Select、Loop两层嵌套Loop或Loop嵌套Select;
2.使用Inner Join;
SELECT H~LGNUM H~TANUM I~TAPOS
INTO TABLE IT_DATA
FROM LTAK AS H
INNER JOIN LTAP AS I
ON H~LGNUM EQ I~LGNUM
AND H~TANUM EQ I~TANUM
WHERE BDATU EQ '20120412'.
3.使用子查询
SELECT *
INTO TABLE IT_DATA
FROM LTAP AS I
WHERE WERKS EQ '1000'
AND EXISTS ( SELECT * FROM LTAK
WHERE LGNUM EQ I~LGNUM
AND TANUM EQ I~TANUM
AND DRUCK EQ 'X' )
AND TAPOS EQ '1'.


相关Transaction Code:
ST05 性能分析,追踪SQL,分析哪条SQL Statement语句,最耗时间
STAD 得到某个程序或事务运行时的总体分析数据,系统时间,CPU时间等
SE30 分析某个事务或程序的执行时间,有一些性能分析的例子
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值