求大神救命!MySQL连续插入性能莫名极其低下

lix511 2013-08-12 03:52:57
测试用的存储过程脚本(连续插入1000条数据):

begin
set v = 1000;
truncate table t_user;
while v > 0 do
insert into t_user(uname) values('zhangsan');
set v = v-1;
end while;
end


测试环境:
两台配置完全一样的主机(i5 cpu,8G内存,500G硬盘)。
其中主机A直接安装CentOS 6.3系统+MySQL 5.6.12。
而主机B安装了VSphere,然后部署了一个虚拟机B1,该虚拟机配置(四核cpu,4G内存,100G硬盘),同样安装CentOS 6.3系统+MySQL 5.6.12。

而测试是在物理机A和虚拟机B1上分别跑上面的存储过程脚本。

预测:由于两台主机配置一致,理论上应该A的执行速度要高于B1的。

但是!我测出的结论!居然是:
A:9.179ms
B1:0.856ms


为什么为什么为什么!虚拟机居然比物理机快10多倍!完全无法理解啊,求大神指教!
...全文
595 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
WWWWA 2013-08-20
  • 打赏
  • 举报
回复
打开通用日志看看什么内容
ACMAIN_CHM 2013-08-19
  • 打赏
  • 举报
回复
如果仍一样,那就用 SHOW PROFILES 检查一下时间的消耗。 一种可能就是VM没有实际把记录写入到文件,而是积攒到一定程度然后一次性进行磁盘IO操作。
ACMAIN_CHM 2013-08-19
  • 打赏
  • 举报
回复
表结构和索引都一样啊。 检查一下 select @@autocommit ;
lix511 2013-08-19
  • 打赏
  • 举报
回复
求解!!!有人吗?
ACMAIN_CHM 2013-08-13
  • 打赏
  • 举报
回复
分别贴出两机以下内容以供分析 show create table t_user; show index from t_user;
lix511 2013-08-13
  • 打赏
  • 举报
回复
引用 3 楼 WWWWA 的回复:
my.ini内容也一样
WWWWA,你咋知道的?你也遇到过?能解释不?
lix511 2013-08-13
  • 打赏
  • 举报
回复
是啊,my.ini也一样,都是默认安装,没改任何配置。
WWWWA 2013-08-13
  • 打赏
  • 举报
回复
my.ini内容也一样
lix511 2013-08-13
  • 打赏
  • 举报
回复
show create table t_user; 物理机A: CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uname` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8 虚拟机B1: CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uname` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8 show index from t_user; 物理机A: t_user 0 PRIMARY 1 id A 1000 BTREE 虚拟机B1: t_user 0 PRIMARY 1 id A 1000 BTREE
rucypli 2013-08-12
  • 打赏
  • 举报
回复
应该是配置文件不同造成的,对比下两边的配置文件

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