版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://jerry.blog.csdn.net/article/details/102949098
按照SCN上的说法,指定client和不指定,对性能无任何影响。
ABAP help上说的很清楚:
Please note that the NULL value is inserted only for the existing records, by the time the new field is being inserted. For all new records, SPACE or the initial (default) value is inserted. If the new field is inserted by checking the checkbox “initial values”, then the initial values (SPACE in case of characters) are automatically inserted and not the NULL values.
而且这个field的initial已经勾上了,因此唯一可能让IS NULL返回true的condition,
就是ABAP help 里提到的outer join:
但是我看了下source code里的OPEN SQL,里面的操作应该不会造成template field为NULL的结果,所以我觉得这个检查可以删除。
(1) 尽量避免nested select statement
(2) 尽量避免复杂的where语句,否则database optimizer没法做优化。我们这个代码里的where语句里又套了嵌套的select,应该算是complex了。
然后I1004改成released吧:
最后DB expert分析得出结论现在的SQL 语句在MaxDB下需要重写。
所以我在想我们有时间的话,能不能先考虑准备另一套方案,就是先设法把where里的nested select去掉,可以换成用多个select顺序执行的方式,最后简单测试下两个solution的性能。
我去年做联想的性能评测就是在AG3上做的: