数据库文件优化

避免数据库架构更改。

如有可能,在向数据库的表中添加数据后,避免更改数据库的架构(表结构)。通常,数据库文件是使用该文件开头的表定义构建的。打开到数据库的连接时,运行时将加载这些定义。向数据库表添加数据时,会将该数据添加到文件中,并放置在表定义数据之后。但是,如果进行架构更改,则新的表定义数据将与数据库文件中的表数据相混合。例如,向表中添加列或者添加新表会导致数据类型混合。如果表定义数据不全部位于数据库文件的开头,则打开到数据库的连接需要较长的时间。因为运行时从文件的不同部分读取表定义数据需要较长的时间,所以打开连接较慢。

在架构更改后,使用 SQLConnection.compact() 方法优化数据库。

如果必须进行架构更改,则可以在完成更改后调用 SQLConnection.compact() 方法。此操作将重新结建数据库文件,以便表定义数据全部位于文件的开头。但是, compact() 操作可能需要大量的时间,尤其是数据库文件日益增长时。