我正在创建一个类似 FriendFeed 的服务。对于数据库,最好使用 InnoDB 还是 MyISAM 来存储表?
- 有很多选择和插入。
- 当用户插入内容时,表格必须是可搜索、可排序的。
- 最后,它必须有相当多的行。(取决于表格)。
- 首先,数据库将位于一台服务器中。
- 我希望在不锁定表格的情况下进行备份。
谢谢。
答案1
只有 MyISAM 支持 mysql 全文搜索,而 InnoDB 支持外键等。对于您想要实现的目标,这两者都很有趣。
如果您无法决定,为什么不尝试将两者混合使用,通过选择性地将它们应用到需要各自特性的表上来结合它们的优势?
答案2
MyISAM 不允许你在不锁定唯一服务器(无从服务器)上的表的情况下进行备份,并且任何插入也将锁定表...因此你应该选择 InnoDB
答案3
MyISAM 更适合读取密集型表,而 InnoDB 更适合写入密集型表。如果您有读取和写入混合,并且如果可以将写入设计为仅使用 1 个键读取,那么 MyISAM 会更好。
但不确定备份部分。直接复制文件系统中的数据库文件对您有用吗?