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 的数据提出来,谢谢大神! PHP的内存都占用完了 本帖最后由 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); 服务器配置不行呗 kof21411 发表于 2021-9-29 19:18
PHP的内存都占用完了
就是感觉资源消耗太大了,有没有办法优化 291649105 发表于 2021-9-29 19:29
加Not干嘛?这样不是表示查其余47.5W的数据了吗?
SELECT uid
加不加not 都一样,我都试过了,只要这样查就没响应,一直显示加载等好久都没反应 开创者 发表于 2021-9-29 20:14
服务器配置不行呗
自己电脑和服务器上都不行,感觉还是方法有问题 本帖最后由 狒狒大魔王 于 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 )
狒狒大魔王 发表于 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 就挂了,得重启服务才行,不重启都不能再连接 发现就下面这样的语句,如果两个数据库结构一样,查询就很快,只要数据库结构不一样mysql就挂了
SELECT*
FROMcount
WHERE uid NOT IN (SELECT uid FROM count_new)
页:
[1]
2