gpt4 book ai didi

mysql - 我现在在 myisam(mysql) 中有数据表。我应该使用innoDB的关系表吗?

转载 作者:行者123 更新时间:2023-11-29 14:01:41 24 4
gpt4 key购买 nike

是一个包含类似 tid(int) zid(int) direction(tinyint) type(tinyint) 的列的表具有相当繁重的读写操作,以及连接 myisam 中的其他表,最好在 myisam 或 innodb 中进行引擎处理?

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

最佳答案

默认情况下,您应该始终使用 InnoDB。它更快;它支持事务、外键和行级锁定;它对崩溃的容忍度更高——总而言之,它比 MyISAM 好得多。

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

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

    (请注意,如果您正在使用全文索引,那么通常最好使用外部搜索引擎(例如 Sphinx)——MySQL 的全文搜索并不是特别好。)

  • 您有一些具有不寻常数据访问模式的表(特别是非常大的只写表,例如日志),这些表有时在 MyISAM 下性能更好。

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

关于mysql - 我现在在 myisam(mysql) 中有数据表。我应该使用innoDB的关系表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14971834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com