我正在开发一个门户网站/大型网站,我有一个关于如何在特殊情况下优化我的 mySql / PDO 查询的问题。
我是这样开发的:当我插入一个 iD(唯一/主要)时,我执行以下代码来找出特定表中最高的未使用id ,然后使用该 id($next_avail)进行插入。
在最后几天在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;
}