Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 什么更有效率?_Mysql_Ruby On Rails_Database_Postgresql - Fatal编程技术网

Mysql 什么更有效率?

Mysql 什么更有效率?,mysql,ruby-on-rails,database,postgresql,Mysql,Ruby On Rails,Database,Postgresql,我有两种用户: 雇员 招聘人员 招聘人员可以出缺 空缺职位可能有要求,员工也有/或没有这些要求: 运输(汽车、执照等) 语言(英语、荷兰语、法语、德语等) 工作期限(员工、自由职业者、学生、实习生等) 部门(物流、零售、清洁等) 制度(全职、兼职、假期、周末等) 在我当前的数据库结构中,我有所有5个需求和外键的表 我的问题是,;每次我加载一个空缺时,它都需要从所有这些模型中获取FK值,因此,每次我想在视图中显示某些内容时,都要加载6个模型 因为只有一列表可以将值直接放入模型中,并确保用户不能在前

我有两种用户:

  • 雇员
  • 招聘人员
  • 招聘人员可以出缺

    空缺职位可能有要求,员工也有/或没有这些要求:

  • 运输(汽车、执照等)
  • 语言(英语、荷兰语、法语、德语等)
  • 工作期限(员工、自由职业者、学生、实习生等)
  • 部门(物流、零售、清洁等)
  • 制度(全职、兼职、假期、周末等)
  • 在我当前的数据库结构中,我有所有5个需求和外键的表

    我的问题是,;每次我加载一个空缺时,它都需要从所有这些模型中获取FK值,因此,每次我想在视图中显示某些内容时,都要加载6个模型

    因为只有一列表可以将值直接放入模型中,并确保用户不能在前端输入任何其他值,所以不是更有效吗

    或者有没有其他方法可以减少加载时间(或者这不是问题?)


    谢谢。

    反规范化是有益的,是的。除了客户端UI检查之外,您还应该实现服务器验证。在SQL中,获取这些项的完全索引联接应该非常高效和快速(并保存在主表中存储这些字段的重复详细信息)。但是,如果您正在使用某种框架,在读取记录时将这些内容转换为对象,那么这可能会破坏性能。除此之外,为了简化rails代码(并转义所有include/join等),您还可以从数据库视图中获益。不久前,在伦敦Ruby用户小组会议上进行了一次很好的讨论: