易截截图软件、单文件、免安装、纯绿色、仅160KB

如何提高mysql load data infile的速度


版权声明
:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://bbayou.blogbus.com/logs/37045617.html
测试数据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
不同编码的数据
原来用的4.X的mysql,我是select INTO OUTFILE ,只后用iconv,或者其他软件来做。可以参考这里
,但是由于这次数据大,用ultraedit等软件打开都要半天。好在新版的mysql可以增加一个新的参数
CHARACTER SET gbk
我的文本数据是GBK的编码,数据表是utf8的,用这种方法测试成功。
如何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。


相关文档:

MySQL数据表类型(某公司的面试题)

MySQL的数据表类型很多,MySQL一共向用户提供了包括DBD、HEAP、ISAM、MERGE、MyIAS、InnoDB以及Gemeni这7种表。其中DBD、InnoDB属于事务安全类表,而其他属于事务非安全类表。
DBD
Berkeley DB(DBD)表是支持事务处理的表,由Sleepycat软件公司开发。它提供MySQL用户期待已久的功能--事务控制。事务控制在任何数据库系统中 ......

mysql alter 语句用法,添加、修改、删除字段等


 源地址: http://www.pcppc.cn/shujuku/mysql/shujuku_163919.html
 
 
您正在看的MySQL教程是:MySQL数据库学习笔记。
  MySQL数据库学习笔记 
(实验环境:Redhat9.0,MySQL3.23.54) 
纲要: 
一,连接MySQL 
二,MySQL管理与授权 
三,数据库简单操作 
四, ......

tomcat 6.0 + mysql + jndi 数据库连接池配置

1、新建动态web项目。
2、添加jar包
    将mysql jdbc驱动添加到tomcat安装目录下的lib目录。
3、在META-INF下添加content.xml文件。内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true" crossContext="true">
<!-- Default set of monitored resources - ......

Zend FrameWok中调用mysql的存储过程

在Zend FrameWork中调用mysql的存储过程方法如下:
$db = Zend_Db::factory($sql_DbType,$sql_Config);
$connection=$db->getConnection();
Zend_Registry::set("db",$db);
Zend_Registry::set("connect",$connection);
调用存储过程如下代码所示:
$this->_db = Zend_Registry::get('db');
$connection=Zend_ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号