我们的需求之一是创建一个临时内存数据库,然后执行各种插入/选择/更新。
一目了然,SQLite 满足了我们的所有需求。可以简单地建立到内存中 SQLite DB 的连接:
class SQLiteBase < ActiveRecord::Base
self.abstract_class = true
establish_connection(adapter: 'sqlite3', database: ':memory:')
end
不久前,当我们发现我们需要将数据批量加载(特别是批量插入)到我们的 SQLite 表中时,我们已经开始研究一些性能问题(请参阅这些基准)。
不幸的是,SQLite 似乎不支持批量插入。
那么是否还有其他基于 SQL 的轻量级内存数据库支持批量插入?
如果没有,有没有办法利用 PostreSQL(MySQL 或任何其他主要参与者)等重量级数据库作为内存数据库?
如果 postresql/mysql 不是一种可行的方法 - 是否有任何其他 C 高度优化的数据结构与查询语言之上?(有/没有红宝石绑定)。