我们的服务器数据库是在MySQL 5.1中,我们已经在我们的db.We 754个表创建一个表中的每个项目。 因此,大不表。 从过去一个星期我已经注意到在插入和更新很长的延时对任何table.If我创建一个新表并插入到它,它需要一个最小插入约300区域经济共同体。
凡为我们在同一台服务器的测试数据库有597代表相同的插入是非常快的测试数据库。
默认引擎是MYISAM。 但是,我们必须InnoDB的几桌。
有运行一些触发器。 我删除后触发它已经成为了一些什么更快。 但它的速度不够快。
我们的服务器数据库是在MySQL 5.1中,我们已经在我们的db.We 754个表创建一个表中的每个项目。 因此,大不表。 从过去一个星期我已经注意到在插入和更新很长的延时对任何table.If我创建一个新表并插入到它,它需要一个最小插入约300区域经济共同体。
凡为我们在同一台服务器的测试数据库有597代表相同的插入是非常快的测试数据库。
默认引擎是MYISAM。 但是,我们必须InnoDB的几桌。
有运行一些触发器。 我删除后触发它已经成为了一些什么更快。 但它的速度不够快。
使用DESCRIBE知道你的查询执行计划。
看到更多的http://dev.mysql.com/doc/refman/5.1/en/explain.html其用法。
作为@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
刀片典型地快于散装而不是一个接一个地制成时。 尝试插入10,30,或100条记录每条语句。
如果您使用JDBC您可以实现与配料相同的效果,而无需改变SQL。