首页 > 数据库技术 > 详细

go和php比较mysql的insert速度

时间:2014-11-13 23:50:07      阅读:628      评论:0      收藏:0      [点我收藏+]

表CREATE TABLE `goods` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL COMMENT ‘??‘,
  `dateline` int(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2451249 DEFAULT CHARSET=utf8

 

测试环境,在同一服务器上。

golang :beego框架

php:yii框架

 

golang:

stmtIns,err := db.Prepare("insert into goods values(?,?,?)")

        for i := 0;i<=1000000;i++ {
                _,err = stmtIns.Exec(nil,"ddd",time.Now().Unix())
                if err != nil {
                        panic(err.Error())
                }
        }

 

php:

                for($i=0;$i<=1000000;$i++){
                        $t = time();
                        $sql = "insert into goods values(NULL,‘dddd‘,$t)";
                        if(Yii::app()->db_test->createCommand($sql)->query())echo "1";
                }

每次10万条轮替插入表分别记录(id为表自增id)。
go beego:
8.800196552s      id:1-100000
11.11174997s      id:200001-300000
14.917775043s
14.736186824s
15.600297382s
18.168707698s    id1000000-1100000

php yii
18s    id:100001-200000
17s    id:300001-400000
16s    id:1100000-1200000

刚开始go比php快9s多,后面反被PHP快出2s样子。

 

分别空表插入100万条时间开销:
go
1m26.883778465s 第一次100W条
1m27.344121961s 第二次100W条 id 100w-200w
php:
2m78.8433s  第一次100W条
2m70.77s    id200w-300w

为何不断追加数据的情况下,go语言需要更多时间,而php开销的时间在减少。为啥呢?!

go和php比较mysql的insert速度

原文:http://www.cnblogs.com/php-devel/p/4096134.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!