0

假设我在学生和教师之间建立了多对多的关系,我为此构建了一个应用程序,我将学生分配给教师,将教师分配给学生。我可能希望我的数据标准化(我有一个教师集合和一个学生集合)。

我想知道,在上述情况下(多对多),如果我使用关系数据库(如 MySQL)而不是 MongoDb,性能会更好吗?一对多的性能如何?

4

1 回答 1

0

老实说,取决于实施。在 MySql 中,这取决于您如何布置架构并对其进行索引。

Flat DB storage (Mongo) 并不意味着你会自动获得性能。这纯粹是主观的。

这是根据您的描述在 MySql 中的一个示例。

create table teachers (teacher_id int Primary Key, teacher_name varchar(20))
create table students (student_id int Primary Key, student_name varchar(20))
create table teacher_student_assoc (assoc_id int Primary Key, teacher_id int, student_id int) create index on teacher_id and student_id

除非您的 MySql 数据库会受到重创(假设您的网站每天获得 10 万次点击),否则我看不出您需要担心性能的原因。

如果需要,您还可以实现 memcache。

祝你好运。

于 2012-09-27T23:28:50.737 回答