mysql load data infile
如何提高mysql load
data
infile
的速度
测试数据2.5G,共有数据9427567条。用的mysql的large服务器的配置。
load
一次需要大概10分钟左右。
建的表用的是MYISAM,调整了几个session的参数值
SET SESSION BULK_INSERT_BUFFER_SIZE=256217728;
SET SESSION MYISAM_SORT_BUFFER_SIZE=256217728;
运行结果如下
Query OK, 9427567 rows affected, 1558 warnings (3 min 55.21 sec)
Records: 9427567 Deleted: 0 Skipped: 0 Warnings: 0
google到的还可以
set global KEY_BUFFER_SIZE=256217728;
alter table tablename disable keys;
如何load
数据里面带反斜杠(backslash)”\” 的数据
由于如果你没有指定FIELDS子句,则默认值为假设您写下如下语句时的值:
FIELDS TERMINATED BY ‘\t’ ENCLOSED BY ” ESCAPED BY ‘\\’
所以,如果你的数据里面有反斜杠(backslash)”\”的时候,数据会出现被截断的问题。出现这种问题,只要写上如下的fields子句即可
FIELDS TERMINATED BY ‘\t’ ENCLOSED BY ” ESCAPED BY ”
如何load
的时候只insert特定的列
比如表里面有比元数据多的列。可以在load
的时候指定要插入的字段名字。
示例的代码如下:
LOAD
DATA
INFILE
'
~/data.txt
'
INTO
TABLE
fb0505
CHARACTER
SET
gbk
FIELDS
TERMINATED
BY
'
\t
'
ENCLOSED
BY
''
ESCAPED
BY
''
LINES
TERMINATED
BY
'
\n
'
STARTING
BY
''
(
seller_id
,
fb_type
,
fb_date
,
item_url
)
;
其中表fb0505里面还有一列是id。
相关文档:
环境:两台服务器IP:192.168.30.57\192.168.30.58
1、下载mysql-5.0.86-linux-i686-glibc23.tar.gz 到http://dev.mysql.com/downloads/mysql/5.0.html#linux下载
2、解压 tar -zxvf
mysql-5.0.86-linux-i686-glibc23.tar.gz
3、创建链接 ln -s
mysql-5.0.86-linux-i686-g ......
1.设置变量
set @x = 2;
或:
select @x := max(fields) as max from table;
2.生成html或xml
mysql -H -uroot -p databaseName 生成html文件
mysql -x -uroot -p databaseNam ......
#include <stdio.h>
#include <windows.h>
#include <mysql.h>
#define host "localhost"
#define username "root"
#define password "123"
#define database "oa"
MYSQL *conn;
int main()
{
MYSQL_RES *res_set;
MYSQL_ROW row;
unsigned int i,ret;
FILE *fp;
MYSQL_FIELD *field;
......
一、下载MySQL
官方网站:www.mysql.org
二、安装
1.将此压缩包解压缩到制定文件夹下,以"C:/mysql"为例
2.将my-midium.ini复制一份,并重命名为my.ini
3.将C:/mysql/bin/libmysql.dll复制到系统目录下,例如复制到"C:/windows"下
4.在命令行模式下,运行C:/mysql/bin/mysqld,即可开启MySQL服务 ......
20 MySQL客户工具和API
20.1 MySQL C API
C API代码是随MySQL分发的,它被包含在mysqlclient库且允许C程序存取一个数据库。
在 MySQL源代码分发中的很多客户是用C编写的。如果你正在寻找演示怎样使用C API的例子,看一下这些客户程序。
大多数其他客户 API(除了Java的所有)都使用mysqlclient库与MySQL服务器通信 ......