0

SQLite データベースのサイズまたはレコード数を制限し、最初の DB がいっぱいになると (制限まで) 新しい DB を自動的に作成するクラスまたはメソッドはありますか?

私の SQLite DB は最大 500 MB のサイズになる可能性があり、共有ホスティングでは機能しません。そこで、50MB 程度のデータベースを 10 個に分割したいと考えています。

それらのいくつかが作成された場合、これにより適切なデータベースから簡単に読み取ることもできますか?

4

1 に答える 1

1

ATTACH次のコマンドを使用して、1 つのセッション内で他のデータベースを開くことができます。

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

ただし、データベースを自動的に分割することはできません。各テーブル (およびそのインデックス) は、1 つのファイル内に完全に格納する必要があります。ほとんどのデータが 1 つのテーブル内にある場合、これはまったく役に立ちません。

于 2012-10-14T12:26:18.830 に答える