Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
以字节为单位设置最大的缺省索引散列大小。
ulinit --max_hash_size=value
0 到 32 个字节
4 个字节
散列是存储在索引页中的索引条目的可选部分。散列会将索引列的实际行值转换为等效的数字值(键),同时仍然保留该索引的顺序。键大小以及 UltraLite 会散列实际值的多少,由所设置的散列大小确定。
行 ID 使得 UltraLite 可以定位实际数据在表中所处的行。行 ID 始终是索引条目的一部分。如果将散列大小设置为 0(禁用索引散列),则索引条目只包含此行 ID。对于所有其它散列大小,散列键(可以包含该行的所有或部分转换的数据)可以与行 ID 一起存储在索引页中。您可以在这些索引列上提高查询性能,因为在比较实际行值之前,UltraLite 可能并不总是需要查找、装载和解开数据。
确定一个恰当的缺省数据库散列大小,需要在查询效率和数据库大小之间进行折衷:最大散列值越高,数据库大小就会变得越大。
列的数据类型需要多少个字节,UltraLite 就使用多少个字节,但不超过此参数指定的最大值。仅当您在创建索引时没有设置大小的情况下才会使用缺省散列大小。如果将缺省散列大小设置为 0,则 UltraLite 不会散列行值。
不能更改现有索引的散列大小。当创建一个新索引时,可以使用 Sybase Central 中的 UltraLite 的 [创建索引向导] 或者 CREATE INDEX 或 CREATE TABLE 语句中的 WITH MAX SIZE 子句覆盖缺省值。
如果将列声明为 DOUBLE、FLOAT 或 REAL,则不使用散列。将始终忽略散列大小。
从 Sybase Central 中,可以在任何一个创建数据库向导中设置最大散列大小。在 [新数据库存储设置] 页面上,选择 [索引的最大散列大小] 选项。
在客户端应用程序中,对于数据库管理器类,将此参数设置为创建数据库方法的创建参数之一。