是否有一些类或方法来限制 SQLite 数据库中记录的大小或数量,并在第一个数据库满时自动创建一个新数据库(达到限制)?
我的 SQLite DB 的大小可以达到 500mb,并且在共享主机上它不起作用。所以,我想把它分成 10 个 50 MB 左右的数据库。
如果创建了几个,这是否也允许从正确的数据库中轻松读取?
是否有一些类或方法来限制 SQLite 数据库中记录的大小或数量,并在第一个数据库满时自动创建一个新数据库(达到限制)?
我的 SQLite DB 的大小可以达到 500mb,并且在共享主机上它不起作用。所以,我想把它分成 10 个 50 MB 左右的数据库。
如果创建了几个,这是否也允许从正确的数据库中轻松读取?
ATTACH
可以使用以下命令在一个会话中打开其他数据库:
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
但是,不能自动拆分数据库;每个表(及其索引)必须完全存储在一个文件中。如果您的大部分数据都在一个表中,那么这对您毫无帮助。