MySQL优化--1亿条数据效率COUNT(*)

最近发现了一个Mysql快速导入数据方法load data infile,具体参考http://www.taobaodba.com/html/558_loaddata.html,这个文章。
下面用几条命令来给大家看看,效率结果。
简单说下:
1.txt ,开始只有10万数据,后来用vim 添加到了2000万行,用Windows下的编辑器直接卡机的,Windows下安装Gvim可以的。
数据表类型Innodb,没做任何的索引优化。
1.导入10万行记录不到1秒
mysql> load data infile './1.txt' into table article (keywords);
Query OK, 107200 rows affected (0.96 sec)
Records: 107200  Deleted: 0  Skipped: 0  Warnings: 0
2.导入2000万行的数据量
mysql> load data infile './1.txt' into table article (
Query OK, 20000000 rows affected (5 min 53.02 sec)
Records: 20000000  Deleted: 0  Skipped: 0  Warnings: 0
3.在9000万中统计数据,注意和第四个对比
mysql> select count(id) from article ;
+-----------+
| count(id) |
+-----------+
|  92893775 |
+-----------+
1 row in set (1 min 28.86 sec)
4.查询1亿1千万的数据,比上一个明显的时间多了。
mysql> select count(id) from article ;
+-----------+
| count(id) |
+-----------+
| 112893775 |
+-----------+
1 row in set (5 min 18.83 sec)
5.用count(*)时间减少了25秒左右。
mysql> select count(*) from article ;
+-----------+
| count(*)  |
+-----------+
| 112893775 |
+-----------+
1 row in set (4 min 5.53 sec)
6.用count(1)直接节省1分40秒
mysql> select count(1) from article ;
+-----------+
| count(1)  |
+-----------+
| 112893775 |
+-----------+
1 row in set (3 min 36.59 sec)
2011年3月19日添加新的测试
MYISAM引擎


mysql> select count(1) from test;
+-----------+
| count(1)  |
+-----------+
| 326039962 |
+-----------+
1 row in set (0.08 sec)
过多的话,我不说了,大家看结果吧。
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值