gpt4 book ai didi

mysql - SQL 连接不工作(或非常慢)

转载 作者:太空宇宙 更新时间:2023-11-03 10:40:56 25 4
gpt4 key购买 nike

我在 mysql 中有以下表:

表A:

+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| sid | varchar(50) | YES | | NULL | |
| type | int(11) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+

表 B:

+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| channel | varchar(20) | YES | | NULL | |
| sid | varchar(50) | YES | | NULL | |
| type | varchar(20) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+

我想从 A 中找到在 B 中具有相同 sid 条目的行。我尝试了以下加入命令:

SELECT A.sid FROM A join B on A.sid=B.sid;

这个问题从来没有给我答案。表A有465420个条目,表B有291326个条目。

为什么不起作用?条目太多了吗?或者它与我没有分配主键这一事实有什么关系吗?

最佳答案

您的查询很好。您似乎需要一个索引。我会建议 B(sid)

您也可以将查询写成:

select a.sid
from a
where exists (select 1 from b where a.sid = b.sid);

这不会影响性能——除非 b 中有很多重复项——但它会消除由 b 中的重复项引起的问题。

关于mysql - SQL 连接不工作(或非常慢),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38698481/

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