完成将所有数据存储到sqlite后,它已达到14 MB。这就是为什么我担心有些人无法从连接缓慢区域下载我的应用程序。有什么办法可以压缩sqlite数据库吗?如何缩小sqlite数据库?
12
A
回答
19
你试过VACUUM?
VACUUM命令重建整个数据库。有几个原因应用程序可能做到这一点:
- 除非SQLite是在“auto_vacuum = FULL”模式下运行,当大量的数据从数据库中删除的文件会留下空白空间,或“免费”数据库页面。这意味着数据库文件可能比绝对必要的文件大。运行VACUUM重建数据库将回收此空间并减小数据库文件的大小。
- 频繁插入,更新和删除可能导致数据库文件变为碎片 - 单个表或索引的数据分散在数据库文件周围。运行VACUUM可确保每个表和索引大部分连续存储在数据库文件中。在某些情况下,真空也可以通过数据库的内容复制到一个临时数据库降低数据库中的部分填充的页面的数量,减少了数据库文件进一步的大小...
真空命令作品文件,然后用临时文件的内容覆盖原文件。覆盖原始文件时,将使用回滚日志或write-ahead log WAL文件,就像使用其他数据库事务一样。这意味着,清理一个数据库时,在可用磁盘空间是必需的原始数据库文件的多达两倍的大小...
1
8
一些提示:
SQLite是有点懒回收未使用的空间;使用VACUUM命令或auto vacuum mode。
数据库格式为快速访问交易空间效率。如果只是转储数据内容,无论是作为SQL转储还是简单地将每个数据库表的CVS文件转储,您可能会得到较小的文件。
要么使用数据库文件或明文数据,尝试压缩它们。
1
14MB是一个Android应用程序还是非常大的,这是如果你可以安排它被从服务器下载并集成到应用程序更好。
您可以将应用程序与压缩的数据库文件(即.zip文件)捆绑在一起,并在应用程序第一次运行时(记住删除.zip文件)将其解压缩。最好在SD卡上做所有这些事情。
2
0
14MB对于现在的应用来说并不是那么大。 您可以尝试的另一件事是删除不必要的表索引。有些索引可能会潜伏在您的表格中,并且可能会占用大量空间。您可能需要以不同的方式进行查询。
+1
或者您可以在第一次应用程序启动时重新构建它们。 – xryl669
相关问题
- 1. 如何缩小我的数据库?
- 2. Xamarin和SQLite:修复损坏的数据库和缩小
- 3. 如何的SQLite数据库
- 4. Android - 小型数据库 - xml与sqlite
- 5. SQLite - 预分配数据库大小
- 6. SQLite数据库大小太大
- 7. 在SQLite中查询数据库大小
- 8. 数据库sqlite
- 9. SQLite数据库
- 10. SQlite数据库
- 11. sqlite数据库
- 12. 如何将SQLite数据库的大小限制增加到140TB?
- 13. 透明SQLite数据压缩
- 14. 为什么缩小sqlserver 2005数据库?
- 15. 缩小数据库...我应该
- 16. 以小块收缩数据库
- 17. 如何缩小MS SQL 2000数据库上的事务日志?
- 18. SQLite数据库数据retreive
- 19. 如何按组缩小此数据框?
- 20. 如何将Microsoft Access数据库保存为.sqlite数据库?
- 21. 如何确定SQLite数据库的数据库使用情况?
- 22. 如何从sqlite数据库获取数据库字段值?
- 23. 如何选择我的SQLite数据库
- 24. 如何备份SQLite数据库?
- 25. 如何更新SQLite数据库
- 26. 如何从Sqlite数据库填充listview?
- 27. 如何在sqlite中删除数据库?
- 28. 如何备份sqlite数据库?
- 29. 如何替换SQLite数据库
- 30. 如何显示SQLite数据库表?
如何运行此命令? –
@ElgsQianChen - 我建议把它作为一个SQL语句。 –
谢谢,它的工作原理。当我问这个问题时,我错过了分号分号。 –