FavoriteLoading
0

[Code Inspector]消除警告信息SELECT Statements That Bypass the Table Buffer

写完程序用code inspector工具进行代码检查时发现一个警告信息,

简单的代码如下:

警告消息如下:

具体提示为表TVGRT是个buffered表,不应该使用再join SQL中,

去SE11查看了表TVGRT的技术设置,果然是个buffered表,

又搜了一些资料如下:

大体意思就是如果在SQL中用到buffered表时,无论是隐式还是显式跳过了buffer都会导致性能上的问题,所以要尽量保证buffered 表都使用到缓存,inner join就是一种隐式bypass buffer的SQL语句。

做下测试,简单的将代码改成2个单独的SQL,用来替代inner join,

再跑code inspector,警告消息'SELECT Statements That Bypass the Table Buffer'就不存在了。

如果只是想简单隐藏掉警告消息,可以直接使用tag '#EC CI_BUFFJOIN'注释一下,

以上。