现在的位置: 首页 > 综合 > 正文

(待求证)更正老师免费视频里“类型化DataSet批量插入数据”的一个不right的地方

2013年01月29日 ⁄ 综合 ⁄ 共 628字 ⁄ 字号 评论关闭

老师在第30课《类型化DataSet批量操作》里讲到批量插入数据时建议手动打开数据库连接,再执行批量插入,这样的效果是:手动打开连接插入耗时比不手动打开连接节省时间高达20多倍(一个耗时45秒,一个耗时2秒)

(老师视频代码)

       我看了有个疑问,因为我们知道,先运行的要耗用时间,再运行一次时间就会大大减少,如我们运行大型软件时比如Photoshop,第2次运行会比第一次运行快很多。

这是因为第一次运行已经把数据载入到内存中了,关闭后再运行是直接从内存中调用(刚才载入,还没来得及释放)的数据。当然会快很多。

         所以我猜测:老师第2次运行的是添加了“手动打开连接代码”的程序,沾了第1次运行的程序的光,沾了内存的光,所谓长江后浪推前浪,前浪累死在沙滩上,后浪沾了很大的光。

        于是我测试了3种情况,N次运行,(每次都先清空数据库,防止数据文件过大载入过慢),结果如下:

        1.插入3000条数据,两种代码先后运行N次(防止沾内存的光),耗时相差并不大,一个耗时2秒,一个耗时1秒;

        2.插入10000条数据,结果同上,一个耗时2秒,一个耗时1秒;

看来数据量小了,加到50000条:

        3.插入50000条数据,两种代码先后运行N次,添加了手动打开连接的耗时30秒,没添加手动打开连接的耗时37秒。看来相差并没有老师说的那么明显。

        这是为什么呢?有疑问了,如果有机会,我一定要请教一下。

抱歉!评论已关闭.