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'
両方のクエリは正常に機能しますが、これは悪いと思います! (SELECT * FROM (...viewX)????)