常見誤區
網路上流傳「SQLite 最大支援 2 TB」的說法,這確實是 SQLite 引擎本身的理論上限(單一資料庫檔案最大 140 TB,頁面大小 65536 bytes 時)。但在 Android 實體裝置上,這個數字純屬理論值,完全無法達成。
實際限制因素
- 儲存空間:手機內部儲存通常僅 32 GB~512 GB,系統與其他 App 已佔用大部分空間。
- 檔案系統:Android 採用 ext4/f2fs,單一檔案大小受限於可用磁碟空間。
- 效能考量:資料庫超過 1~2 GB 時,查詢效能明顯下降,建議分表或遷移至 Room + Flow 等現代架構。
- 應用沙箱:每個 App 專屬目錄(
/data/data/package/databases/)配額受系統限制。
實務建議
- 輕量級資料(設定、快取、小型清單)適合用 SQLite/Room。
- 大量結構化資料(日誌、影音索引、離線地圖)建議採用分檔策略或雲端同步。
- 定期執行
VACUUM 整理碎片,避免檔案膨脹。
結論
Android 上的 SQLite 絕無法容納 2 TB 資料,實際可用容量取決於裝置剩餘儲存空間與效能門檻,建議在 1 GB 內規劃資料架構。