如何明确告诉Hibernate使用或不使用SQL索引?
如果Hibernate发现它可以有效地利用资源,那么Hibernate也会创建SQL索引吗?
答案 0 :(得分:6)
How can I explicitly tell Hibernate to use or not to use SQL index
强制进行全表扫描的最简单方法是删除索引。为什么要维护一个你不想使用的索引。
Hibernate是一个ORM工具,它是底层数据库,决定如何执行查询 - 是否使用索引。因此,如果你想保留索引,并且你认为查询平面器在不应该的时候选择索引,那么也许你可以扭曲sql查询以便它导致全表扫描,或者使用数据库特定的sql语法 - Oracle中的SELECT FULL()...
,Postgresql中的enable_indexscan(false)
等(如果您的数据库存在这样的事情)。
如果Hibernate发现它可以有效地使用,那么它是否会创建SQL索引 资源
没有。