我使用一个MySql表来存储当前登录用户的会话记录。一旦用户注销,我会更新同一条记录中的几个字段,并标记(撤销)它,表示不应该再次使用它。因此,每一个LogIn都会创建一个新的记录。这符合我的目的,但事实证明,这张桌子会越来越大。
存储会话的标准方法应该是什么?那些被撤销的应该存储在一个单独的表中,还是应该删除或者留在同一个表中?
我考虑将数据保留在同一个会话表中。在查询特定记录时,我使用两个字段进行查询:(idPeople (不是唯一的)和撤消(0或1)),例如SELECT * FROM session WHERE idPeople = "someValue" AND revoked = 0。然后,如果需要的话,在用户登录或退出时更新记录。这么大的桌子会影响到这一点吗?或者MySql会处理这件事?还有什么是我看不到的其他影响呢?
发布于 2016-11-19 06:42:39
首先,向表中添加一个唯一字段(例如,SESSION_ID,它可以是一个正在运行的自动增量号),将该字段定义为唯一ID,并使用它快速查找要更新的记录(即revoke=1),这可能是一个好主意。
第二,这种类型的表格总是触发您提出的问题,只有在您评估和回答了一些初步问题之后,才能给出最好的答案,例如:
如果您回答了这些问题,您可以考虑以下选项:
https://stackoverflow.com/questions/40689845
复制相似问题