私は20mil +行のデータベースを持っており、検索機能が必要です。 私は検索するPDOコードを持っています。検索されたユーザー名がデータベースに入っているとき、それは非常に高速ではありませんが、約0.9秒です。しかし、検索されたユーザー名がデータベースにない場合は、10秒以上かかることがあります。ここで 遅いPHPデータベース検索
は私のコードです:私はstackoverflowの上で、この検索$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