gpt4 book ai didi

mysql - 想改进 SQL 查询

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:54 24 4
gpt4 key购买 nike

我有一个名为“world”的表。它有一些空 ID:

id - data
1 - ...
2 - ...
(no 3,4 IDs after 2)
5 - ...

我有一个查询来选择此表中最低的未使用 ID。看起来像:

SELECT MIN(t1.id)
FROM
(
SELECT 1 AS id
UNION ALL
SELECT id + 1
FROM world
) t1
LEFT OUTER JOIN world t2
ON t1.id = t2.id
WHERE t2.id IS NULL;

我想找到一种方法来改进此查询以使其执行得更快。

最佳答案

你可以这样做:

select (w.id + 1)
from world w left join
world w2
on w.id = w2.id - 1
where w2.id is null
order by w.id
limit 1

对于 world(id) 上的索引,这应该具有合理的性能。

相同的 SQLFiddle SQL

关于mysql - 想改进 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31244881/

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