zhansh 发表于 2021-9-29 19:09

mysql 语句查询没反应怎么办?

本帖最后由 zhansh 于 2021-9-29 19:17 编辑

SELECT*
FROM0_pre_common_member
WHERE   uidIN (SELECT uid FROM 0_common_member_count_del)

0_pre_common_member 表有 500000 条数据
0_common_member_count_del 表有 25000 条数据

PHPmyadmin 查询就没反应了怎么办?感觉是数据太多了,这个where in 语句不好使,有没有好的办法?用下面语句倒是能查出来,但是感觉结果不对,返回的结果条数太少了。
select * from pre_common_member,0_common_member_count_del where pre_common_member.uid=0_common_member_count_del.uid

我的 50 万条数据那个里面uid 应该是包含 2.5万里的uid,想把 50 里包含 2.5 万里 uid 的数据提出来,谢谢大神!

kof21411 发表于 2021-9-29 19:18

PHP的内存都占用完了

291649105 发表于 2021-9-29 19:29

本帖最后由 291649105 于 2021-9-29 19:34 编辑

加Not干嘛?这样不是表示查其余47.5W的数据了吗?

SELECT uid
FROM 0_pre_common_member
WHERE uid in(SELECT uidFROM 0_common_member_count_del);

开创者 发表于 2021-9-29 20:14

服务器配置不行呗

zhansh 发表于 2021-9-29 20:32

kof21411 发表于 2021-9-29 19:18
PHP的内存都占用完了

就是感觉资源消耗太大了,有没有办法优化

zhansh 发表于 2021-9-29 20:33

291649105 发表于 2021-9-29 19:29
加Not干嘛?这样不是表示查其余47.5W的数据了吗?

SELECT uid


加不加not 都一样,我都试过了,只要这样查就没响应,一直显示加载等好久都没反应

zhansh 发表于 2021-9-29 20:34

开创者 发表于 2021-9-29 20:14
服务器配置不行呗

自己电脑和服务器上都不行,感觉还是方法有问题

狒狒大魔王 发表于 2021-9-29 21:03

本帖最后由 狒狒大魔王 于 2021-9-29 21:12 编辑

把in 改为exists 试下如果还不可以的话建议把*改成需要的字段select *
from 0_pre_common_member
where exists(select uid from 0_common_member_count_del where 0_common_member_count_del.uid=0_pre_common_member.uid )

zhansh 发表于 2021-9-30 09:13

狒狒大魔王 发表于 2021-9-29 21:03
把in 改为exists 试下如果还不可以的话建议把*改成需要的字段select *
from 0_pre_common_member
whe ...

select uid
from 0_pre_common_member
where exists(select uid from 0_common_member_count_del where 0_common_member_count_del.uid=0_pre_common_member.uid )

都不行,只要一运行这个查询,mysql 就挂了,得重启服务才行,不重启都不能再连接

zhansh 发表于 2021-9-30 09:23

发现就下面这样的语句,如果两个数据库结构一样,查询就很快,只要数据库结构不一样mysql就挂了
SELECT*
FROMcount
WHERE   uid NOT IN (SELECT uid FROM count_new)
页: [1] 2
查看完整版本: mysql 语句查询没反应怎么办?