mysql插入1亿条数据要多长时间?
@Test public void insert1000Data(){ try { String sql = "insert into usersss(name,descn)values(' 很郁闷 ',' 嘻嘻哈哈好嘻嘻哈哈好 ')" ; conn .setAutoCommit( false ); long start = System.currentTimeMillis (); for ( int x=0;x<10000;x++){ Statement stmt = conn .createStatement(); for ( int i=0;i<10000;i++){ stmt.execute(sql); } conn .commit(); } System. out .println(System.currentTimeMillis ()-start); } catch (SQLException e) { e.printStackTrace(); } } ?
?
Create table usersss( id int primary key auto_increment, name varchar(20), descn varchar(20) )
?
?
1 个多小时 插入了 26310000 条记录。
?
Select count(*) from usersss??? 耗时 33.7s
Select count(id) from usersss??? 耗时 33.3s
?
Delete from usersss?????????????? 耗时 6m 33s
?
?
本机配置:
Cup:T7500
内存: 3G
硬盘: 160G 5400r/m
?
软件环境:
Mysql: Server version: 5.0.41-community-nt MySQL Community Edition (GPL)
Windows XP 32 位 sp3
?
整个执行过程中 cup 占用 55% 左右, javaw 占用 18% 左右, mysql-nt.exe 占用 20% 左右。
插入时其他程序可正常运行,相互感觉没有影响速度。
26310000 条记录占用磁盘空间 2 个多 G , delete 掉后释放了 1 个 G 的空间。(为什么还有 1 个多 G 不给释放?)
1 楼 yisafe 2009-06-28
很有趣的实验,没玩过。
免责声明: 本文仅代表作者个人观点,与无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。