我正在处理单元/集成测试,sqlite不完全支持某些sql特性(比如右连接和完全外部连接)。有什么方法可以使用mysql(或mariadb)将数据库的内容完全存储在内存中吗?
mysql有内存表引擎,但是这个表引擎在我的测试中仍然可能产生不一致。我需要的是一些替代方法:内存:来自sqlite,但具有与mysql相同的功能。
编辑:
更具体地说,我的问题与单元/集成测试的性能有关。一些教程指出使用sqlite和内存中的数据库来加速测试过程,但是,我的应用程序中的一些查询与sqlite不兼容。如果生产数据库是mariadb,我也不认为在sqlite中进行测试是一种好的做法。
我的问题是,除了在mysql/mariadb中进行测试之外,是否还有其他方法可以与sqlite:memory:option的工作方式相同。
1条答案
按热度按时间vulvrdjw1#
mariadb具有内存存储引擎:
它最好用于来自其他表的数据的只读缓存,或者用于临时工作区。
这听起来非常适合在自动化测试期间快速设置和拆卸数据库。