我正在使用单元/集成测试,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.
这听起来非常适合在自动化测试期间快速设置和拆除数据库.