0
のuser_idが3つの基準を満たすすべてのuser_idを取得しようとしています。Wordpress Usermeta複数のキーと値を選択して
私が持っているコードは
$sql = "
SELECT user_id
FROM {$wpdb->usermeta}
WHERE (({$wpdb->usermeta}.meta_key = 'job_title' AND {$wpdb-
>usermeta}.meta_value = '".$job_title."') OR
({$wpdb->usermeta}.meta_key = 'pmpro_bstate' AND {$wpdb-
>usermeta}.meta_value = '".$state."') OR
({$wpdb->usermeta}.meta_key = 'pmpro_baddress2' AND {$wpdb-
>usermeta}.meta_value = '".$suburb."'))
GROUP BY
user_id
HAVING
COUNT(DISTINCT meta_key)=3";
が低いです()正確にそれらを比較する値と変数に必要な?
このクエリを実行するより効率的な方法はありますか?
乾杯
INNERが使用することをお勧め登録しよなりますか?また、ご協力ありがとうございます – David
各ジョインは、処理が速い小さなデータセットを作成します(MySQLサーバは、複数のテーブルを扱う他のメソッドよりもジョインを処理するように最適化されているため、他のメソッドよりもパフォーマンスが向上します) (特にLEFTとINNERを混ぜて使用すると)結合が遅くなる場合がありますが、この場合は、クエリーを読みやすく、データ処理に基づく方がはるかに高速です。 –