当前位置: 首页 > 面试题库 >

如何缩小sqlite数据库?

邵弘伟
2023-03-14
问题内容

一旦将所有数据存储到sqlite中,它已经达到14 MB。因此,我担心有些人无法从连接速度较慢的区域下载我的应用程序。有什么办法可以缩小sqlite数据库?


问题答案:

您尝试过VACUUM吗?

VACUUM命令重建整个数据库。应用程序可能会这样做的原因有几个:

  • 除非SQLite在“ auto_vacuum =
    FULL”模式下运行,否则从数据库文件中删除大量数据时,它将留下空白空间或“可用”数据库页面。这意味着数据库文件可能大于严格所需的文件。运行VACUUM重建数据库可回收此空间并减小数据库文件的大小。
  • 频繁的插入,更新和删除会导致数据库文件碎片化-
    单个表或索引的数据分散在数据库文件周围。运行VACUUM可确保每个表和索引在数据库文件中大部分连续存储。在某些情况下,VACUUM还可以减少数据库中部分填充的页面数,从而进一步减小数据库文件的大小…


VACUUM命令的工作方式是将数据库的内容复制到一个临时数据库文件中,然后用该临时文件的内容覆盖原始文件。覆盖原始文件时,将使用回滚日志或预写日志
WAL文件,就像处理任何其他数据库事务一样。这意味着在对数据库进行VACUUM时,可用磁盘空间需要的大小是原始数据库文件的两倍…



 类似资料:
  • 正确的方法是什么?我是不是只是抄了这本书。sq3文件? 如果网站上有用户,并且在复制文件时正在编写文件,该怎么办?

  • 所以我根据YouTube上的教程创建了一个房间数据库。我有两个栏day and likes,每个栏都有int.目前,我已经用三行数据手动填充了数据库。 下面是手动填充数据库的代码: 在我的Dao类中,我当前有Insert、Update、deleteAll和getall...方法。这里是道: } 现在,我要从Room数据库中检索基于当天的数据。所以我想要第6天的likes数,它是1。我想检索数据并将

  • https://github.com/kite-sdk/kite/blob/master/kite-data/kite-data-mapreduce/src/test/java/org/kitesdk/data/mapreduce/testmapreduce.java 我的代码段如下 我正在使用HDP2.3.2 box,创建组装jar并通过Spark-Submit提交我的应用程序。 我不明白怎么了

  • 问题内容: 我正在使用当前系统时间在表中插入数据,例如 。因此,在获取数据时,我仅需要获取最后3个小时的数据。 以下链接对我没有帮助。因为此链接使用的是我没有的特定日期格式。 从SQLite获取根据过去小时的数据 这是我的查询,但似乎无法正常工作。 插入时时间戳只不过是当前系统时间。 请给我任何参考或提示。 问题答案: 您可以使用以下方法获取3小时的时间戳记 然后,您可以传递给查询。 或者您可以在

  • 问题内容: 首次启动应用程序后,我需要向SQLite数据库添加初始值。我该怎么办? 问题答案: 在DBAdapter.java类文件中,您可以执行此操作。 喜欢这种类型。

  • 然而,敬虔加上知足的心便是大利了,因为我们没有带什么到世上来,也不能带什么去,只要有衣有食,就当知足。但那些想要发财的人,就陷在迷惑、落在网罗和许多无知有害的私欲里,叫人沉在败坏和灭亡中。贪财是万恶之根。有人贪恋钱财,就被引诱离了真道,用许多愁苦把自己刺透了。(1 TIMOTHY 6:6-10) SQLite数据库 SQLite是一个小型的关系型数据库,它最大的特点在于不需要服务器、零配置。前面的