sqlite3 从 C 批量插入?

2023-12-19

我遇到了 .import 命令来执行此操作(批量插入),但是是否有一个可以使用 sqlite3_exec() 执行的查询版本。

我只想将一个小文本文件内容复制到表中。

下面这个的查询版本,

“.import demotab.txt mytable”


Sqlite 的性能并没有受益于批量插入。只需单独执行插入(但在单个事务内!)即可提供非常好的性能。

您可能会受益于增加 sqlite 的页面缓存大小;这取决于索引的数量和/或数据插入的顺序。如果没有任何索引,对于纯粹的插入,缓存大小可能并不重要。

请务必使用准备好的查询,而不是在最内层循环中重新生成查询计划。将语句包装在事务中非常重要,因为这可以避免文件系统将数据库同步到磁盘的需要 - 毕竟,部分写入的事务无论如何都会被原子中止,这意味着所有 fsync() 都会被延迟,直到事务完成。

最后,索引将限制您的插入性能,因为它们的创建有点昂贵。如果您确实要处理大量数据并从空表开始,那么添加索引可能会有所帮助after数据——尽管这不是一个重要因素。

哦,您可能想要购买一款英特尔 X25-E SSD,并确保您拥有 AHCI 控制器;-)。

我正在维护一个带有 sqlite 数据库的应用程序,大约有 500000000 行(分布在几个表上) - 其中大部分是使用普通旧的 begin-insert-commit 批量插入的:它工作正常。

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

