【发布时间】:2013-07-28 11:18:19
【问题描述】:
假设我有一个名为“users”的表。创建代码:
CREATE TABLE IF NOT EXISTS users
(id_user INTEGER PRIMARY KEY AUTOINCREMENT,
username VARCHAR(32) COLLATE NOCASE,
passwd_hash VARCHAR(255) NOT NULL DEFAULT '',
passwd_salt VARCHAR(255) NOT NULL DEFAULT '',
email_addr VARCHAR(255) NOT NULL DEFAULT '');
CREATE INDEX IF NOT EXISTS idx_id_user ON users (id_user ASC);
CREATE INDEX IF NOT EXISTS idx_username ON users (username ASC);
当玩家加入服务器时,它会检查玩家的用户名是否已注册:
SELECT id_user
FROM users
WHERE username = '%s' LIMIT 1
如果用户名已注册,玩家将被要求登录。在尝试登录时,我有这个:
SELECT passwd_hash, passwd_salt
FROM users
WHERE id_user = %d
然后它显然会检查两个密码是否匹配。
所以我的问题是,passwd_hash 和 passwd_salt 是否应该被编入索引?
【问题讨论】:
标签: sql database sqlite indexing