SQLite - 如何制作更小的数据库以获得更好的性能?

时间:2012-10-14 11:28:42

标签: php performance sqlite

是否有一些类或方法来限制SQ​​Lite数据库中的记录大小或数量,并在第一个数据库满(最多限制)后自动创建新数据库?

我的SQLite数据库最大可达500mb,在共享主机上它无法工作。 所以,我想把它分成10个50 MB左右的数据库。

如果创建了多个数据库,这还可以轻松地从正确的数据库中读取吗?

1 个答案:

答案 0 :(得分:1)

可以使用ATTACH command

在一个会话中打开其他数据库
ATTACH '/data/db1.sqlite' AS db1; -- opens or creates that file
ATTACH '/data/db2.sqlite' AS db2;

CREATE TABLE db1.customers(...);
CREATE TABLE db2.product(...);
CREATE TABLE main.orders(...);    -- "main" is the connection's default database

SELECT * FROM customers, orders WHERE orders.custid = customers.id ...
                                  -- table names are searched for in all DBs

但是,无法自动拆分数据库;每个表(及其索引)必须完全存储在一个文件中。 如果您的大多数数据都在一个表格内,这根本不会对您有所帮助。