ここではサブクエリを良好なパフォーマンスで削除できますか?このサブクエリを追加すると、正しい出力が得られますが、利用可能なレコード数のため検索が遅くなります。しかし、これを取り除いた後は、複数の折り目で増加します。誰でもこのサブクエリを省略したり、以下のクエリを改善するのに役立つことができます。多分良いパフォーマンスでサブクエリを削除するにはどうすればいいですか
SELECT insurance_folder_cnt, MAX(lapsed_date) lapseddate
FROM insurance_file ifl
WHERE insurance_file_status_id=1 AND insurance_file_type_id in (2, 5, 6, 8, 9) AND (ISNULL(Base_Insurance_File_Cnt,0) = 0 OR ISNULL(Base_Insurance_File_Cnt, 0) = insurance_file_cnt) AND ISNULL(out_of_sequence_replaced, 0) = 0
AND policy_version = (SELECT MAX(policy_version) FROM Insurance_File ifld WHERE ifl.insurance_folder_cnt=ifld.insurance_folder_cnt) GROUP BY insurance_folder_cnt having policy_version = max(policy_version)
良い答えを得るためには、テキストとしてあなたの探求を貼り付けてください。そして、より良いサンプルデータ、実行計画を提供する。また、データベースは 'sql'は言語ですが、RDMSによって異なるアプローチがあるかもしれません – Prisoner
SELECT insurance_folder_cnt、MAX(lapsed_date)lapseddate FROM insurance_file ifl \t \t where insurance_file_status_id = 1 AND insurance_file_type_id in(2、5、6、 8、9) \t \t AND(ISNULL(Base_Insurance_File_Cnt、0)= 0 OR ISNULL(Base_Insurance_File_Cnt、0)= insurance_file_cnt) \t \t AND ISNULL(out_of_sequence_replaced、0)= 0 \t \t --and policy_version =(SELECT MAX (policy_version)FROM Insurance_File ifld WHERE ifl.insurance_folder_cnt = ifld.insurance_folder_cnt \t \t GROUP BYは、[編集]あなたのポストの代わりに、このために申し訳ありませんコメント –
を持つ \t \tをしてくださいinsurance_folder_cnt、私はここに新しいです。 –