gpt4 book ai didi

sql - 使用 UNION 或 OR 查询?

转载 作者:行者123 更新时间:2023-11-29 12:35:16 26 4
gpt4 key购买 nike

我有一张 table friend用于存储两个用户之间的关系。

例如:(1,2)意味着 user1 和 user2 是 friend 。 (2,1)意思相同,但我们不会存储它,使 uid1 < uid2手动:

CREATE TABLE public.friend (
uid1 INTEGER,
uid2 INTEGER
);
CREATE INDEX index_uid1 ON friend USING BTREE (uid1);
CREATE INDEX index_uid2 ON friend USING BTREE (uid2);

寻找uid=2的好友,我可以使用:

SQL1:

select * from friend where uid1=2
union
select * from friend where uid2=2;

SQL2:

select * from friend uid1=2 or uid2=2

我得到的是 sql2 在性能上优于 sql1

但是推荐sql1。对吗?

最佳答案

它们在技术上并不相同,联合运算符将删除重复项,而第二个示例则不同。

关于sql - 使用 UNION 或 OR 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50391878/

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