SAP中的数据库表索引 (2)

索引只支持明确的条件值,比如=或者LIKE。如果条件中包含某些不确定因素,比如<>,那么索引将无法改善性能。条件中包含OR时,优化器通常停止工作。换句话说,使用索引时,OR条件的字段是不生效的。一个例外是OR关系互相独立。因此,对于包含OR和索引字段结合的条件,有时需要修改条件的形式。(可以看下面的例子)

注意

某些数据库的索引会忽略0,意味着查询0值时,没有索引可用。

如有必要,可以在ABAP SQL(Open SQL)中使用附加项%_HINTS为database hints来调整系统优化器,以决定使用哪个二级索引。

例子

下面这个句子会导致优化器无法使用索引,因为遇到了OR:

SELECT * FROM spfli WHERE carrid = 'LH' AND ( CITYFROM = 'FRANKFURT' OR cityfrom = 'NEW YORK' ).

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypgfw.html