运行我们的集成测试时,从源代码创建空数据库的时间是一个问题。有什么“技巧”来加速创建数据库对象吗?如何加速创建表,索引和存储过程
回答
在adddition,考虑不创建数据库(分离/附加空单),除非这是你的测试的一部分。
并获取SSD服务器上的驱动器的SSD。没有什么比原始IO好。
我建议你为此编写(或生成)一个脚本,然后在db服务器上执行这个脚本......这比用代码远程执行要快得多。
您也可以检查以确保您打开了即时文件初始化。您必须确保SQL Server服务帐户在服务器上具有“执行卷维护任务”权限。
我还包含此链接更充分说明:http://www.sqlskills.com/blogs/paul/post/How-to-tell-if-you-have-instant-initialization-enabled.aspx
这对于数据非常少的数据库会有什么不同吗? – 2011-04-08 19:25:58
对不起,有一段时间没有来过。这可能会有所作为。考虑一下你的数据文件。您可以初始化任意大小的数据库,只使用整个空间的一小部分。或者在创建新对象并添加新数据时,您可以翻身并触发自动增长。如果该自动增长设置较高,则即使只需要一小部分,也必须等待所有磁盘被初始化。 – Matt 2011-04-28 12:58:55
我从脚本创建一个空的数据库,并从脚本中填充它。我一天做几十次,因为我经常运行我的测试。我的本地实例在我的工作站上运行需要几秒钟的时间。也许你可以得到一个更快的盒子?
当然,我的数据库只有几千个对象,所以你的里程可能会有所不同。
- 1. 为存储过程中创建的表添加索引
- 2. 如何在存储过程中创建过滤索引(SQL Server)
- 3. Sybase存储过程 - 如何在#table上创建索引?
- 4. 如何在存储过程中创建索引?
- 5. 创建非集群列存储索引的存储过程
- 6. 如何从存储过程创建表?
- 7. 如何从存储过程创建索引或在MySQL的每个表上创建索引?
- 8. Apache Lucene - 创建和存储索引?
- 9. 存储过程如何处理索引?
- 10. 加速sql存储过程
- 11. 如何从存储过程中创建存储过程
- 12. 存储过程/表索引改进
- 13. 如何创建存储过程laravel
- 14. 如何创建此存储过程?
- 15. 如何创建一个存储过程
- 16. 如何创建存储过程
- 17. 如何用hibernate创建存储过程?
- 18. 如何创建存储过程?
- 19. 如何创建Sybase存储过程
- 20. 如何创建存储过程?
- 21. 如何快速创建索引?
- 22. 熊猫:通过创建索引加速过滤?
- 23. 使用存储过程创建表
- 24. 创建表的存储过程
- 25. PL/SQL存储过程创建表
- 26. 存储过程不会创建新表
- 27. 创建主存储过程
- 28. Magento:创建存储过程
- 29. 创建存储过程 - SQL
- 30. 如何存储和检索neo4j索引
它没有加速很多RAM磁盘,所以我不认为SSD会有很大帮助。 – 2011-04-08 19:24:29