我有一个基于一些表的联接的视图(
使用
当我使用
查询类似于这样:
发生了什么?
我找到的解决方案是像这样做:
viewX
):使用
WHERE
时,查询被延迟,处理器使用率达到50%,最终我需要关闭mysqld.exe
服务并重新启动以尝试再次解决问题。当我使用
HAVING
时,查询完美地且快速地执行,我获得结果并准备好了。查询类似于这样:
SELECT * FROM viewX WHERE column_of_view = 'foo'
SELECT * FROM viewX HAVING column_of_view = 'foo'
发生了什么?
我找到的解决方案是像这样做:
SELECT * FROM (SELECT * FROM viewX) as T WHERE column_of_view = 'foo'
SELECT * FROM (SELECT * FROM viewX) as T HAVING column_of_view = 'foo'
两个查询都可以正常工作,但是我认为这很糟糕!(从(...viewX)选择*???)