我意识到这种类型的问题以前曾经被问过很多次,但是由于有很多不同的答案,我想知道哪些应用最适合我的情况。MySQL性能设计 - 许多表和数据库或2个大型表格在一个数据库中
我正在为心理学家设计在线杂志。我计划在主数据库中有一张表来存储所有用户(心理学家)信息,然后我不确定如何处理用户想要输入的患者数据(注释)。我应该:
- 在同一个DB中有一张表,用于存储所有用户患者及其笔记。
- 为每个用户提供一张单独的表格,并将其所有患者放在该表格上。
- 为每个用户提供一个单独的数据库,并为该数据库中的每位患者提供一张表。
在数据大小方面,我假设每个患者约有1000名患者,每位患者有300-400名患者,平均为100条记录(这是几段数据,每条记录都是整个咨询会议的内容)每名患者。
我在SO DB design: one large DB for all customers or many small DBs上看到这个问题,我只是不确定它是否也适用于我的情况。我还看到了使用InnoDB分区的各种参考资料,可能让所有病人和笔记都放在一张桌子上。如果建议这样做,你还可以包括一些资料或教程,因为我在这方面找到的信息有限,对我来说有点太复杂。
非常感谢您的好评。如果我只需要问一个简单的跟进问题:你是否真的推荐InnoDB而不是MyISam?或者你只是重复我提到的内容? – trendicoff
我肯定会推荐InnoDB。它支持MyISAM不支持的事务,行级锁定和外键关系。 [本文在MySQL文档中](http://dev.mysql.com/doc/refman/5.5/en/innodb-default-se.html)解释了使用InnoDB的好处,以及为什么它现在成为默认引擎MySQL的。所以是的,如果你可以用InnoDB去:)顺便说一句,如果你能够upvote或者接受我的回答,如果它对你有用的话,我会很感激的:) – Daan
再次感谢你的帮助,对不起,我只能接受没有代表投票了)。 – trendicoff