选择的页大小会影响数据库的性能。较大的页和较小的页都存在各自的优缺点。
较小的页保存的信息较少,对空间的使用效率较低,特别是当您插入的行略大于页面大小的一半时。但较小的页大小也使 SQL Anywhere 可以使用较少的资源运行,因为它在相同大小的高速缓存中可以存储更多的页。如果您的数据库在内存有限的小型计算机上运行,较小的页将特别有用。如果数据库主要用于从随机位置检索小块信息,较小的页也很有帮助。
较大的页大小有助于 SQL Anywhere 更有效地读取数据库。较大的页大小往往有益于大型数据库和执行顺次表扫描的查询。通常,磁盘的物理设计会使磁盘检索较少的大块比检索较多的小块更有效率。较大的页大小还有其它优点,其中包括提高索引的涵盖范围,进而减少索引级别数并使表可以包括更多的列。
请记住,较大的页大小对内存的需求也更多。此外,除非您能确保总是有较大的数据库服务器高速缓存,否则,对于大多数应用程序,都不建议使用极其大的页大小(16 KB 或 32 KB)。在使用 16 KB 或 32 KB 页大小前,先要调查内存和磁盘空间的增加对性能特性的影响。
数据库服务器的内存使用量与装载的数据库数和数据库的页大小成比例。强烈建议您在选择页大小时进行性能测试(和一般测试)。然后,选择可提供满意结果的最小的页面大小 (>= 4 KB)。如果要在同一服务器上启动大量数据库,那么选择正确(且合理)的页面大小很重要。
您不能更改现有数据库的页大小。而必须新建数据库并使用 dbinit 的 -p 选项来指定页大小。例如,以下命令将创建一个页大小为 4 KB 的数据库。
dbinit -p 4096 new.db |
还可使用包含 PAGE SIZE 子句的 CREATE DATABASE 语句来创建具有新的页大小的数据库。请参见CREATE DATABASE 语句。
有关较大的页大小的详细信息,请参见设置最大页面大小。
如果您使用的是 Windows,则使用最小 4 KB 的页大小使得数据库服务器可将磁盘上数据库页较大的连续部分直接读取到高速缓存中适当的位置(完全不使用 64 KB 缓冲区)。此特性可显著提高性能。
分散读取不再用于远程计算机上的文件,也不再用于使用 UNC 名称(如 \\mycomputer\myshare\mydb.db)指定的文件。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |