私はポータル/大規模なWebサイトで作業していますが、特別な場合にmySql/PDOクエリを最適化する方法について質問があります。
私はそれをこのように開発しました:iD(一意/プライマリ)を挿入するとき、特定のテーブルで最も高い未使用のIDを見つけるために次のコードを実行し、次にそのID($ next_avail)でINSERTを実行します。
先日のstackoverflowでの短いチャットの後、AUTO_INCREMENTがこのアクションに最適であるという考えを思いつきました。
しかし今では、ほとんどの場合、$ next_avail(AUTO_INCREMENTの値)を使用して、他のテーブルにも列として挿入していることに気付きました。
したがって、私のコードはこれらの挿入に意味があります。
私の質問は、以下のこのコードは、速度として数百万行に対してどのように機能するかということです。挿入するたびに、それに依存します。
この質問では、コメントを書いて、あなたにとって明確でないことを明確にするように私に頼んでください。
ありがとう、エイドリアン
$next_avail = 1 ;
$stmt = $db->prepare("SELECT news_id from mya_news ORDER BY news_id DESC LIMIT 1");
$stmt->execute();
while ( list($id) = $stmt->fetch(PDO::FETCH_BOTH) ) {
$next_avail = $id + 1;
}