2011-01-20 8 views

答えて

2

私のSQLiteでの経験は、クエリの構造の仕方によっては大きなレコードセットでは非常に遅いということです。データが正規化されておらず、プライマリ・キーに対して1つの表を問い合せると、それは許容されるほど高速ですが、データが完全に正規化されていて、複数の結合が必要な場合は、 。

SQLiteの主な利点は、アプリケーションに埋め込まれたファイルを簡単に配布できるようにする、サイズが小さく単一ファイルなことです。それはあなたのための要件ではないように思われるので、私はあなたが他のものと一緒に行く方が良いと思う。 Windows、MySQL、Postgresを使用している場合は、SQL Server Expressが優れています。

1

何百万ものエントリに入っても、SQLiteは特に高速です。結果は、そこに置いたもの、スキーマ、列数、インデックスによって異なります。

SQLiteの利点(特にあなたの場合)は、それが軽いので、データで試してみると時間と労力がかかります。非常に簡単で、その理想的なユースケースは、実際には単一ユーザーのアクセスです。

私は、代表的なデータ量で構築しようとしています(コマンドラインからCSVファイルからインポートを実行するか、そこにある多くのラッパーを使用することができます)。スピードが満足できるものでなければ、より多くのパワーを持つものに切り替える必要があるかもしれませんが、MySQLのようにもう少しセットアップが必要です。

2

以前の記事で指摘したように、SQLiteは素晴らしいSQLライブラリですが、データセットが非常に大きくなったときに不足する可能性があります。 Berkeley DBは最近、完全にSQLiteと互換性のあるSQL APIを導入しました。 Berkeley DBに追加され、Berkeley DBの並行性、スケーラビリティ、信頼性を備えたSQLiteの普遍性、シンプルさ、使いやすさなど、SQLiteユーザに両立しました。

Berkeley DB SQL APIはSQLiteアプリケーション、特に固有のSQLiteで利用できないBerkeley DBの機能とスケーラビリティを必要とするアプリケーションのドロップイン置換であるように設計されています。 Berkeley DB SQL API documentationで詳細を読むことができます。

免責事項:私はBerkeley DBのプロダクトマネージャーの1人です。私は少し偏っています。しかし、あなたのユースケースは、HippとSQLite開発者と協力して、SQLite APIとBerkeley DBストレージマネージャーを組み合わせた理由の1つです。これにより、SQLiteアプリケーション開発者は、既存の実装と互換性を保ちながら、機能を追加した新しい領域にアプリケーションを移行することができます。

ご不明な点がございましたら、お手数ですがお手数であればお知らせください。 OTN Forumsには、Berkeley DB開発者のアクティブなコミュニティがあります。

あなたのプロジェクトに最適です。

よろしく、

デイブ

+0

は、私はAndroidのアプリケーションでこれを使用する方法を教えてもらえますか?私はどこの文書も見つけられません。 – Codevalley

+0

OTNフォーラムは始めるのに適しています:http://bit.ly/eIREhr Androidは基本的にUnixプラットフォームなので、Unixのビルド手順が適用されます。私はあなたがアンドロイドにBDBに関する質問を今日のフォーラムに投稿したと言っています。私は、開発チームの誰かにあなたにできるだけ早く戻ってくるよう依頼しました。遅延のお詫び私は今週旅行しているので、OTNフォーラムは間違いなくあなたの最善の策です。 – dsegleau

+0

このOTNリンクは、開始するのに適しています:http://bit.ly/hb7wlC – dsegleau

関連する問題