与INNODB的Mysql性能问题

时间:2013-02-04 10:05:34

标签: mysql linux performance

我的linux网络服务器上的某些数据库存在一个非常奇怪的性能问题。第一:

  • 问题出现在不同的INNODB表中
  • 表格中只有10 - 15000个条目
  • 正确索引
  • 每天只发生一次或两次

以下查询非常慢(只是不时):

UPDATE t_contentlocks 
SET  lastaccess = NOW(),  has_write_access = '1'  
WHERE id = '10'

字段“id”是主(整数),表有大约20个条目。这样的查询如何处理30秒?目前没有其他疑问。它的外观/感觉就像mysql服务器进入某种休眠模式,现在需要时间再次唤醒。通常,此查询的时间少于0.00001秒。

是否有人遇到同样的问题/解决方法?

谢谢!

2 个答案:

答案 0 :(得分:0)

你查询id = '10',id是一个int。每次运行查询时,id都将转换为varchar,而indez将不是用户。所以这样做会快得多:

WHERE id = 10

现在索引将是用户,我不确定它会解决你的30秒问题。

答案 1 :(得分:0)

除了同行答案,您还可以检查分析查询,然后通过查看查询执行需要更多时间来做出正确的决定。

 SET PROFILING=1;
UPDATE t_contentlocks 
SET  lastaccess = NOW(),  has_write_access = '1'  
WHERE id = '10';
show profile for QUERY 1;