c++ - 比 SQLite 还轻

标签 c++ sql database performance sqlite

我一直在寻找一个 C++ SQL 库实现,它像 SQLite 一样易于挂接,但速度更快,体积更小。我的项目是游戏开发,在需要通过 ACID 测试和想要一些极端性能之间肯定有一个分界点。我愿意放弃 SQL 字符串样式查询,允许它由代码驱动,但我还没有发现任何东西可以提供类似 SQL 的灵 active ,同时也更喜欢 ACID 测试的性能。

我不想重新发明轮子,我自己实现 SQL 库的想法非常令人生畏,即使它只是您可以进行的所有调用的一个简单子(monad)集。

我需要基本命令(SELECT、MODIFY、DELETE、INSERT、with JOIN 和 WHERE),而不是数据操作(如排序、最小值、最大值、计数),并且不需要数据库是原子的,甚至不需要强制一致性(我可以在测试和调试时使用真正的 SQL 服务)。

最佳答案

你确定你已经获得了 SQLITE 的最大速度吗? SQLITE 开箱即用,非常安全,但速度很慢。如果您知道自己在做什么,并且愿意冒磁盘崩溃导致数据库损坏的风险,那么您可以进行多项优化以显着提高速度。

特别是:

  • 关闭同步
  • 集团写入交易
  • 索引表
  • 使用内存中的数据库

如果您没有探索所有这些,那么您的运行速度可能会慢很多倍。

关于c++ - 比 SQLite 还轻,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912979/

相关文章:

database - SQLite - 有数据组织吗?

mysql - 如何将本地数据库放到服务器上?

c++ - gflags 链接器错误 : undefined reference

sql - 如何在将汇总保留在最后一行的同时对嵌套选择的结果进行排序?

mysql - 依赖2条对Mysql中 "same"列的查询

android - sqlite中的SQL sqlite条件查询(Android版)

c++ - 为什么HWND_NOTTOPMOST在xp中不能带窗口前景?

c++ - 在 64 位 Windows 上将字符串从 C++ 返回到 C# 时如何防止 AccessViolationException?

c++ - 如何使用 std::map 将 bool 映射到 3d 点结构?

java - 了解 Hibernate 文档中可选的事务定义