会话列上的MySQL索引

时间:2011-02-14 16:12:42

标签: mysql indexing

在用户表中的会话列上设置索引是否是个好主意?每当有人的会话发生变化时它都会更新,所以我不确定性能是好还是差(表有200万用户,但一个月内可能只有5,000-10,000登录)。

用于验证登录用户的查询示例(COOKIE.USERSESSIONID将是用户cookie中的会话ID):

SELECT uname,credits,coins,avatarData,verifyemail,email,lastip FROM users WHERE session = "COOKIE.USERSESSIONID"

2 个答案:

答案 0 :(得分:1)

如果您正在考虑使用数据库会话存储,我建议您查看使用MEMORY表类型。

只需存储您的用户ID,数据,上次更新....

内存表超快,您可以通过删除指定时间段内的行来清理它们。

如果你在那里存储了大量数据,但是如果正确地管理数据会导致问题非常尖锐......

答案 1 :(得分:0)

where子句至少需要1个索引,在本例中为session字段 维护简单的索引对数据库来说不是一项艰巨的工作,并且由于数据库知道数据在磁盘中的位置,因此查询速度会快得多。