当我们查询数据库当中是否存在某个用户的话,我现在是用的:
$sql = "select * from ". PREFIX . "admin where username='{$username}' and password='{$password}'";但是如果数据库当中有100万记录的时候,假如我们要找的这条记录在100条以内,
我不知道如果用以上的语句的时候mysql是如何运算的,找到100万条以后再停止搜索?
如果那样的话,不是太浪费资源了吧?请问大家如何处理的这个问题的啊?

解决方案 »

  1.   

    你把username加上个索引,就不会出现你说的浪费资源的情况了
      

  2.   

    加上索引?不太理解哦,那如果在第100条查找到了这个值,mysql还会继续向扣查询吗?
      

  3.   

    如果没有索引。则MYSQL会扫描完所有的记录后,返回所有符合条件的记录。 简单的说,就是继续向后查询
    如果有索引,则MYSQL可以利用索引进行,就如同你查字典一样,比如你查 hello , 查到 hd 之生自然不会再向后查到Z