首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单MySQL UPDATE查询-非常低的性能

简单MySQL UPDATE查询-非常低的性能
EN

Stack Overflow用户
提问于 2012-02-16 02:17:34
回答 1查看 444关注 0票数 0

一个简单的mysql更新查询有时会非常慢。下面是查询:

代码语言:javascript
复制
update produse 
set vizite = '135' 
where id = '71238'

我的简化表结构是:

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS `produse`  
(
  `id` int(9) NOT NULL auto_increment,
  `nume` varchar(255) NOT NULL,
  `vizite` int(9) NOT NULL default '1',

  PRIMARY KEY  (`id`),
  KEY `vizite` (`vizite`),
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=945179 ;

我使用的是MySQL 5.0.77,表是MyISAM。

该表约为752.6个月,目前有642,442个。

数据库在专用VPS上运行,该VPS具有3 3Gb和4个2G处理器。当我们有高流量时,每秒不超过6-7个这种类型的查询,但查询速度不仅很慢。

EN

回答 1

Stack Overflow用户

发布于 2012-02-16 02:23:39

首先,尝试重新构建索引,可能发生的情况是查询没有使用它们(您可以看到在update查询中使用EXPLAIN语句)。

另一种可能性是,您在该表上有许多selects或长时间运行的selects,这会导致长锁。您可以尝试使用复制,并仅在从数据库上执行select查询,仅在主数据库上执行更新。这样,您就可以在执行selects操作时避免由更新引起的表锁,反之亦然。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9298956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档