sqlite3 从 C 批量插入? 的相关文章

  • 从哪里开始阅读 SQLite 源代码? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想了解sqlite是如何实现的 并且 想阅读源代码 我已经下载了源代码 我应该开始查看代码的哪一部分 SQLite文档页 http
  • SQLite 中的非空字符串约束

    我可以创建数据库约束吗TEXT列于SQLite不允许列的值为空字符串 我想让该专栏成为null 但不允许空字符串 是的你可以 http sqlite org syntaxdiagrams html column constraint sql
  • 从关键字后的文本中提取字符串

    我想从 SQL 字段中关键字后面的文本中提取内容 我有一个名为Description在表中 该字段的内容是 asdasf 关键字 狗 aeee 关键字 猫 ffffaa 关键词 狼 我想提取并保存 关键字 之后的文本 在本例中dog cat
  • 将数据库(例如 sqlite)与 cocos2d-x 一起使用

    我开始在 iPhone 上构建游戏应用程序 我正在使用 cocos2d x 游戏引擎 因为它很容易从那里移植到 Android 而且编码是用我非常熟悉的C 编写的 我想知道是否有办法在 cocos2d x 中使用任何数据库 虽然sqlite
  • R dbGetQuery 与动态字符串

    From 这个帖子 https stackoverflow com questions 3416973 dynamic string in r and 这个帖子 https stackoverflow com questions 34496
  • NuGet安装的Visual Studio 2012中的Sqlite在用于连接的数据源中不存在

    我有 Visual Studio 2012 Premium 并通过 NuGet Packages API 安装了 System Data SQLite x86 x64 我将所有可用的 SQLLite 引用添加到我的 WPF x86 Net
  • 在插入 SQLite 之前检查表 B 中的日期是否在表 A 中的日期之间

    我有一个名为 项目 的表 其中包含开始日期和结束日期 我还有一个名为 Plan 的表 它有自己的开始日期和结束日期列 但我通过某种方式验证计划开始 结束日期是否在匹配的项目开始 结束日期之间 我不知道在创建表或向计划表中插入行时添加检查是否
  • SQLite。无法添加超过 1000 行

    我试图向我的 SQLite 数据库 使用 fmdb 添加 10k 行 但写入在 1000 行处停止 我没有任何错误或警告 我的代码 NSString queryString NSString stringWithFormat insert
  • 如何在sqlite3中创建多个“:memory:”数据库

    我正在尝试使用 sqlite3 创建多个内存数据库 如果可能 对于磁盘数据库 我会这样做 import sqlite3 db1 sqlite3 connect mnt tmp db1 db db2 sqlite3 connect mnt t
  • 如果 db 有主字段,如何将 N 个 SQLite 数据库文件合并为一个?

    我有一堆 SQLite 数据库文件 我需要将它们合并成一个大数据库文件 我怎样才能做到这一点 Added 基于this http old nabble com Attempting to merge large databases td18
  • python sqlite3从excel创建数据库

    我正在尝试从 Excel 电子表格创建数据库 我有下面的代码 问题是当我运行代码时 我的数据库为每列创建一个表 我想为工作簿中列出的每个电子表格创建一个表格 工作表名称为工作表 1 和工作表 2 import sqlite3 import
  • 使用 CursorLoader 查询 SQLite DB 并填充 AutoCompleteTextView

    我有一个 SQLite 数据库我想查询 我想通过 ICS 以 Android 2 2 为目标 我碰到this http www outofwhatbox com blog 2010 11 android simpler autocomple
  • SQLite创建连接时出现异常

    我在创建连接时收到 SQLite 异常 这在我安装 VS2015 RTM 之前有效 客户端 PCL databaseConnection DependencyService Get
  • Android SQLite 按 utf8 整理/排序

    我在 Android 上的 SQLite 表中有以下项目 平板电脑选项卡有 1 列 名称 文本 Beta Work pal User 如果我在 SQL Server 中有这些项目 并带有斯洛伐克语的排序规则 并且select from ta
  • 如何在 SQLite 中将时间戳转换为字符串?

    我有一个表 其中存储了时间戳 以毫秒为单位 我想将这些时间戳转换为人类可读的形式 这是我的表的输出示例 SELECT date raw strftime d m Y date 1000 as string FROM my table raw
  • 尝试将 SQLite DB 从数据复制到 SD 卡

    我正在使用以下代码 该代码发布在 Stack Overflow 上的某个位置 并根据我的目的进行了修改 try File sd Environment getExternalStorageDirectory File data Enviro
  • 在iPhone上将CSV文件读入sqlite3

    有没有办法在iPhone上将CSV文件读入sqlite3 sqlite3 是否有类似于 SQL 命令的功能 LOAD DATA LOCAL INFILE file csv INTO TABLE TABLENAME FIELDS TERMIN
  • SQLite更新第一个字母为大写

    我有一个字段 customer country 我正在尝试更新它 以便国家 地区值的第一个字母为大写 我似乎无法找到一种方法来做到这一点 UPDATE customer SET country UPPER SUBSTR country 1
  • Flutter 中有预填充数据库使用的示例吗?

    Flutter 中有预填充数据库使用的示例吗 我不需要 CRUD 示例 此时我只需要从数据库读取数据即可 我是 Flutter 新手 所以一步一步的教程会很好 您可以将您的应用程序与预填充的 sqlite 数据库捆绑在一起assets文件夹
  • SQLite-Net 扩展 - GetAllWithChildrenAsync 未提取所有内容

    我正在尝试使用 SQLite Net 扩展来创建关系数据库 我在尝试从数据库中提取 Term 对象时遇到了问题 它成功地撤回了其关联的课程 但未撤回与课程关联的评估和笔记 我不确定问题是否在于如何将对象插入数据库 如何从数据库中提取对象 或

