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

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - SQL 用法 » 性能提高、诊断和监控 » 关于提高性能的提示

 

提示:使用适当的页大小

选择的页大小会影响数据库的性能。较大的页和较小的页都存在各自的优缺点。

SQL Anywhere 会尽可能地将页填满。只有当新对象太大而无法装入现有页上的空白空间时,空白空间才会累积。因此,调整页面大小可能不会对数据库的总体大小造成很大的影响。

强烈建议您在选择页面大小时对性能(以及其它行为方面)进行测试。 然后,选择可提供满意结果的最小页面大小。如果在同一服务器上启动多个数据库,选择正确且合理的页面大小就很重要。

较小的页保存的信息较少,对空间的使用效率较低,特别是当您插入的行略大于页面大小的一半时。但较小的页大小也使 SQL Anywhere 可以使用较少的资源运行,因为它在相同大小的高速缓存中可以存储更多的页。如果您的数据库在内存有限的小型计算机上运行,较小的页将特别有用。如果数据库主要用于从随机位置检索小块信息,较小的页也很有帮助。

较大的页大小有助于 SQL Anywhere 更有效地读取数据库。较大的页大小往往有益于大型数据库和执行顺次表扫描的查询。通常,磁盘的物理设计会使磁盘检索较少的大块比检索较多的小块更有效率。较大的页大小还有其它优点,其中包括提高索引的涵盖范围,进而减少索引级别数并使表可以包括更多的列。如果选择较大的页面大小,则最好增加高速缓存的大小,因为同样大小的高速缓存所能容纳的大页较少。如果高速缓存不能保存足够的页,当数据库服务器开始与磁盘交换常用页时,性能就会受到影响。

较大的页大小对内存的需求也更多。此外,除非您能确保总是有较大的数据库服务器高速缓存,否则,对于大多数应用程序,都不建议使用极其大的页大小(16 KB 或 32 KB)。

数据库服务器的内存使用量与装载的数据库数和数据库的页大小成比例。强烈建议您在选择页大小时进行性能测试(和一般测试)。然后,选择可提供满意结果的最小的页面大小 (>= 4 KB)。如果要在同一服务器上启动大量数据库,那么选择正确(且合理)的页面大小很重要。

您不能更改现有数据库的页大小。而必须新建数据库并使用 dbinit 的 -p 选项来指定页大小。例如,以下命令将创建一个页大小为 4 KB 的数据库。

dbinit -p 4096 new.db

还可使用包含 PAGE SIZE 子句的 CREATE DATABASE 语句来创建具有新的页大小的数据库。

对于每个表,SQL Anywhere 将创建反映各表页在整个 dbspace 文件中位置的位图。数据库服务器使用位图一次性读取表页的大块 (64 KB),而不是单个页面。此功能(又称作组读取)降低了对磁盘进行的 I/O 操作总数,同时提高了性能。用户不能控制数据库服务器有关创建或使用位图的标准。

 页面大小和索引
 分散读取
 另请参见