目前开发组完成应用,作为测试人员需要向20张表中插入1000000条记录,进行性能测试。
我浏览了这些表,实际上所有表之间都有关系。
要将那么多虚拟数据插入表中,我需要在很短的时间内完全理解该应用程序,这样到那时我还没有虚拟数据。
在 SQL server
中有没有办法插入这么多数据插入的可能性。
请分享方法。
- 目前我正计划在 excel 中创建虚拟数据,但在这里我不确定表格之间的关系。
- 在 Google 中发现 SQL profiler 将提供执行顺序,但正在等待访问以分析它。
- 我在 Google 中发现的另一件事是可以使用 red-gate 工具。
是否有任何脚本或任何其他解决方案以简单的方式执行此任务。
如果这是一个常见问题,我很抱歉,我是第一次在 SQL 实时场景中工作。但我有 SQL 方面的知识。
最佳答案
为什么不在 SQL Server 中生成这些记录。这是一个生成 1000000 行表的脚本:
DECLARE @values TABLE (DataValue int, RandValue INT)
;WITH mycte AS
(
SELECT 1 DataValue
UNION all
SELECT DataValue + 1
FROM mycte
WHERE DataValue + 1 <= 1000000
)
INSERT INTO @values(DataValue,RandValue)
SELECT
DataValue,
convert(int, convert (varbinary(4), NEWID(), 1)) AS RandValue
FROM mycte m
OPTION (MAXRECURSION 0)
SELECT
v.DataValue,
v.RandValue,
(SELECT TOP 1 [User_ID] FROM tblUsers ORDER BY NEWID())
FROM @values v
在表 @values 中,您将有一些随机 int 值(列 RandValue),可用于为其他列生成值。您还有获取随机外键的示例。
关于c# - 如何将巨大的虚拟数据插入Sql server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28481702/