我们的一个需求是创建一个临时内存数据库,然后执行各种插入/选择/更新。轻量级内存数据库
一目了然SQLite满足了我们所有的需求。连接到一个内存中的SQLite数据库,可以建立简单:
class SQLiteBase < ActiveRecord::Base
self.abstract_class = true
establish_connection(adapter: 'sqlite3', database: ':memory:')
end
前一段时间,我们已经开始寻找到一些服务表现的问题时,事实证明,我们需要进行批量加载(具体而言,散装INSERT))数据到我们的SQLite表(参见these基准)。
不幸的是,它看起来像SQLite不支持批量插入。
因此是否有任何其他基于SQL的轻量级内存数据库,支持批量插入?
如果没有这样的 - 有没有一种方法可以像内存数据库一样利用重量级数据库,如PostreSQL(MySQL或任何其他主要播放器)?
如果postresql/mysql不是一种可行的方式 - 是否还有其他C语言重度优化的数据结构,并在其上面有查询语言? (有/无红宝石绑定)。
您在这些测试中是否正确使用内存数据库中的事务? –