InnoDB 还是 MyISAM?

发布于 2024-09-28 17:13:28 字数 274 浏览 9 评论 0原文

我有两个表:用户和友谊。 我在网站上的操作是:

  • 注册
  • 登录
  • 从用户表中选择朋友/人
  • 将人们添加为朋友

还有更多操作,但总的来说我想知道 :

问题:

我应该使用表的 InnoDBMyISAM ? (或者 InnoDB 一个,MyISAM 另一个?)

I have two tables: Users and Friendships.
The actions I have in the website are:

  • Register
  • Log in
  • Select friends/people from users table
  • Add people as friends

There are a little more actions but in general i wanted to know :

The Question:

Should I use InnoDB or MyISAM for the tables ?
( Or InnoDB for one and MyISAM for the other ? )

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

七七 2024-10-05 17:13:28

除非您特别想要在特定表上包含 FULLTEXT 索引,否则始终使用 InnoDB。只有 InnoDB 强制执行外键,并且您在数据库中构建的引用完整性越多,每个人都会过得更好。

Always use InnoDB unless you specifically want to include a FULLTEXT index on a particular table. Only InnoDB enforces foreign keys, and the more referential integrity you can build into the database the better off everyone's going to be.

只是我以为 2024-10-05 17:13:28

使用InnoDB。您可以获得外键约束、事务(因此您可以插入到两个表中,并且它们要么都被提交,要么都不被提交,这样您就不会留下不一致的信息)。

然而,还有另一个很大的优势。 InnoDB支持MVCC(多版本并发)。这意味着,当事务在行上操作时,其他事务/语句可以看到该行的旧值。对于 MyISAM,该操作将被阻止。更少的阻塞意味着您可以让更多用户同时操作您的数据集。

Use InnoDB. You get foreign key constraints, transactions (so you can insert into two tables and either they both get committed or neither, so you aren't left with inconsistent information).

However, there is another big advantage. InnoDB supports MVCC (multi-versioning concurrency). This means that, while a transaction is operating on a row, other transactions/statements can see the old value of the row. With MyISAM that operation would block. Less blocking means you can have more users operating concurrently on your data set.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文