在ABAP编程和数据库性能中使用SQL语句

性能的基本原则是应在应用程序服务器和数据库之间传输的数据最少。

  • 对于第一个问题,我建议仅选择必填字段。因此,如果您不需要所有字段,请不要使用SELECT *。但是在特定情况下,如果在程序的不同部分有多个SELECT语句在查询同一表但在不同的列,则建议使用SELECT *,因为输出存储在缓冲区中,直到您的程序执行为止。在这种情况下,当您进行后续选择时,系统将使用缓冲存储器。

  •     如果要以排序方式获取输出,则与ORDER BY相比,最好使用SORT。

  •     如果是嵌套的SELECT语句,请特别小心,尤其是当期望将大量数据作为输出时。

您关于JOIN和FOR ALL ENTRIES IN的第二个查询是不相关的,因为两者都有不同的用途。JOIN用于联接两个数据库表并从数据库中获取数据,而“ FOR ALL ENTRIES IN”用于将数据库表与内部存储器表联接。因此,您不能将它们用作彼此的替代品。