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