在用户表中的会话列上设置索引是否是个好主意?每当有人的会话发生变化时它都会更新,所以我不确定性能是好还是差(表有200万用户,但一个月内可能只有5,000-10,000登录)。
用于验证登录用户的查询示例(COOKIE.USERSESSIONID将是用户cookie中的会话ID):
SELECT uname,credits,coins,avatarData,verifyemail,email,lastip FROM users WHERE session = "COOKIE.USERSESSIONID"
答案 0 :(得分:1)
如果您正在考虑使用数据库会话存储,我建议您查看使用MEMORY表类型。
只需存储您的用户ID,数据,上次更新....
内存表超快,您可以通过删除指定时间段内的行来清理它们。
如果你在那里存储了大量数据,但是如果正确地管理数据会导致问题非常尖锐......
答案 1 :(得分:0)
where子句至少需要1个索引,在本例中为session字段 维护简单的索引对数据库来说不是一项艰巨的工作,并且由于数据库知道数据在磁盘中的位置,因此查询速度会快得多。