在存储大量信息时,mysql数据库设置的最佳选择是哪种路由?
我使用的是PHP和MySQL,我只是想知道哪种路径对性能更有利,数据库将不断增长,但增长速度相对较慢,但对于每个员工,我必须存储相当数量的信息,例如:在存储大量信息时,mysql数据库设置的最佳选择是哪种路由?,mysql,performance,Mysql,Performance,我使用的是PHP和MySQL,我只是想知道哪种路径对性能更有利,数据库将不断增长,但增长速度相对较慢,但对于每个员工,我必须存储相当数量的信息,例如: id name address phone email coworkers pay_rate notes tasks completed_tasks 所以我想知道哪一个对我的数据库设置更好 我应该为每个员工创建一个新表,还是只创建每个表,并用id号相应地链接信息。这些应该是表 EMPLOYEES id name address
id
name
address
phone
email
coworkers
pay_rate
notes
tasks
completed_tasks
所以我想知道哪一个对我的数据库设置更好
我应该为每个员工创建一个新表,还是只创建每个表,并用id号相应地链接信息。这些应该是表
EMPLOYEES
id
name
address
phone
email
pay_rate
COWORKERS (this is a link table, tells relationship among employees)
EMPLOYEE.ID (FK)
EMPLOYEE.ID (FK)
NOTES
notes_id
notes
EMPLOYEE.id (FK)
TASKS
task_id
task-details
completed (int or bool)
EMPLOYEE.id (FK)
不要为每个员工创建新表。不推荐。。搜索、筛选将很困难。您应该组织数据,记住它们在映射方面的相互关系,例如,员工集以一对多的方式映射到注释集
此外,您不应该过多地考虑数据库开始溢出时会发生什么情况。如果那一刻到来,你一定有几十亿行。然后,您可能会想到一种排列数据的技术 我肯定会做后者。您不需要在数据库中大量增加表,只需为每个新员工向employee表中添加一条新记录,并在其他表中跟踪一对多信息,这些表使用employeeId字段(您希望生成外键)进行索引 不过,您需要确保employees表中只包含员工信息,而不包含“同事”之类的内容。使用多个表跟踪具有不同含义/目的/关系的数据集。关系数据库ftw