合理使用mysql中的load data infile导入数据
基本语法: load data [low_priority] [local] infile 'file_name txt' [replace | ignore] into table tbl_name [fields [terminated by't'] [OPTIONALLY] enclosed by ''] [escaped by'' ]] [lines terminated by'n'] [ignore number lines] [(col_name, )] load data infile语句从一个文本文件中以很高的速度读入一个表中。使用这个命令之前,mysqld进程(服务)必须已经在运行。为了安全原因,当读取位于服务器上的文本文件时,文件必须处于数据库目录或可被所有人读取。另外,为了对服务器上文件使用load data infile,在服务器主机上你必须有file的权限。 把千万级甚至亿级的数据写入mysql,实在是一件很让人头痛的事情。 load data local infile貌似是最快的方法了, 可是load一个亿级的文件,仍然需要数十分钟。 如果有主从结构的话,在主服务器上面load数十分钟,文件数据会写入binary log,再传输到从服务器, 然后从服务器也需要数十分钟来做load操作,如果从服务器只有一个sql_thread来执行binary log