Hibernate - 打开和关闭SQL索引使用

Mat*_* B. 0 java sql indexing hibernate

如何明确告诉Hibernate使用或不使用SQL索引?

如果Hibernate发现它可以有效地利用资源,那么它也会创建SQL索引吗?

mil*_*lan 6

How can I explicitly tell Hibernate to use or not to use SQL index
Run Code Online (Sandbox Code Playgroud)

强制执行全表扫描的最简单方法是删除索引.为什么要维护一个你不想使用的索引.

Hibernate是一个ORM工具,它是底层数据库,决定如何执行查询 - 是否使用索引.因此,如果你想保留索引,并且你认为查询平面器在不应该的时候选择索引,那么也许你可以扭曲sql查询以便它导致全表扫描,或者使用数据库特定的sql语法 - SELECT FULL()...在Oracle,enable_indexscan(false)Postgresql等中(如果您的数据库存在这样的事情).

如果Hibernate发现它可以有效地利用资源,它会创建SQL索引吗?

没有.