我正在使用单元/集成测试,sqlite不支持完全某些sql功能(如RIGHT JOIN和FULL OUTER JOIN).有没有办法使用MySQL(或MariaDB),其中数据库的内容完全存储在内存中?
MysqL有MEMORY表引擎,但是,这个表引擎仍然可能在我的测试中产生不一致.我需要的是一些替代方法:内存:来自sqlite,但具有与MysqL相同的功能.
编辑:
更具体地说,我的问题与单元/集成测试的性能有关.一些教程表明使用sqlite和数据库内存来加速测试过程,但是,我的应用程序中的一些查询与sqlite不兼容.如果生产数据库是MariaDB,我也不认为在sqlite中进行测试是一个好习惯.
我的问题是在MysqL / MariaDB中是否有任何替代方法可以与sqlite:memory:选项一样工作.
解决方法:
MariaDB有the MEMORY storage engine:
It is best-used for read-only caches of data from other tables, or for temporary work areas.