我有一个相当简单的表(原谅错误/愚蠢,我还在学习。为 MySQL 编写):
CREATE TABLE IF NOT EXISTS `userdata` (
`userid` UNSIGNED int(18446744073709551615) AUTO_INCREMENT,
`username` char(255) NOT NULL,
`password` char(255) NOT NULL,
`salt` char(255) NOT NULL,
`email` char(255) NOT NULL,
PRIMARY KEY(`userid`)
);
我读到过添加索引可以提高查询的性能,因为它不需要查看整个数据库。相反,它将查看索引并匹配数据(如果我错了请纠正我)。
我已经找到了如何很好地创建索引,但还没有找到我应该索引的内容。
我应该在用户名上建立索引吗?电子邮件地址、用户 ID 或我尚未添加的某些字段?
最佳答案
您应该在几乎任何要进行键控查找的列上都有一个索引。在您的某个查询中,是否会执行 where userid = ?
操作?然后索引 userid
。您要查找 username
吗?然后索引用户名。 密码
怎么样?可能不会,所以不要打扰。
关于mysql - 我应该索引什么?用户名还是用户 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4588992/