我可以在内存中运行LocalDb吗?

时间:2015-04-02 16:20:40

标签: localdb

我在集成测试环境中使用LocalDb - 在我的测试运行之前和之后实例化和处理我的实例。

但是,当我在我的实例中创建数据库时,它仍然会将我的表和数据刷新到磁盘。是否可以在“内存”模式下运行LocalDb?如果是这样的话?

2 个答案:

答案 0 :(得分:6)

您可以对RAM磁盘中的数据库运行测试。我已经做了一段时间了,它似乎将集成测试性能提高了2或3倍!这是在带有SSD的MacBook Pro上托管的Windows 7 VM上。如果你有机械硬盘,你的milage可能会更好。

由于SQL Server允许您通过“AttachDbFileName =”在连接字符串中指定mdf文件,因此可以通过指向RAM磁盘中的mdf来利用它。

我使用的RAM磁盘设备驱动程序是ImDisk,可用于64位和32位Windows。 Linux对手很多。

答案 1 :(得分:3)

没有。 LocalDB仍然是SQL Server,而在SQL Server中没有内存数据库的概念。所有数据库都是磁盘支持的,内存缓存位于它们之上。

您可以在测试工具中编写一个自定义步骤,以便在测试完成后删除数据库并删除数据库文件。如果您正在使用TFS进行构建和测试运行,甚至可能已经存在?但是在LocalDB中没有任何东西能让它自动化。