2011-12-14 14 views
14

Ho una piccola domanda sull'archiviazione dei dati su un database SQLite. Quanti record in un database SQLite possiamo archiviare al massimo? C'è qualche limite? Se i dati superano questa limitazione, quale tipo di errore fornisce? L'intero sistema fallirà o cos'altro accadrà?Capacità massima memoria database SQLite

+0

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

+0

1 Tera Byte .... –

risposta

13

Sulla base this pagina:

Android non impone alcuna limitazione al di là della normale SQLite concetti. Raccomandiamo di includere un campo chiave valore autoincremento che può essere utilizzato come ID univoco per trovare rapidamente un record. Questo non è richiesto per i dati privati, ma se si implementa un provider di contenuti, è necessario includere un ID univoco utilizzando la costante BaseColumns.ID.

Il limite è legato a SQLite limitation. Per quanto riguarda ciò che è successo quando abbiamo raggiunto quel limite, suppongo che Android aumenterà il numero SQLiteFullException.

+0

Grazie @silent , Se immagazzino 1 0r 2 giorni Informazioni sulla posizione su sqlite per la peridicità di 15 minuti, si riempirà? Come posso troncare la tabella se il database si riempie? –

+2

4 * 24 = 96 ingresso/giorno = 1.000.000.000/96 = ~ 28500 anni. Penso che per la tua situazione non dovrai mai troncare. Tuttavia, puoi ancora "CANCELLARE * DA yourtable", per troncare i suoi dati. – ariefbayu

+0

Grazie mille .... per chiarire il concetto .... !! –

3

Massimo 140 terabyte. In dettaglio

SQLite è stato originariamente progettato con una politica di evitare arbitrarie limiti. Naturalmente, ogni programma che gira su una macchina con memoria finita e spazio su disco ha dei limiti di qualche tipo. Ma in SQLite, quei limiti non erano ben definiti. La politica era che se si adattava alla memoria e si poteva contarla con un numero intero a 32 bit, allora dovrebbe funzionare .

Problemi correlati