随机推荐

  • Python - 如何将饼图中的 autopct 文本颜色更改为白色?

    pie fbfrac labels fblabel autopct 1 1f pctdistance 0 8 startangle 90 colors fbcolor 我按照我想要的方式显示图表 但如果文本是白色而不是黑色 则文本在图中会更
  • 使用 async 和await 关键字的好处

    我是 C 中异步方法使用的新手 我读过这些关键词async and await通过异步某些方法来帮助使程序更具响应性 我有这个片段 第一种方式 public static void Main Console WriteLine Hello
  • 使用 SVG 作为背景图像

    我似乎无法让它按预期工作 我的页面根据加载的内容更改高度 如果需要滚动 则 svg 似乎不会拉伸 html height 100 background image url http www horizonchampion eu themes
  • 如何通过 iPhone 应用程序向 Facebook 中的某人发送好友请求?

    有没有办法通过iPhone应用程序发送好友请求 如果是 请帮助我 我在网上搜索过但没有得到解决方案 我得到以下代码来发送应用程序请求而不是发送好友请求 NSMutableDictionary variables NSMutableDicti
  • 用java将BitSet写入文件

    我有一个 BitSet 并想将其写入文件 我遇到了一个使用 writeObject 方法使用 ObjectOutputStream 的解决方案 我查看了java API中的ObjectOutputStream 发现你可以写其他东西 byte
  • 横向模式下的标签栏控制器

    我正在开发一个项目 需要在横向模式下使用应用程序 我通过将界面方向设置为横向来对 plist 文件进行更改 我也将 xib 文件中的方向更改为横向 但当应用程序在模拟器中启动时 选项卡栏控制器仍仅以纵向模式显示 任何人都可以帮忙解决这个问题
  • Angular2限制所有路由

    Helloo 我创建了一个守卫 import Injectable from angular core import Router CanActivate from angular router Injectable export clas
  • 尝试在 JavaScript 中使用 Gruber 的“改进的”URL 匹配正则表达式模式时,如何修复“无效组”错误?

    我正在尝试整合约翰 格鲁伯的一种改进的自由 准确的正则表达式模式 用于匹配 URL http daringfireball net 2010 07 improved regex for matching urls进入我的 JavaScrip
  • JS - 动态更改文本字段

    我正在尝试在不提交任何内容的情况下更改一个文本字段中另一个文本字段的值 例子 文本字段 1 输入 你好 文本字段 2 此处也插入了 你好 下面是我的表格
  • 当应用程序位于前台时,如何计算应用程序的使用时间?

    我正在开发一个 Android 应用程序来跟踪每日应用程序的使用情况 这个想法是 用户可以为任何应用程序设置每日时间限制 超过限制后最多 2 分钟内会出现通知 延迟的原因 我使用创建了一个警报系统报警管理器每分钟都会运行一个类求职意向服务这
  • 将库版本设置为稳定时遇到问题

    我创建了一个在另一个应用程序脚本中使用的库 并查看 Google 上的清单文档 它说如果您希望它自动使用最新版本 您可以将 库 部分中的 版本 设置为 稳定 可用版本 dependency libraries version 字符串 脚本使
  • 表单初始加载后会触发什么事件?

    我对可以在加载表单后触发的事件特别感兴趣 这样我就可以在控制器代码中初始化字段等 没有事件 但您可以添加一个initialize方法 该方法由FXMLLoader创建内容并将字段注入到控制器实例后 public MyController F
  • 使用自动布局的 iOS 消息单元格宽度/高度

    The Goal 我正在尝试创造一个动态message使用自动布局的单元格 我尝试过的 在大多数情况下 单元格的定位正确 并且具有以下约束的自动布局 问题 我的第一个问题是消息标签 可复制标签 宽度受到限制 这似乎可以通过使用来解决setP
  • 字符串中的空字符

    考虑这个字符串 var s A 0Z 它的长度为 3 由下式给出s length Using console log你可以看到绳子没有被切断s 1 is and s charCodeAt 1 is 0 当你在 Firefox 中提醒它时 你
  • Java - 为什么 str.substring(str.length()) 是可接受的代码行? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 长话短说 为什么Java不会为这行代码抛出IndexOutOfBoundsException str substring str length
  • 只是想知道 spring mvc 与 django 之间的区别[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在scala中将元组列表转换为数据帧

    我有一个字符串元组列表 List String String String 如何使用 Scala 将其转换为数据帧 你创建一个SparkSession 从 Spark 2 0 0 开始 或SQLContext 然后你可以使用隐式toDF S
  • 有没有办法可以为自适应卡提供列填充-自适应 MS BOT

    我正在使用自适应卡来使用自适应卡模板包在表格中显示动态内容 我已经对其进行了自定义 但有一列仍然拒绝到位 该列总是比其他列有更多的内容 因此它超出了行数 因此扩大了表格并使其看起来很难看 在此处输入图像描述 1 1 async testTa
  • Erlang 中的 Ruby

    是否可以将 Ruby 嵌入到 Erlang 中 Yecc 是正确的工具吗 如果可以的话 大概需要多少工时 Erlectricity 将 Ruby 暴露给 Erlang 反之亦然 http github com mojombo erlectr
  • sqlite3 从 C 批量插入?

    我遇到了 import 命令来执行此操作 批量插入 但是是否有一个可以使用 sqlite3 exec 执行的查询版本 我只想将一个小文本文件内容复制到表中 下面这个的查询版本 import demotab txt mytable Sqlit