我在sql 2005服务器上工作 我有近350 000个插入脚本..插入脚本有10列要插入。
那么我应该选择一次点击执行多少行。 “执行”点击..
请根据平均系统配置告诉我平均数。
赢得XP Cor 2 Duo 3,66 Gb ram
答案 0 :(得分:2)
好的,让我们直截了当地说明一些事情:
Win XP Cor 2 Duo 3,66 Gb ram
不平均但过时。最重要的是它完全错过了db的最重要的nubmer,即光盘的速度/数量。
我在sql 2005服务器上工作 近350 000个插入脚本..
我严重怀疑你有350.000插入SCRIPTS。这将是包含插入命令的350.000个文件。这是很多文件。
我点了一份比萨饼。我的车每公里需要多少燃料?相同的关系。 10列很不错,但你不会说你的脚本包含多少个插入命令。插入脚本有10列 插入
所以,最后只有SENSIBLE解释是你必须插入350.000行,并尝试从程序中执行(即没有脚本可以开始),但这绝对不是你说的。
那么我应该选择多少行 一键执行
我应该用一部电话订购多少个比萨饼?点击这里是无关紧要的。当您使用命令行程序执行isnerts时,它也不会变得更快。
问题是如何最快地插入数据库。
对于普通的SQL:
用于实际质量插入:
我的SMALL(!)数据库计算机上的后一种方法会在字段很小的情况下在3-5秒内处理这个问题(你知道,字段dan是2gb二进制数据)。我每秒处理大约80.000行isnerts而没有很多优化,但我有少量和少量的字段。这是4个处理器内核(irrelvant,它们永远不会繁忙),8gb RAM(对于数据库服务器非常小,在这种情况下也无关紧要),以及6个用于Raid 10中数据的vlociraptors(同样,一个小型配置用于数据库,非常相关)。我在活动监视器中获得了每秒150mb的峰值插入。我会在这里进行大量的优化,因为我在每20,000个项目打开/关闭一个数据库连接......糟糕的批处理。
但是,你似乎根本没有数据库系统,只是安装在低端工作站上的数据库,这意味着与数据库服务器相比,你的IO将会非常慢,并且插入速度/更新速度是IO绑定。桌面光盘很糟糕,你在同一张光盘上有数据和日志。
但是....最后,你真的没有告诉我们你的问题。
并且......可以在连接对象上以编程方式设置超时。
答案 1 :(得分:1)
我很确定用户可以通过服务器属性设置超时 - >连接 - >远程查询超时。如果你将它设置得足够高(或者设置为0,这意味着它永远不会超时),那么你可以运行任意数量的脚本。
显然,如果数据库尚未生效,这只是好的 - 你只需要填充。如果数据来自另一个MS SQL Server,您可能只想进行完全备份和还原 - 这将更简单,更快捷。
答案 2 :(得分:1)
一般的经验法则是每个UI操作不超过0.1秒,以获得出色的性能。您将需要进行基准测试以找出它是什么。