最近发现了一个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)
过多的话,我不说了,大家看结果吧。
分享到:
相关推荐
- **SUN与Oracle合并背景**:2009年,Oracle宣布以74亿美元收购SUN Microsystems,这一举措被视为Oracle进军云计算领域的关键步骤。 - **云计算重要性**:随着云计算的发展,数据成为了核心资产。Oracle通过此次...
- **SUN与Oracle合并背景**:2009年,Oracle宣布以74亿美元收购SUN Microsystems,此举被视为Oracle迈向云计算的重要一步。 - **云计算核心价值**:随着云计算在企业中的应用日益重要,数据成为核心资产。此次并购有...
### MySQL数据库及索引详解 #### 一、MySQL简介与数据库发展 MySQL是一款非常流行的开源关系型数据库管理...通过理解MySQL及其索引的基本概念,开发者可以更好地管理和优化数据库性能,确保高效地完成数据检索任务。
- **Oracle与SUN合并背景**:2009年,Oracle宣布以74亿美元收购SUN Microsystems,这一举措被视为Oracle进军云计算领域的关键步骤。SUN不仅拥有MySQL数据库,还有广泛的服务器硬件资源以及强大的操作系统Solaris。 -...
这种技术对于处理海量数据,尤其是超过亿级别的数据集非常有效,可以显著提升查询性能和数据管理效率。本文将详细介绍MySQL表分区的原理、优势以及如何创建和使用分区。 **表分区的优势** 1. **存储优化**:分区...
1. **MySQL复制原理及流程**:MySQL复制涉及主从服务器,通过binlog(二进制日志)传输数据变更。主服务器上有三个关键线程:SQL线程、I/O线程和 Binlog Dump线程,它们协同工作以实现数据同步。 2. **MyISAM与...
这种模式在数据量不大时不会造成问题,但在数据量级达到千万甚至亿级别时,效率低下,容易产生内存溢出(OOM)错误。例如,对于千万级别的数据表,执行count操作可能需要等待极长的时间,因此不推荐使用默认的单...
在实时OLAP数据仓库架构优化演进中,涉及多个关键的概念和技术点。首先,“实时OLAP数据仓库架构优化演进”是指随着数据仓库技术的发展,特别是针对在线分析处理(OLAP)场景的实时性需求,对数据仓库架构进行优化和...
但对于update操作,所耗的时间却急剧上升,主要原因是在更新数据的同时,mysql会执行索引的更新。 下面做了一个简单的试验。 (1)首先对某个亿级记录的表字段所有记录执行更新: for idx in range(1, count+1): sql ...
1. **COUNT()**:这个函数用于计算指定列的非NULL值的数量。例如,如果我们想知道2019年有多少个城市的记录,可以使用以下查询: ```sql SELECT COUNT(*) FROM city WHERE city_year = '2019'; ``` 这将返回5,...
另外,可能有人会说你MyISAM无法抗太多写操作,但是我可以通过架构来弥补,说个我现有用的数据库平台容量:主从数据总量在几百T以上,每天十多亿 pv的动态页面,还有几个大项目是通过数据接口方式调用未算进pv总数...
传统的关系数据库如 MySQL 实现这一功能时,使用 `SELECT COUNT(DISTINCT item)` 查询,但在大数据量下效率低下。相比之下,Redis 提供了三种高效的方法来实现唯一计数。 1. **基于 Set 的方法**: Set 数据结构...