h2数据库是否支持前缀索引?

问题描述 投票:0回答:1

我有一个带有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个回答
1
投票

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

H2支持在生成的列上建立索引,因此您可以基于原始列(AS SUBSTRING(ORIGINAL_COLUMN FROM 1 FOR 20))创建一个生成的列并为其建立索引,但是您将需要在SELECT查询中指定此列的值;否则将不使用其索引。

© www.soinside.com 2019 - 2024. All rights reserved.