【问题标题】:does h2 database support prefix index?h2 数据库支持前缀索引吗?
【发布时间】:2020-04-10 09:31:07
【问题描述】:

我有一个需要索引的表,其中包含类似 TEXT/CLOB 的列:

CREATE TABLE test (id INT PRIMARY KEY, val VARCHAR(512))

但是这个索引占用了太多空间:

CREATE INDEX test_val ON test(val)

我可以创建一个只有该列前缀的索引吗?比如 MySQL 的前缀索引:

CREATE INDEX test_val ON test(val(20))

【问题讨论】:

    标签: indexing h2 prefix database-indexes


    【解决方案1】:

    H2 不以任何方式支持部分索引。这是相关的功能请求: https://github.com/h2database/h2database/issues/2054

    H2 支持生成列的索引,因此您可以根据原始列 (AS SUBSTRING(ORIGINAL_COLUMN FROM 1 FOR 20)) 创建生成列并对其进行索引,但您需要在 SELECT 查询中指定此列的值;否则它的索引将不会被使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-16
      • 2020-04-09
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      • 2017-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多