HSQLDB 索引和多列约束
Posted
技术标签:
【中文标题】HSQLDB 索引和多列约束【英文标题】:HSQLDB indices and multi-column constraints 【发布时间】:2011-02-28 23:24:51 【问题描述】:手册说“索引不应重复 PRIMARY KEY、UNIQUE 或 FOREIGN 键约束的列,因为这些约束中的每一个都会自动创建索引。”我不清楚这是否也适用于多列约束的各个列。假设我对列 (A,B) 有唯一约束,并且我打算在 B 上进行选择,我需要在 B 上建立索引吗?
【问题讨论】:
【参考方案1】:引用的部分来自第 4 章。答案可以在第 2 章中找到:“n HyperSQL 2.0,多列索引将加快索引前 n 列包含连接或值的查询。你需要除非您使用仅搜索列子集的查询,否则不要在这些列上声明其他单独的索引。”因此,在我的场景中,我需要在 B 上添加一个额外的索引,但我可以通过将唯一性约束设置为 (B,A) 而不是 (A,B) 来避免这种需要。
【讨论】:
以上是关于HSQLDB 索引和多列约束的主要内容,如果未能解决你的问题,请参考以下文章
HSQLDB:奇怪的“唯一约束或索引违规”,从CSV读取数据