9

Sqlite を使用して PC 上で生成されたデータベース ファイルがあります。次に、このファイルは、オペレーティング システムなしで ARM7 ベースの組み込みシステムに転送されます。組み込みシステムはこのデータベースにアクセスする必要がありますが、更新する必要はありません。

組み込みシステム用に sqlite3 を十分に小さくしようとしてきましたが、これまでのところ、アプリケーションのサイズを 256 キロバイト (私の限界) 未満にすることはできません。

sqlite3 をこのサイズまで縮小できた人はいますか? このデータベースを読み取るために使用できる他のソフトウェアはありますか?

編集: C を使用してデータベースにアクセスしようとしています。これは sqlite3_exec() 関数を使用して行われます。

2 つのテーブルがあります。1 つのテーブルには ID とテキストがあり、2 番目のテーブルには ID、最初のテーブルの ID へのリンク、テキスト、およびステータス値があります。必要なアクセスは、最初のテーブルの ID または部分テキストによるものと、2 番目のテーブルの ID によるものだけです。

おそらく、データベースへのアクセスに使用できるスタンドアロン コードがいくつかあるのではないでしょうか?

4

5 に答える 5

4

私が思いついた最小の sqlite3 は 327 キロバイト (PowerPC の場合) で、システムには十分だったので、それを小さくしようとするのをやめました。これは完全な sqlite3 CLI バイナリであり、C API だけではいくらか小さくなります。

SQLITE_OMIT_AUTHORIZATION、SQLITE_OMIT_EXPLAIN、SQLITE_OMIT_PROGRESS_CALLBACK、および SQLITE_OMIT_TCL_VARIABLE を設定してバイナリのサイズをトリミングし、-Os を使用してそのサイズにしました。

于 2008-10-07T13:21:01.780 に答える
1

「一定の」データに最適なcdbを確認することをお勧めします。コードはオープンソースであり、小さな実行可能ファイルにコンパイルされます。exeを小さくするためにそれをガットすることもできます。10k未満は簡単なはずです。グーグルcdb

于 2008-12-29T02:47:54.033 に答える
1

SQL の全機能を必要としない場合は、Berkeley DBなどの代替ソリューションを検討することをお勧めします。

于 2008-10-09T14:44:11.097 に答える
0

データベース ファイルを XML、テキスト、または別の「フラット」ファイルにエクスポートできますか? これは、組み込み環境での作業がはるかに簡単です。

于 2008-10-07T13:10:39.807 に答える
0

最初に sqlite2 を試してみます。よりスリムな (またはそうでない) 可能性があります。それでも問題が解決しない場合は、独自のバイナリ エンコーディングを使用することをお勧めします。

データ ファイルが非常に大きくない限り、SQLite の優れた最適化で失われるものは、SQL を使用しないことで得られます。

もちろん、適切なデータ構造を使用してください (ほとんどの場合、B*Tree など)。

于 2008-10-07T17:32:09.793 に答える