gpt4 book ai didi

mysql - 提高查询速度 : simple SELECT from SELECT in huge table

转载 作者:行者123 更新时间:2023-11-28 23:18:52 24 4
gpt4 key购买 nike

我有一个包含 3 列的表:年龄、姓名、昵称我只想获取昵称+年龄中根本不存在姓名+年龄的姓名(+年龄)。

例如:如果表:DETAILS 包含 2 行:

  1. 年龄:5岁,姓名:苏子,昵称:苏子
  2. 年龄:2,名字:gil,昵称:g

查询将返回:年龄:2,姓名:吉尔

SELECT d1.AGE, d1.NAME
FROM DETAILS d1
WHERE d1.NAME NOT IN (SELECT d2.NICKNAME FROM DETAILS d2 WHERE d2.AGE = d1.AGE)

此查询仅针对小数据运行。知道如何改进它吗?

最佳答案

SQL 查询性能的关键点是使用索引。所以你必须在查询/连接列中有索引,你需要使用它(通过连接)。

例如查询:

SELECT DISTINCT D1.AGE, D1.NAME
FROM DETAILS D1 LEFT JOIN DETAILS D2 ON D1.AGE = D2.AGE
WHERE D1.NAME <> D2.NICKNAME

请注意,您必须事先在 AGE、NAME 和 NICKNAME 列上创建索引才能充分受益于此查询。

关于mysql - 提高查询速度 : simple SELECT from SELECT in huge table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42644031/

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