gpt4 book ai didi

mysql - 这些 mysql 查询中哪个更有效,是否使用左连接

转载 作者:行者123 更新时间:2023-11-29 00:53:55 25 4
gpt4 key购买 nike

我有一个下面的sql查询

$select_query_1 = SELECT * FROM user_module_comments WHERE useid = '$hash' ORDER BY id DESC LIMIT 0, 25
while($table = mysql_fetch_array($select_query_1)){
$user_moid = $table['canvas'];
$user_xtract_canvas = mysql_query("SELECT mcanvas FROM user_module WHERE uid = '$user_moid' LIMIT 1");
$selected = mysql_fetch_array($user_xtract_canvas);
$user_canvas_extract = $selected['mcanvas']; // this is what i need
}

或者这个sql查询

$select_query = SELECT user_module_comments.useid, user_module.mcanvas FROM user_module_comments LEFT JOIN user_module ON user_module.uid = user_module_comments.useid WHERE useid = '$hash' ORDER BY user_module_comments.id DESC LIMIT 0, 25

这些查询中哪个更有效谢谢

最佳答案

JOIN 可能比在循环中执行相关查询要快得多。通常,执行一个查询几乎总是比执行 n 个查询快。我只说“几乎总是”,因为我确信有人可以想出一个可能恰恰相反的用例。

MySQL 在循环中一遍又一遍地编译 SQL 语句、执行它并获取行集涉及很多开销。使用单个语句消除了所有这些开销。

你应该 install Xdebug并在 PHP 中实际分析这些语句以了解它们执行需要多长时间。

关于mysql - 这些 mysql 查询中哪个更有效,是否使用左连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7050225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com