What is a maximum size of SQLite database on Android? What is a maximum size of SQLite database on Android? android android

What is a maximum size of SQLite database on Android?


Maximum length of a string or BLOB Default size is 1 GB Max size is 2.147483647

Maximum Number Of Columns Default size is 2000 Max size is 32767

Maximum Length Of An SQL Statement Default size is 1 MB Max size is 1.073741824

Maximum Number Of Tables In A Join Default is 64 tables

Maximum Number Of Attached Databases Default is 10 Max size is 125

Maximum Number Of Rows In A Table Max Size is 18446744073.709552765

Maximum Database Size 140 tb but it will depends on your device disk size.


I suspect it is ~2 gigabytes (that might be due to 32-bit architecture, although certain programs come with largefile support, allowing more that that). Fortunately android.database.sqlite.SQLiteDatabase has following API call that returns the maximum size the database may grow to:

long getMaximumSize()

Eventually you might want to look into database sharding ;)


SQlite has several limits (http://www.sqlite.org/limits.html) that can come into play with any database. Have you tried vaccum;ing this particular database? It will rebuild the structures. You could have some level of corruption or you have hit one of the other compiled limits that are there to ensure that the DB doesn't become an exploit vector.