加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

php – 带有insert的大表的mysql性能问题

发布时间:2021-03-14 20:47:33 所属栏目:MySql教程 来源:网络整理
导读:我们有一个专用服务器,内存为8GB,PHP5.3为MySQL 5.1 最多有大约500个并发连接,每个连接使用用户数据对较小的表执行1-2次SELECT查询,然后在大表事务中执行INSERT.选择查询不需要太多,我们在每个查询之间添加监视以查看每个查询的响应时间,并且从来没有问题.

我们有一个专用服务器,内存为8GB,PHP5.3为MySQL 5.1

最多有大约500个并发连接,每个连接使用用户数据对较小的表执行1-2次SELECT查询,然后在大表事务中执行INSERT.选择查询不需要太多,我们在每个查询之间添加监视以查看每个查询的响应时间,并且从来没有问题.

我们在代码中添加了跟踪功能,有时会导致一些简单的INSERT查询需要14-15秒.下面列出的此查询有时需要14秒,有时为6秒,有时为0.2秒或更短.可能是什么问题?

PHP代码有时会返回这些巨大的延迟:

$starT = microtime(true);
echo '&timestampTS_02='.(microtime(true) - $startT);
mysqli_query($GLOBALS['con'],"INSERT INTO `transactions` (`id`,`data`) VALUES('id','some_data')") or die(mysqli_error($GLOBALS['con']));
echo '&timestampTS_03='.(microtime(true) - $startT);

到目前为止,交易表有大约200万个条目.

CREATE TABLE IF NOT EXISTS `transactions` (
  `id` int(11) NOT NULL,`data` varchar(1000) NOT NULL,PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
最佳答案 您的表可能会被锁定以用于其他进程.这可能是硬件问题(慢速或终身硬盘驱动器),软件或推测(共享系统中的慢速服务器).

您可以通过show processlist查看锁定插入的内容

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读