Home  >  Q&A  >  body text

MySql中MyISAM和Inno DB主要区别是什么

如题,MyISAM与Inno DB在使用场景上的主要区别在哪里。
对于电子上午订单管理的站点,应该选择哪种?

PHP中文网PHP中文网2743 days ago686

reply all(2)I'll reply

  • 伊谢尔伦

    伊谢尔伦2017-04-17 11:02:07

    事务性:
    需要事务性的表最好的选择就是InnoDB。如果表操作不需要事务操作而且涉及的操作不仅仅是insert和select的话,MyISAM是最好的选择。
    并发性:
    如果仅需要插入数据和并发读的话,MyISAM是较好的选择。而如果各种操作混杂的话,row-level锁会表现得更好一些。
    可恢复性:
    MyISAM比起InnoDB来说更容易发生数据错乱,也需要更多的时间来做恢复操作。

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 11:02:07

    如果需要事务管理,那必然选InnoDB无疑。InnoDB还包括行锁的支持,自适应的Hash索引等等功能。
    貌似原先的版本MyISAM都没有外键约束的支持,最近可能添加上了。
    总的来说如果需要大量的并发读,不需要事务性操作,那就选MyISAM;否则就用InnoDB。

    reply
    0
  • Cancelreply