如果您允许人们确定谁可以查看他们的用户信息,那么存储和访问该信息的最佳方式是什么?
他们将通过以下任何一种方式设置偏好:
- 基于用户(选择特定用户 - 即阻止:“Munch”、“Dummy”)
- 基于复选框(选择一个或多个用户组 - 即“我的朋友”、“我的网络中的任何人”)
- 基于单选按钮(仅选择一组用户 - 即“所有人”)
我目前的想法是,由于信息与正在查看的用户相关,而不是与网站周围的点击相关,因此您必须将这些选项存储在数据库中,并根据任何特定的结果组合,运行某个查询.
唯一的问题是可能有大量不同的查询:
- 7 个复选框最多可以有 128 种不同的组合 (2^7)
- 128 种组合 = 128 种不同的优化查询
这在编写查询所花费的时间或每个页面视图的查询量(查询以使另一个查询运行...blech!)上似乎都不是有效的。
而且因为我确信这已经完成了,所以我觉得我必须忽略一些东西。有没有更好的方法使用 PHP/MySQL 来做到这一点?