gpt4 book ai didi

database - Informix 中索引的总大小太大或索引中的部分太多

转载 作者:搜寻专家 更新时间:2023-10-30 19:45:40 24 4
gpt4 key购买 nike

我正在尝试在 informix 上运行以下脚本:

CREATE TABLE REG_PATH (
REG_PATH_ID SERIAL UNIQUE,
REG_PATH_VALUE LVARCHAR(750) NOT NULL,
REG_PATH_PARENT_ID INTEGER,
REG_TENANT_ID INTEGER DEFAULT 0,
PRIMARY KEY(REG_PATH_ID, REG_TENANT_ID) CONSTRAINT PK_REG_PATH
);

CREATE INDEX IDX1 ON REG_PATH(REG_PATH_VALUE, REG_TENANT_ID);

但它给出了以下错误:

517: The total size of the index is too large or too many parts in index.

我使用的是 informix 版本 11.50FC9TL。我的 dbspace block 大小是 5M。

此错误的原因是什么,我该如何解决?

最佳答案

我相信 11.50 支持大页面大小,并且要在 LVARCHAR(750)(加上一个 4 字节 INTEGER)列上创建索引,您需要为包含的 dbspace 使用更大的页面大小索引。顺便说一下,我认为页面大小至少需要 4 KiB,而不是您几乎肯定正在使用的默认 2 KiB。我记得的经验法则是“每页至少有 5 个索引键”,在 754 字节加上一些开销的情况下,5 个键几乎不到 4 KiB。

这与 Bohemian 引用的值不同在他的 answer .

参见 IDS 12.10 Information Center有关 Informix 12.10 的文档。

最后一个引用有一个 dbspace 页大小和允许的最大键大小的表:

Page Size       Maximum Index Key Size
2 kilobytes 387 bytes
4 kilobytes 796 bytes
8 kilobytes 1,615 bytes
12 kilobytes 2,435 bytes
16 kilobytes 3,245 bytes

如果 11.50 不支持大页面尺寸,如果您必须创建这样的索引,则必须迁移到较新的版本(推荐 12.10,可能是 11.70)。

要考虑的另一种可能性是您是否真的想要这么大的 key 字符串;你能把它减少到 350 字节吗?那将适合您当前的系统。

关于database - Informix 中索引的总大小太大或索引中的部分太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31309525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com