因此,我正在使用Laravel开发求职板应用程序,想知道检查用户是否已申请工作的最有效方法吗?
我之所以问,是因为我目前的想法(见下文)似乎并不是最好的方法,我想在这里与你们进行交叉核对。
我的方法
涉及从用户和many-to-many
或job_users
表上的作业创建user_jobs
关系,然后在他们加载特定作业后,在服务器上检查引用该关系表以看看他们是否已经申请。
这是最有效的方法吗?因为它每次都涉及对数据库的调用,并且如果用户申请了许多工作,这似乎效率很低
答案 0 :(得分:1)
您正确的是,您描述的查询可能会变得效率低下。您可以使用多种策略来解决此问题。首先,您可以遵循“过早的优化是万恶之源”的一般规则,直到它对生产产生实际的负面影响时才解决。其次,您可能在status
表上有一个has_posted_job
或users
之类的字段,该字段在用户发布作业时由应用程序更新。这样做的缺点是附加的应用程序复杂性以及附加列的存储,但这可能是值得的。不过,这可以追溯到“万恶之源”-最好首先获得有关效率低下的生产,真实世界的指标,以便了解优化效率的最佳方法。