调试某些代码时,我发现其中一个查询导致mysql的临时表耗尽内存。我发现查询正在执行,即使'ON'条件没有等于匹配字段。我想知道......
这实际上会做什么,因为这似乎会导致可怕的性能滞后?
(我运行了似乎没有帮助的解释命令)
作为一个非常基本的例子,它看起来像这个查询:
"SELECT testfield
FROM foo f
LEFT JOIN bar b ON b.testid
WHERE testid = 40365";
答案 0 :(得分:1)
这是因为您在条件为TRUE时加入,这意味着此操作有点像笛卡尔产品。
我猜你的桌子足够大,导致这个记忆问题。