成都创新互联网站改版中如给广大用户带来不便请谅解! 创新互联专业成都网站建设 企业网站制作 精美网页设计 网站建设服务热线:028-869 2222 0
域名注册
虚拟主机
网站建设
企业邮局
- 域名相关知识及购买
- 域名解析
- 网址URL转发
- 转入转出及过户
- 域名交易
网络营销
网站备案
- 域名相关知识及购买
- 域名解析
- 网址URL转发
- 转入转出及过户
- 域名交易
服务器租用
提高mysql插入数据的速度
- 作者:谭孝梅 文章来源:网站数据库 点击数:1241 更新时间:2011-9-11
-
在myisam engine下
1. 尽量使用insert into table_name values (...), (.....),(.....)这样形式插入数据,避免使用inset into table_name values (); inset into table_name values (); inset into table_name values ();
2 增加bulk_insert_buffer_size(默认8M)
3 如果是非空表,使用alter table table_name disable keys,然后load data infile,导入完数据在执行:
alter table table_name enable keys. 如果是空表,就不需要这个操作,因为myisam表在空表中导入数据时,是先导入数据然后建立indexs。
4 在插入数据时考虑使用:insert delayed....这样操作实际mysql把insert操作放到队列里面,进行相对集中的插入,速度更快。
5 使用load data infile 比使用insert 操作快近20倍,尽量使用此操作。
在innodb engine下
1.导入数据之前执行set unique_checks=0来禁止对唯一索引的检查,数据导入完成之后再运行set unique_checks=1.
2. 导入数据之前执行set foreign_key_checks=0来禁止对外键的检查,数据导入完成之后再执行set foreign_key_checks=1.
3.导入数据之前执行set autocommit=0禁止自动事务的自动提交,数据导入完成之后,执行set autocommit=1 恢复自动提交操作。
使用innodb engine的表,物理存储都是按PK的顺序存的。不能使用类似于myisam一样disable keys.
硬件上提高磁盘的I/0对插入速度很有好处(所以如果进行大数据量的导入导出工作,尽量在比较NB的硬件上进行,能缩减完成的时间,已经防止出现问题)。
远程连接mysql速度慢的解决方法
- 上一篇文章:换服务器IP对百度影响最小的技巧
下一篇文章:如何选择一个有利推广的虚拟空间
服务电话:028-86922220 13518219792 公司地址:成都市太升南路288号锦天国际A幢1002号
支持信箱:service@cdxwcx.com 版权所有:创新互联-成都网站建设网络公司 蜀ICP备13010860号
创新互联成都网络公司专业从事:成都网站设计,成都网站空间,成都网站建设,成都网页制作,mysql数据库速度, mysql插入数据速度