gpt4 book ai didi

sql - 如何进一步优化这个查询?

转载 作者:行者123 更新时间:2023-11-29 06:19:10 24 4
gpt4 key购买 nike

    SELECT mem.name, 
mem.regdate,
stat.level
FROM stats AS stat
INNER JOIN members AS mem
WHERE stat.id = mem.id
AND mem.ref = {$members['id']}

statsmembers 表在 id 上有索引。但是当我运行查询时,它会检查 stats 表中的所有行(在 members 表中只需要一行)。有什么想法我做错了吗?谢谢。

最佳答案

使用正确的 ANSI-92 JOIN 语法 - JOIN 标准在 ON 子句中指定:

SELECT mem.name, 
mem.regdate,
stat.level
FROM stats AS stat
JOIN members AS mem ON mem.id = stat.id
WHERE mem.ref = {$members['id']}

如果没有 JOIN 标准,MySQL 将返回笛卡尔积,然后将 WHERE 子句应用于这些结果。几乎任何其他数据库都会告诉您,您提供的查询存在语法错误。

此外,INNER 关键字是可选的。

关于sql - 如何进一步优化这个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4695706/

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