2011-12-14 21 views
14

Mam małe pytanie dotyczące przechowywania danych w bazie danych SQLite. Ile rekordów w bazie danych SQLite możemy maksymalnie przechowywać? Czy jest jakieś ograniczenie? Jeśli dane wykraczają poza to ograniczenie, jaki rodzaj błędu daje? Czy cały system ulegnie awarii, czy co się stanie?Maksymalna pojemność bazy danych SQLite

+0

pokrewne: http://stackoverflow.com/questions/3482635/what-is-a-maximum-size-of-sqlite-database-on-android – nawfal

+0

1 Tera Byte .... –

Odpowiedz

13

podstawie this stronie:

Android nie nakłada żadnych ograniczeń poza standardową SQLite pojęć. Zalecamy uwzględnienie pola klucza wartości autoinkmentu o numerze , który może być użyty jako unikalny identyfikator, aby szybko znaleźć rekord. Nie jest to wymagane w przypadku prywatnych danych, ale jeśli zaimplementujesz dostawcę treści, , musisz podać unikalny identyfikator przy użyciu stałej BaseColumns._ID.

Limit jest powiązany z SQLite limitation. Co się stało, kiedy osiągnęliśmy ten limit, domyślam się, że Android podniesie SQLiteFullException.

+0

Dzięki @silent , Jeśli przechowuję 1 0r 2 dni Informacje o lokalizacji na sqlite dla peridiocity 15 minut, czy będzie pełna? Jak mogę skrócić tabelę, jeśli baza danych się zapełni? –

+2

4 * 24 = 96 wejście/dzień = 1.000.000.000/96 = ~ 28500 lat. Myślę, że w twojej sytuacji nigdy nie będziesz musiał się obcinać. Możesz jednak wykonać polecenie "DELETE * FROM yourtable", aby skrócić dane. – ariefbayu

+0

Dziękuję bardzo .... za oczyszczenie koncepcji .... !! –

3

Jego maksimum 140 terabajtów. W Więcej szczegółów

SQLite został pierwotnie zaprojektowany z polityką unikania arbitralnych granice. Oczywiście każdy program działający na maszynie o skończonej pamięci i na dysku ma pewne ograniczenia. Ale w SQLite te granice nie były dobrze zdefiniowane. Zasady były takie, że gdyby pasował do pamięci i mógłbyś policzyć ją 32-bitową liczbą całkowitą, to powinien on działać .