如何提高记录的入库速度?内见例子 你只是要把文本文件的内容导入到SQL SERVER中。我认为可以考虑使用SQL SERVER的DATA TRANSFORM SERVICE来做。为文本文件建立好ODBC,然后使用SQL SERVER中的相关功能来完成。应该都有T-SQL语句可以做到的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我试过每千分之一秒打开一个form内存增长,但不足以影响速度。所以就table.clear();来说无所谓;不过尽可能的少与数据库打交道可以节省时间;想法我同意,不过你得代码似乎不能实现;我的机器很烂。奔二450的,我不想试.帮你up一下吧! to spring_ok(AFanOfSoccerLottery):为文本文件建立好ODBC?具体怎么操作我不会呢,能告诉我详细的方法吗?另外,如果我只能用读文本文件的记录然后入库,有没有更好的方法可以提高速度? to ToBeCharcoal(真想有星星):代码我是测试过的,可以执行,但我不知道我的想法是否可以执行?如果可以的话,但是效率并没提高啊,因为我原先是用读一条,然后写一条到数据表,速度差不多哦 我想问一下stroller314,你所说的入库时间仅仅是数据插入数据库的时间还是包括数据从文件读取时间,因为我觉得如果包括数据从文件读取时间的话,这本身就很耗时间,因为那样似乎需要许多次I/O。 to wrh2001(三叶):你说的很对,我测试的时间包括文件读取和入库时间。能有更好的方法吗? 用SQLSERVER2000的导入/导出向导,将文本文件导入数据库的一个新表,看看微软的工具速度如何:) 用Microsoft Text Driver驱动程序就可以建立文本文件的ODBC了。 减少I/O次数肯定可以提高文件读取效率,那需要一次性装载多条数据进内存,但是如果文件过大的话,内存消耗又太大。或者你可以将一个大文件分成多个小文件,一次将小文件数据全部读入,比如Readall方法,我记得在VB中是有这个方法的。然后在内存中通过分隔符来分解数据插入DataRow。 我觉得瓶颈应该在于文件的读取,因为你一次入10000条的策略应该是对的,或者你还可以试一试一次入20000或者30000条。 可以用t-sql的bcp,应该会快很多。===================================================================bcp {[[database_name.][owner].]{table_name | view_name} | "query"} {in | out | queryout | format} data_file [-m max_errors] [-f format_file] [-e err_file] [-F first_row] [-L last_row] [-b batch_size] [-n] [-c] [-w] [-N] [-V (60 | 65 | 70)] [-6] [-q] [-C code_page] [-t field_term] [-r row_term] [-i input_file] [-o output_file] [-a packet_size] [-S server_name[\instance_name]] [-U login_id] [-P password] [-T] [-v] [-R] [-k] [-E] [-h "hint [,...n]"]=================================================================== [讨论]Web方式下服务器消息的实时读取 点云数据如何进行3D建模 图片文件转成byte数组后 每个数值表示什么啊? 程序长时间运行出现系统资源不足的问题 菜鸟长谈递归问题,欢迎星级访客 各位大师,我有个SQL语句方面的问题 启始页的麻烦 关于N个同一控件的编写方法! 叫算法问题?还是叫数据库问题?还是叫结构问题?我也不懂,请高手进来瞧瞧。 C#链接数据库运行问题 c#中如何比较两个string的大小,如"AB">"AA" 怎样把从数据表里面取出的数据,在c#中付给textbox
所以就table.clear();来说无所谓;
不过尽可能的少与数据库打交道可以节省时间;
想法我同意,不过你得代码似乎不能实现;
我的机器很烂。奔二450的,我不想试.
帮你up一下吧!
为文本文件建立好ODBC?具体怎么操作我不会呢,能告诉我详细的方法吗?另外,如果我只能用读文本文件的记录然后入库,有没有更好的方法可以提高速度?
代码我是测试过的,可以执行,但我不知道我的想法是否可以执行?如果可以的话,但是效率并没提高啊,因为我原先是用读一条,然后写一条到数据表,速度差不多哦
你说的很对,我测试的时间包括文件读取和入库时间。能有更好的方法吗?
我觉得瓶颈应该在于文件的读取,因为你一次入10000条的策略应该是对的,或者你还可以试一试一次入20000或者30000条。
===================================================================
bcp {[[database_name.][owner].]{table_name | view_name} | "query"}
{in | out | queryout | format} data_file
[-m max_errors] [-f format_file] [-e err_file]
[-F first_row] [-L last_row] [-b batch_size]
[-n] [-c] [-w] [-N] [-V (60 | 65 | 70)] [-6]
[-q] [-C code_page] [-t field_term] [-r row_term]
[-i input_file] [-o output_file] [-a packet_size]
[-S server_name[\instance_name]] [-U login_id] [-P password]
[-T] [-v] [-R] [-k] [-E] [-h "hint [,...n]"]
===================================================================