Oracle table 上的共享索引是否会导致死锁?

Does shared index on Oracle table leads to deadlock?

我知道子 table 中未索引的外键可能会导致 ORA-00060:死锁。同样,共享索引也会导致死锁。

我在以下场景中共享了索引,

class TableA {
int tableAId;
List<TableB> listOfTableB;
}

class TableB {
String name;
}

相关休眠映射(部分),

<list cascade="all,delete-orphan" name="listOfTableB" table="TableB">
        <key column="tableAId" />
        <index column="idx"/>
        <composite-element class="TableB">
            <property name="name" column="name" not-null="true" />
        </composite-element>
</list>

使用上面的代码,在 DB 中它正在为表 B 中的 'tableAId' 和 'idx' 创建一个共享索引(同名索引)。

在这种情况下,除了现有的共享索引之外,我是否应该单独为 'tableAId' 添加一个单独的索引以避免死锁?还是现有索引本身就足够了?

如果您在 tableAId, idx 上有一个索引,那么单独在 tableAid 上也有一个索引可能(几乎总是)没有任何好处。没有死锁的危险。