Oracle 在没有WHERE子句的情况下触发更新时是否使用索引

Oracle 在没有WHERE子句的情况下触发更新时是否使用索引,oracle,Oracle,在Oracle中,在没有WHERE子句的情况下启动更新时使用索引。如果更新影响索引列,则也需要替换索引页。如果更新影响索引列,则也需要替换索引页。使用“已用”,是指“已引用”还是“已修改” 没有WHERE子句的更新归结为对整个表的迭代;我看不出Oracle在本例中引用索引的充分理由,因为这样做没有任何好处。(尽管这只不过是一个有保留的猜测。)nonnb是正确的,索引将根据您触摸的列而受到影响。所说的“使用”,是指“引用”还是“修改” 没有WHERE子句的更新归结为对整个表的迭代;我看不出Orac

在Oracle中,在没有WHERE子句的情况下启动更新时使用索引。如果更新影响索引列,则也需要替换索引页。

如果更新影响索引列,则也需要替换索引页。

使用“已用”,是指“已引用”还是“已修改”

没有WHERE子句的更新归结为对整个表的迭代;我看不出Oracle在本例中引用索引的充分理由,因为这样做没有任何好处。(尽管这只不过是一个有保留的猜测。)nonnb是正确的,索引将根据您触摸的列而受到影响。

所说的“使用”,是指“引用”还是“修改”


没有WHERE子句的更新归结为对整个表的迭代;我看不出Oracle在本例中引用索引的充分理由,因为这样做没有任何好处。(尽管这只是一个有限制的猜测。)nonnb是正确的,索引将受到影响,具体取决于您所接触的列。

Oracle是否会使用索引查找正在更新的行?没有where子句,几乎肯定不会


Oracle是否必须读取一个或多个索引,以一致模式获取块以更新它们?如果您正在更新任何已编制索引的列,这些列具有基于函数的索引,这些索引将导致更新的索引值,或导致分区之间的行移动,则“将使用索引”。Oracle是否会使用索引查找正在更新的行?没有where子句,几乎肯定不会

Oracle是否必须读取一个或多个索引,以一致模式获取块以更新它们?如果您正在更新任何被索引的列,具有基于函数的索引,这些索引将导致更新的索引值,或者导致分区之间的行移动,那么将使用“是”索引