Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » UltraLite - 数据库管理和参考 » UltraLite 数据库参考 » UltraLite 创建参数

 

UltraLite max_hash_size 创建参数

以字节为单位设置最大的缺省索引散列大小。

语法
{ ulcreate | ulinit | ulload } -o 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 中,可以在任何一个创建数据库向导中设置最大散列大小。在 [新数据库存储设置] 页面上,选择 [索引的最大散列大小] 选项。

在客户端应用程序中,对于数据库管理器类,将此参数设置为创建数据库方法的创建参数之一。

另请参见