最小化 SQLite 库大小

2023-12-20

我认为这对于 sqlite3.dll 或 sqlite3.lib 是相同的,但如果不是,我对 sqlite3.o (mingw32) 感兴趣。

如何最小化库的大小(使用-O3,因为速度是我最关心的问题,所以不同的编译器优化不是一个选项)?
如果我知道我的程序中不需要 SQL 的某些部分(例如JOIN or ATTACH或触发器),我可以删除对它们的支持(这是针对嵌入式系统,每个字节都很重要,或者至少每 100 个字节左右)?
我可以设置哪些预处理器选项来删除我不需要的东西,例如 FTS 或 R-Tree 支持?我是在命令行还是在文件中设置它们?
是否还有其他可以轻松移除的东西,但我可能不需要,甚至可能不知道它们存在才能移除它们?
一些 C API 怎么样?大部分我从来没有用过。


敬请期待here http://www.sqlite.org/compile.html。有一章“省略功能的选项”。例如你会发现SQLITE_OMIT_ATTACH那里。

但请注意那里的警告。它说

SQLITE_OMIT_* 编译时选项通常未经测试,并且 几乎可以肯定未经组合测试。任何或所有这些选项 可能会在未来版本中从代码中删除且不会发出警告。 对于任何特定版本,其中一些选项可能会导致 编译时或运行时失败,特别是在使用时 与其他选项的组合。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最小化 SQLite 库大小 的相关文章

  • 从 SQLite 迁移到 Android Room 持久性库

    我有一个正在使用的应用程序SQLite数据库 我正在尝试替换AndroidSQLite with Android Room API 我已经创建了 DAO 类 实体类和 DB 但是在执行数据库查询时Async任务我收到以下错误 引起原因 ja
  • SQlite删除内连接

    我已经阅读了很多其他答案 但无法使其正常工作 select from invTypes inner join invGroups on invtypes groupID invgroups groupID where invGroups c
  • PHP - SQLite 与 SQLite3

    我已经使用 SQLite 2 8 17 制作了一个 Web 应用程序 我现在才发现有一个 SQLite3 在制作 Web 应用程序时 它以某种方式逃避了我的注意 可能是由于缺少 php 函数的文档 我想知道 使用 SQLite3 比 SQL
  • iPhone 存储大量图像

    我有大量与 sqlite 数据库中的记录相对应的图像 我应该把它们存放在哪里 我有同一张图像的 3 个版本 大号 中号 拇指号 我不想将它们存储在数据库表中 而是从每条记录中引用它们 所有图像都具有相同的名称 每个小 中和大图像文件都将被称
  • 从 Linux bash 解析 FB-Purity 的 Firefox idb(索引数据库 API)object_data blob

    我想从 Linux bash 脚本中读取由名为 FB Purity 的特定 Firefox 插件存储的结构化数据 我找到了一个名为 mozilla firefox b8eab5j0 default storage default moz e
  • sqlite 插入需要很长时间

    我正在将不到 200 000 行插入到 sqlite 数据库表中 我只是在终端中通过 sqlite3 使用一个非常简单的 sql 文件 我打赌它已经运行了至少 30 分钟 这是正常现象还是我应该关闭该过程并尝试不同的方法 sqlite中的插
  • 使用 SQLite 和 Python 从数据库读取:提供的绑定数量不正确

    我使用以下 python 脚本读取数据库 cur execute SELECT FROM pending where user ID 其中 ID 是某人的名字 在本例中为 Jonathan 但是 当我尝试运行此脚本时 我收到错误消息 Tra
  • 我应该保留远程数据库的本地副本吗?

    我正在开发一个应用程序 基本上允许人们创建 加入和管理其他人的群组 群组内的人也可以互相发送消息 我一直在想哪条路会更好 保留包含所有信息的远程数据库 包括发送给用户和从用户发送的消息 并让应用程序在每次需要信息时查询服务器 甚至是它以前见
  • 游标在“查询、删除表、创建表、查询相同表名”后返回相同的列

    例如我有一个名为myTable在我的数据库文件中 Android ps它不支持列重命名 删除等 这张表有idx name columns 我想删除并重新创建该表 但使用新列 我是这样做的 db transaction var cursor
  • 具有多个 sqlite 文件的核心数据

    如何将 Core Data 与多个 SQLite 文件一起使用 每个文件都包含相同的结构 但数据是从不同的位置检索的 我希望能够在运行时根据应用程序设置在这些 sqlite 文件之间切换 当然 只需指向持久存储协调器 NSPersisten
  • 从SQLite列中获取所有数字字符串并进行总和计算

    我是 Android 和 SQLite 的新手 我在 SQLite 中有一个只有数字的 AMOUNT 列 我可以在 ListView 中显示它 但我无法找到任何我理解的方法来将它们全部添加并显示在 TextView 中 这是数据库助手 im
  • 修改sqlite3中的列类型

    我对 SQLite 3 还很陌生 现在我必须向现有的表中添加一列 我开始这样做 ALTER TABLE thetable ADD COLUMN category 当然 我忘记指定该列的类型 我想做的第一件事就是删除该列 然后重新添加它 然而
  • SQLite 自然连接损坏?

    我刚刚开始了解 NATURAL JOIN 而 SQLite 的行为并不像我预期的那样 SELECT FROM r1 NATURAL JOIN r2 NATURAL JOIN r3 and SELECT FROM r1 NATURAL JOI
  • 使用 sqlite 离线存储数据的 Web 表单应用程序

    我有一个 asp net Web 表单应用程序 它在远程服务器上使用 sql server 2005 所有控件均使用 linq to sql 绑定 我正在尝试提供完整的离线功能 所以我想知道是否可以像 sql server db 一样创建一
  • SQLite支持android的数据类型有哪些

    谁能告诉我 SQLITE 中支持 ANDROID 的数据类型列表 我想确认 TIME 和 DATE 数据类型 这里有一个list http www sqlite org datatype3 htmlSQLite 的数据类型 支持时间和日期间
  • SQLite 返回错误的 2013 年周数?

    我有一个简单的 SQL 来计算 SQLite 报告中的周数 SELECT STRFTIME W date column 2009 2012 年的数据是正确的 2013 年我总是得到错误的周数 例如 SELECT STRFTIME W 201
  • 导入已经创建的sqlite数据库(xamarin)

    我正在使用 Xamarin 想知道如何导入我已经创建的 sqlite 数据库 到目前为止 我已将其添加到资产文件夹中 但不知道下一步从哪里开始 string localPath Path Combine System Environment
  • Sqlite代码28“文件在打开时重命名”

    这是一个推论这个问题 https stackoverflow com questions 27784704 sqlite deadlock across multiple threads with different files nored
  • 如何从 SQLite 获取记录总数

    我正在尝试从 Sqlite DB 获取行的总数 以下是我想要做的代码片段 我不知道我在这里做错了什么 public static int getTotalCount Context context Cursor c null try c g
  • 研究MySQL、SQLite源码了解RDBMS实现[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道实现数据库是一个很大的话题 但我想通过研究数据库系统的源代码来基本了解数据库系统的工作原理 例如

随机推荐