只是一个简单的测试, 用了三种方法来做10万条记录的插入. 不过我没有测试拼10万条sql插入的效率.
应用在:dell inspiron 640M本本上跑的. 1.60双核CPU, 2G内存. 服务器是HP360, 8CPU, 4G内存. SQL2000数据库.
仅供参考.
一.每次都调用ctx的InsertOnSubmit方法把对象放入:
2008-7-18 14:29:55 开始生成100000个对象. 并直接放入ctx; 用时4秒
2008-7-18 14:29:59 开始SubmitChanges; 用时3分26秒
2008-7-18 14:33:25 完成.
运行时内存占用了4M左右.
二. 先生成一个list, 最后把list调用ctx的InsertAllOnSubmit方法把全部对象放入:
2008-7-18 18:45:06 开始生成100000个对象. 并放入list 用时1秒
2008-7-18 18:45:07 开始把list全部对象加入ctx. 用时2秒
2008-7-18 18:45:09 开始执行submitChange 用时3分33秒. 应该是数据库的原因导致的慢了7秒. 个人认为不重要.
2008-7-18 18:48:42 完成.
运行时内存占用了4M左右.
三.每生成一个记录都调用ctx的insertOnSubmit, 并且都立即执行submitChanges. 每5000个报一次.
2008-7-18 19:41:28
2008-7-18 19:41:29 0
2008-7-18 19:42:08 5000 此5000条用 39 秒
2008-7-18 19:43:39 10000 此5000条用 91 秒 多了52
2008-7-18 19:46:02 15000 此5000条用143 秒 多了52
2008-7-18 19:49:17 20000 此5000条用195 秒 多了52
2008-7-18 19:53:25 25000 此5000条用248 秒 多了53
2008-7-18 19:58:29 30000 此5000条用304 秒 多了56
2008-7-18 20:04:28 35000 此5000条用359 秒 多了55
2008-7-18 20:11:22 40000 此5000条用414 秒 多了55
2008-7-18 20:19:14 45000 此5000条用472 秒 多了58
2008-7-18 20:28:05 50000 此5000条用531 秒 多了59
2008-7-18 20:37:50 55000 此5000条用585 秒 多了54
2008-7-18 20:48:35 60000 此5000条用645 秒 多了60
2008-7-18 21:00:38 65000 此5000条用723 秒 多了78
2008-7-18 21:13:01 70000 此5000条用743 秒 多了20
2008-7-18 21:26:01 75000 此5000条用780 秒 多了37
.... 等不及了, 关了程序了.
运行时内存占用了4M左右.
越来越慢.
摘要: 多年了,没有什么技术再能让我激动得无法控制住自己,包括WPF的超炫界面功能,我也只是小小地喜悦了一下,但毕竟知道界面设计更多还是美工创意的功夫,见过很多品味不够的开发人员,把自己程序界面搞得花里胡骚,简直得像不小心坐在调色板上的大熊的屁股,只能让人笑话。所以WPF的UI能力似乎离自己还有距离。
但是,Linq,却真得把我雷到了。在我重新坐下来写这段话之前,我是激动得在屋里转了几圈的,嘴里至少把MS骂了十来句“WC!”,这骂不是怀了恨意的骂,而是怀了敬意的骂,是没办法控制自己兴奋和激动的心情的骂,就像是《朱罗纪公园》里的马尔康姆教授第一眼看到人工DNA造出来的活恐龙时,说的那句话:“这帮狗娘养的真的做了!”
阅读全文