gpt4 book ai didi

sql - 使用先前计算的数据对 Postgresql 表进行排序

转载 作者:行者123 更新时间:2023-11-29 13:23:05 26 4
gpt4 key购买 nike

我有一个操作可以给我一个 ID 列表和一些与这些 ID 相关的分数。然后我需要查询数据库并使用上面的数据对行进行排序。

我试过类似的东西(我正在使用 PostgreSQL):

SELECT * FROM sometable
LEFT OUTER JOIN (VALUES (629, 3), (624, 1)) /* Here is my data */
AS x(id, ordering)
USING (id)
WHERE some_column_id=1
ORDER BY x.ordering;

但是对于大约 10000 行,它在我的机器上运行大约 15 秒。有没有更好的方法来使用以前计算的数据对我的表进行排序?

最佳答案

这个版本的性能如何?

SELECT st.*
FROM sometable st
WHERE st.some_column_id = 1
ORDER BY (CASE WHEN st.id = 629 then 3 WHEN st.id = 624 THEN 1 END);

sometable(some_column_id) 上的索引也可能会加快查询速度。

但是,我不明白为什么您的版本在 10,000 行的表上需要 15 秒。

关于sql - 使用先前计算的数据对 Postgresql 表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38225982/

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