我的应用程序的核心是使用存储在几个数据库表中的输入数组和参数进行多条件比较。
我正在努力使这个过程最有效......我认为这可能会导致一些关于使用内存与访问数据库的良好对话。
这是一个例子:
- 我有一个
Merchant
,MerchantUserRelation
和User
表。 - 我需要存储在临时数组中的大部分数据来自
MerchantUserRelation
,但在某一时刻,我需要检查它是否是用户的生日(user.birthdate.today?
)。
对我来说,似乎有两种选择:
- 创建一个仅包含数据的临时数组,
UserMerchantRelation
然后为该user.birthdate.today?
方法单独访问数据库(2次命中数据库),--或-- UserMerchantRelation
使用AND中的数据创建一个稍大的临时数组User
(因此只访问数据库一次)
对于这个例子,我认识到差异非常小(阅读:可以忽略不计),但如果数组大小和所需的数据库访问次数要大得多怎么办?
感谢您提供任何参考和/或见解!