Mysql插入,更新速度很慢

时间:2013-05-10 06:14:17

标签: mysql performance insert

我们的服务器数据库在mysql 5.1中 我们的db中有754个表。我们为每个项目创建一个表。因此,没有大表。 从过去的一周开始,我注意到对任何表的插入和更新都有很长的延迟。如果我创建一个新表并插入其中,则需要一分钟来插入大约300个rec。

同一服务器中的测试数据库有597个表在同一个插入在测试数据库中非常快。

默认引擎是MYISAM。但我们在INNODB中几乎没有表格。

有几个触发器正在运行。删除触发器后,它变得更快。但它还不够快。

3 个答案:

答案 0 :(得分:1)

USE DESCRIBE了解您的查询执行计划。

请查看http://dev.mysql.com/doc/refman/5.1/en/explain.html的用法。

答案 1 :(得分:0)

正如@swapnesh所提到的,DESCRIBE命令对于性能调试非常有用。 您还可以使用以下方法检查安装是否存在问题:

你这样使用它:

wget https://raw.github.com/rackerhacker/MySQLTuner-perl/master/mysqltuner.pl
chmod +x mysqltuner.pl
./mysqltuner.pl

当然,在这里我假设您运行某种基于Unix的系统。

您可以使用OPTIMIZE。根据手册,它做了以下几点:

  

重新组织表数据和关联索引的物理存储   数据,以减少存储空间和提高I / O效率   访问表格。每个表的确切更改取决于   该表使用的存储引擎

语法为:

OPTIMIZE TABLE tablename

答案 2 :(得分:0)

批量生产时,插入物通常更快,而不是一个接一个。尝试在每个语句中插入10,30或100条记录。

如果使用jdbc,您可以在不更改SQL的情况下实现与批处理相同的效果。