所以我有一个20mil +行的数据库,我需要一个搜索功能。 所以我有一个PDO代码进行搜索,当搜索到的用户名在数据库中时,它不是很快但很好,大约0.9秒。但是,当搜索的用户名不在数据库中时,需要超过10秒。缓慢的PHP在数据库中搜索
这里是我的代码:
$p = $_GET["p"];
$conn = new PDO("mysql:host=localhost;dbname=x", "x", "x");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sth = $conn->prepare("SELECT `id` from `dbsearch` WHERE `username` = :p LIMIT 1");
$sth->bindParam(':p', $p);
$sth->execute();
$result = $sth->fetchAll();
if($result)
{
foreach($result as $row)
{
echo $row["id"];
}
}
else {
echo "none";
}
我搜索了这对计算器,我只能找东西像狮身人面像,这是不可能的我,因为我是一个共享的主机(namecheap)
任何人都可以帮助我吗?谢谢。
你有一个用户名列的索引? –
@kylek我不是那么擅长sql或者事情,我不认为我有索引。我如何添加它,并只需要在搜索列(用户名)或所有? – wtm