4

我发现,字段顺序会影响 Select 性能。比如我想V_EUQI通过TPLNR(500)、DATBI(1)和EQTYP(1)从视图中提取数据,语句:

SELECT ... FROM v_equi INTO itab
 WHERE eqtyp IN rg_eqtyp
   AND datbi IN rg_datbi
   AND tplnr IN rg_tplnr

运行速度比相同的选择快得多,但字段顺序TPLNR- EQTYP- DATBI

如何解释这个问题?

4

1 回答 1

2

它几乎肯定与索引有关。从透明表中读取时,为了获得最佳性能,WHERE子句中字段的顺序应该匹配索引的顺序或表中字段的从左到右的顺序(利用从主键)。不能为视图定义索引,但肯定会使用为基础表定义的任何索引。

您应该能够使用 SQL 跟踪并确认使用了哪些索引来确认这一点。

于 2013-05-02T15:31:27.963 回答