web-dev-qa-db-ja.com

データベースサイズが2ギガバイトを超えると、SQLiteのパフォーマンスが低下しますか?

昨年彼らのWebサイトでSQLiteについて調べたとき、推奨されるSQLiteデータベースのサイズは2ギガバイトでした。しかし、今、私はその勧告を再び見つけることができませんでした。

だから、最新バージョンを使用して2ギガバイトを超えるSQLiteデータベースで作業しようとした人はいますか? SQLiteはどの程度うまく機能しましたか?

追伸:ローカルで機能する大きなデータベース(Wikipediaの記事を保存するなど)を必要とするモバイルアプリケーションを作成したいと思います。

52
Enkhbat

2 GBの制限はありません。

SQLiteデータベースファイルの最大サイズは約140 TBです。

電話では、ストレージのサイズ(数GB)によってデータベースファイルのサイズが制限され、メモリサイズによってクエリから取得できるデータの量が制限されます。さらに、Androidカーソルの結果には1 MBの制限があります。


データベースのサイズ自体は、パフォーマンスに影響しません。 DBのページキャッシュ(デフォルトでは2 MB)に収まる以上のデータにアクセスしない限り、クエリは高速になります。

62
CL.

通常、データベースが大きいほど、データベースに含まれるデータが多くなります。データが多いほど、検索に時間がかかる可能性があります。彼らはする必要はありません、それは検索に依存します。

挿入に関しては、テーブルに多くのインデックスがある場合、時間がかかる場合があります。インデックスの再構築には時間がかかる場合があるため、データ量に伴う挿入速度の低下が予想されます。

更新も遅くなる場合があります-最初にフィッティング行を見つける必要があり(検索)、次に値を変更する必要があります(インデックスの再構築をトリガーする可能性があります)。

経験からこれをお伝えします。データベースに大量のデータが予想される場合は、複数のデータベースに分割することを検討してください。これは、データが毎日収集され、毎日データベースを作成できる場合に機能します。検索コードがより複雑になる可能性がありますが、限られた検索/

24
Dariusz