【发布时间】:2011-01-04 05:45:31
【问题描述】:
我有一个包含 15+ 百万条记录的用户表,在执行注册功能时,我希望检查用户名是否已经存在。我为用户名列建立了索引,当我运行查询“select count(uid) from users where username='webdev'",.hmmm,它继续加载空白屏幕终于挂断了。我在我的本地主机中使用 php 5 和 mysql 5 执行此操作。所以建议我一些技术处理这种情况。
mongodb 是不是在我们的本地机器上处理这个进程的好选择?
谢谢, 尼西语。
【问题讨论】:
-
我不太明白你的错误,但你有关于“用户名”的索引吗......这肯定会有所帮助:)
-
运行此查询,然后使用结果编辑问题:
explain select count(uid) from users where username='webdev' -
作为参考,我们有一个包含超过 4000 万行的用户表,每次注册时我们都会执行几乎相同的查询。在正确索引、正确设计的表上,查询应该花费几分之一秒。
-
一个选择是非常没用的,它不能保证任何唯一性。您需要一个唯一约束(也称为唯一索引)。
-
你们在本地主机上检查了这个查询吗,现在有点好,但是如果我再比较一个字段 AGE 和用户名,然后再次挂断:(
标签: php mysql mongodb rdbms database