0

私は自分の問題の解決策を何年も探していました。

私はうまくいくものを持っていますが、それが物事を行うための最も効率的な方法であるかどうかはわかりません。

顧客のテーブルと、その顧客のステータスのテーブルがあります。

顧客にステータスが発生した結果を見つけたい場合は、参加を使用して必要な結果を得ることができましたが、ステータスに達しただけでなく、他のいくつかのクライアントも見つけたい場合がありますステータスはされていません。

現在、NOT EXISTS Subクエリを使用してこれを行っていますが、少し遅いようで、すべての結果から最初のステータスに一致する結果を見つけた後、別のステータスと一致しないかどうかを確認する必要があるかどうかを考えています。遅さを説明することができます。

たとえば、クライアントは請求済みのステータスと支払い済みのステータスを持つことができます。

どのクライアントに請求されているかを確認したい場合は、どのクライアントに請求されて支払われているかを確認したいが、どのクライアントに請求されているが支払われていないかを確認したい場合は、 NOTEXISTサブクエリ

これを回避する別のより効率的な方法はありますか?または、これが最善の方法ですが、mysqlがこれらのテーブルでindxesをどのように使用して効率を上げるかを整理する必要がありますか?

それが役立つ場合は、実際のSQLの詳細を提供できますか?

ありがとう

マット

4

1 に答える 1