寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、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 36 0 4843 mysqlinsert插入千万级
文章写得不错?我是土豪我要在线打赏!
在线打赏

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
文章推荐
免责声明
关于博主
开篇第一章
随机推荐
宝宝日志-待产观察第一天
年代,为什么要把我们区分得这么明显?
富士康第十跳诞生,工作压力大还是承受能力小?
两天整了份简报。。。。
mysql命令导入导出.sql文件
php Call-time pass-by-reference has been deprecated 错误解决方案
百无一用是书生?大学生当街打劫。。。
Ubuntu22.04中用thunar替换默认文件管理器,提示无法启动“TerminalEmulator“的首选应用程序
毕业论文:生物柴油的合成
让ie自动后台运行
友情连接
春燕网络
谢润的博客
企安文库