在我的网站上,当某个用户创建个人资料时,他也会选择他的学校名称。学校在数据库中有表格。应用程序中的主页应显示有关用户学校的一些数据。并且有一些链接显示基于学校ID的内容。
现在我有两个选择:
性能和安全性是我的特性,因为很多用户都是。
答案 0 :(得分:1)
通过缓存schoolId获得的性能提升非常小,2号是您的最佳选择。基于userId获取schoolId将是一个非常快速的查找。数字1有可能在用户编辑学校时忘记更新会话的错误。它还假设schoolId仅在会话中设置。通过导入更新或管理更新来破坏该假设的那一天,会话将与数据不匹配,并且可能会出现各种问题。
当然,获取学校数据应该是一个命令: 选择School。* from School inner join User on User.SchoolId = School.SchoolId,User.UserId = @UserId