mysql innodb 和 myisam 之间的更新时间
我在一张表上做了测试(使用innodb和myisam),使用PHP模拟2组更新,如下
组1. //执行1000次 对于 ($i = 0; $i < 1000; $i++) { update with pdo }
set 2. // 执行1次 { update with pdo }
通常,每次更新使用 myisam 需要 ~0.001x 秒,使用 innodb 需要 ~0.03x 秒,所以设置 1 使用 1000 次然后设置 2 并不奇怪,但是,在测试设置 1 期间,我在以下位置打开设置 2另一个浏览器窗口,我期望结果将在集合 1 的总时间内返回,但似乎它等待集合 1 完成,而不是在集合 1 运行期间插入队列。
是我做错了什么还是我的观念错了? 更新时间慢吗?(我的电脑配置是AMD Athlon 64 4200+,2G RAM,Windows 7,MySQL 5.5.9,nginx 0.8.5,PHP 5.3.5)
非常感谢〜!
I did a test on a table (with innodb and myisam), which use PHP to simulate 2 set of update, as follow
set 1. // execute 1000 times
for ($i = 0; $i < 1000; $i++)
{ update with pdo }
set 2. // execute 1 time
{ update with pdo }
normally, each update take ~0.001x sec with myisam and ~0.03x sec with innodb, so not surprise for set 1 use 1000 more times then set 2, however, during testing set 1, I open set 2 at another browser windows, what I expect is the result will return within the total time of set 1, but it seems it wait for set 1 finish, rather then insert into the queue during set 1 running.
Am I did something wrong or my concept is wrong?
And is the update time slow?(my pc config is AMD Athlon 64 4200+, 2G RAM, Windows 7, MySQL 5.5.9, nginx 0.8.5, PHP 5.3.5)
thanks a lot~!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于 MyISAM 表,并发插入是一个问题。请参阅
http://dev.mysql.com/doc/refman/ 5.1/en/concurrent-inserts.html
如果您要插入带有 auto_increment 列的 InnoDB 表,这里有关于锁定问题的讨论:
http://dev.mysql.com/doc/refman/5.1/en/innodb-auto-increment-handling.html
For MyISAM tables, concurrent inserts are an issue. See
http://dev.mysql.com/doc/refman/5.1/en/concurrent-inserts.html
If you are inserting to an InnoDB table with an auto_increment column, there's a discussion of locking issues here:
http://dev.mysql.com/doc/refman/5.1/en/innodb-auto-increment-handling.html