首页 文章

我现在在myisam(mysql)中有数据表 . 我应该使用innoDB的关系表吗? [关闭]

提问于
浏览
0

是一个像 tid(int) zid(int) direction(tinyint) type(tinyint) 这样的列的表,具有非常繁重的读写操作,以及加入myisam中的其他表,最好是引入myisam或innodb?

有人告诉我,innodb的写入性能比myisam差 . 真的吗?每当没有用主键提取数据时,innodb也会像myisam一样拥有表锁 . 是否有任何技术可用于使用myisam和innodb在表之间连接表?

1 回答

  • 1

    默认情况下,您应该始终使用InnoDB . 它更快;它支持事务,外键和行级锁定;它更容忍崩溃 - 全能,它比MyISAM好得多 .

    在某些情况下可能需要MyISAM表 . 两个常见的是:

    • 您使用的是旧版本的MySQL,它不支持全文或地理空间索引,您需要启用这些功能 .

    (请注意,如果您使用的是全文索引,那么通常最好使用Sphinx之类的外部搜索引擎--MySQL的全文搜索并不是特别好 . )

    • 您有一些表具有不寻常的数据访问模式(特别是非常大的只写表,例如日志),有时在MyISAM下可以更好地执行 .

    但是,除非您确定这些条件适用,否则您应该使用InnoDB . 它几乎总是正确的选择 .

相关问题