【问题标题】:Hibernate indexing for like expression类似表达式的休眠索引
【发布时间】:2013-10-30 08:37:53
【问题描述】:

我正在使用 Hibernate 3.3.1 和 PostgreSQL 9.2.2 服务器。我的应用程序的表格 由休眠自动生成,现在我想做一个优化 表格中经常使用的“like”表达式,看起来是这样的: “像 'RootFolder_FirstSubfolder%' 这样的路径”

默认情况下,hibernate 只为我通过注释定义的“id”列创建索引。

有什么建议可以让我使用更多索引来加速我的“喜欢”表达吗?
非常感谢您提前帮助我

亲切的问候

香农

【问题讨论】:

    标签: postgresql hibernate indexing sql-like


    【解决方案1】:

    Hibernate 可以使用Index 注解自动创建附加索引:

    @org.hibernate.annotations.Index(name = "IDX_PATH")
    private String path;
    

    但这无济于事,因为创建的索引不适合 like 子句。

    阅读最受好评的答案here 以获得更好的解决方案。不幸的是,它需要自定义 sql 和 AFAIK,没有简单的方法将自定义 sql 集成到 hibernate 模式更新工具生成的脚本中。

    作为休眠自动更新的替代方法:您可以使用liquibase 之类的工具来管理架构更新。它需要更多设置,但它可以让您完全控制架构更新脚本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-26
      • 2014-05-14
      相关资源
      最近更新 更多