寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、Office办公、随笔等内容。

mysql insert插入语句性能优化

最近下载了一个2000多万的mssql数据库备份文件,然后用软件将其转为mysql数据库,转过来大约3个G左右,数据占用磁盘量不大,但是数据条数还是挺多的。而且因为是从mssql转过来的缘故,全都是text类型,且除了id意外,没任何索引。如果直接用php来查询这些数据,估计没几分钟甚至几十分钟的时间是查不出任何东西的。于是乎想到了mysql分表。分表的时候是采用hash按照某个字段分的,加之自己略懂一点php,于是乎我按照自己的想法写了一个php的分表小代码:读取n条记录,php处理好后分别插入个分表中。2000万的数据,可不是开玩笑滴,那家伙,一秒钟转存100条记录都要好几秒钟。经分析,读取记录还算比较快,但是插入貌似有点慢了。于是引出了博文标题,mysql insert查询语句性能优化。

    究竟如何对insert语句性能优化呢?百度了一下,在插入语句之前和之后分别加上“START TRANSACTION;”和“COMMIT;”,不含引号,问题就得以解决了。现在插入速度那是相当快,一次插入一两千条数据,跟玩似的。注:在“START TRANSACTION;”和“COMMIT;”之间的插入语句类似为:INSERT INTO `table` ( `id`, `content`) VALUES (null, 'content') ,(null, 'content'), (null, 'content');

数据 2013-10-27 13:49:56 1 0 1181 mysqlinsert插入千万级

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
pdf、word、txt、excel等文档转flash(swf)软件—虚拟打印机FlashPaper
win10华硕fl5900u笔记本开机进入桌面后转圈卡死怎么办
PHP以Excel模板填充数据并生成新的Excel文件
PHP实现远程下载,并显示实时下载进度
记一次Seafile数据迁移
基于ThinkPHP6的API注释文档自动生成扩展
如何让电脑的多个声卡设备(蓝牙音响)同时输出声音
2020开局不顺
win10切换虚拟桌面
Win10更新后不显示文字
文章推荐
请不要奇怪,为什么最近博客的文章是几年前的内容
免责声明
关于博主
开篇第一章
随机推荐
中秋
地震,人心惶惶。
用ASP+XML编写留言本
本博客的发展方向
年代,为什么要把我们区分得这么明显?
PHP禁止某个IP或IP段访问
笔记本电脑NVIDIA显视设置不可用,您当前未使用连接到NVIDIA GPU的显视器
儿子高烧终于退了
PHP实现远程下载,并显示实时下载进度
医生写的字为啥还是那么难认?
友情连接
春燕网络