请问mysql跨表查询出现硬盘狂闪,然后直接报out of memory的错,怎么解决?谢谢!

请问mysql跨表查询出现硬盘狂闪,然后直接报out of memory的错,怎么解决?谢谢!,第1张

子查询本来就比较占资源,速度慢。

如果里面用了Group by,好像会更占资源,直接卡飞也是有可能的。

建议你用联结,运行效率比子查询快很多。

select * from price

JOIN goods ON price.商品名称=goods.商品名称

WHERE price.日期=20190701

AND goods.品类名称='面包'

AND goods.生产日期>20190701

(JOIN goods ON price.商品名称=goods.商品名称,这里如果用商品id联结更合适)

两张表如果是关联表,比如第一个表的sid对应第二个表的sid 用 select * from 表名1 a(a是表明的别名) left join 表名2 b on a.sid=b.sid

如果没有关联 select * from 表1 ,表2


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7606611.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存