2012-09-20 39 views
1

我在表(innodb作为存储)中有大约1000万条数据记录。当我执行大量编辑,插入和添加时,通常会超出最大锁定数量。在阅读一些帮助提示后,我想将表格转换为MyISAM,看看是否会有一些改进。MYSQL从INNODB到MYISAM的表更改存储引擎

但是当我试图从InnoDB的改变存储类型在phpMyAdmin在MyISAM,我得到“的锁数目超过了错误”

  1. 是好改在MyISAM?
  2. 我使用什么方法来避免'最大不。的锁超出了错误?'

感谢

+0

好的。但是我怎么能避免这些锁定错误? – karto

回答

2

这可能是一个非常糟糕的主意,以改变在MyISAM。您将失去事务支持,并且数据库不会被记录,这意味着崩溃可能会轻易破坏它,使其不可恢复。

您可以调整服务器的锁定超时参数,以使操作更长时间完成。对于批量操作而言,这是至关重这是您可以手动调整或在my.cnf中设置的innodb_lock_wait_timeout配置参数。这通常非常低,通常为50秒,所以很多大的操作都会失败,除非这个改变。

您还应该删除任何非严格要求的索引,因为这可能是很多延迟的来源。 SHOW TABLE STATUS会给你一个有多少索引空间与你的表相关的想法。更大的索引维护成本更高,特别是在进行大量插入时。

+0

好的。谢谢。我检查了表格的index_lenght,它是167034880.这是什么意思? – karto

相关问题