big*_*mus 9 postgresql indexing hibernate foreign-keys
我使用PostgreSQLDialect在PostgreSQL 8.4的一个相当大的项目中使用Hibernate 3.3.2.
我们建立关系的方式,最终我们对表的外键属性进行了大量搜索.
出于性能原因,我想在使用hbm2dll.auto创建表时,让Hibernate向所有外键列添加索引.
MySQL会自动为这些列添加索引,但似乎没有办法在Postgres中执行此操作.
有没有我可以设置的选项,或者我可以添加到我的hbm.xml文件中以实现这一目的?
Hibernate只强制MySQL创建索引,不强制PostgreSQL、Oracle等创建索引。MySQL不允许没有索引的外键,其他数据库没有这个限制。
Sybase 有一个解释,说明为什么不强制执行索引是件好事,Hibernate 论坛也有一个关于它的主题(与 Oracle 相关),包括解决方法。但在开始创建大量索引之前,请开始检查是否需要所有这些索引。在许多情况下,索引可以与其他索引结合起来以加快速度。这一切都取决于!
在查询中使用 EXPLAIN 可以查看数据库如何执行它们、使用了哪些索引、哪里缺少索引等。
| 归档时间: |
|
| 查看次数: |
4312 次 |
| 最近记录: |