我目前有一个伙伴系统需要大量查询并且拥有大量用户。我搜索特定用户的方法工作了一段时间,直到条目数量开始达到数十万。我目前搜索用户的方式是这样的:
$results = mysql_query("SELECT * FROM Info");
while($row = mysql_fetch_array($results)){
$ignFromDB = $row['IGN'];
if($ignFromDB == $ign){
$friendsFromDB = $row['Friends'];
$frArr = explode(':', $friendsFromDB);
return $frArr;
}
}
由于我现在需要搜索成千上万的条目,因此它变得非常低效且缓慢。作为解决这个问题的一种方法,我决定每个用户只有一个搜索请求:在启动时,他们会请求他们的入口索引然后发送带有该索引的请求,所以我不需要循环。我只能选择带有该索引的条目。唯一的问题是我对MySQL知之甚少,我需要知道如何做到这一点。任何帮助将不胜感激!
答案 0 :(得分:2)
对于一个WHERE
条款而言,真是太棒了。你打算上市,购买所有的苹果,然后回家,然后开始检查你真正需要的数千个。为什么不简单地告诉店主您的要求并只获得所需的苹果。想象一下成本!你只需要
SELECT * FROM Info WHERE IGN='$ign'
就是这样
答案 1 :(得分:0)
试试此代码
$results = mysql_query("SELECT * FROM Info WHERE IGN='$ign'");
while($row = mysql_fetch_array($results)){
$friendsFromDB = $row['Friends'];
$frArr = explode(':', $friendsFromDB);
return $frArr;
}