次の SQL クエリを使用して、2 つの Excel ワークシートを比較しています (両方のセットの違い)
strSql = "SELECT [CD_CLIENTE], [NM_CLIENTE], [CPF/CNPJ], [DS_DOCUMENTO], [DTVALIDADE] FROM [BaseAnterior$] " & _
"WHERE NOT EXISTS ( " & _
"SELECT * FROM [BaseAtual$] WHERE" & _
"[BaseAtual$].[CD_CLIENTE] = [BaseAnterior$].[CD_CLIENTE] AND " & _
"[BaseAtual$].[NM_CLIENTE] = [BaseAnterior$].[NM_CLIENTE] AND " & _
"[BaseAtual$].[DS_DOCUMENTO] = [BaseAnterior$].[DS_DOCUMENTO] AND " & _
"[BaseAtual$].[CPF/CNPJ] = [BaseAnterior$].[CPF/CNPJ] AND " & _
"[BaseAtual$].[DTVALIDADE] = [BaseAnterior$].[DTVALIDADE]" & _
")"
ステートメントは正常に機能しますが、問題は非常に遅いことです。ワークシートには約があります。100,000 件のレコード (深刻なデータベースにない理由を聞かないでください) で、実行には数分かかる場合があります。問題が SQL ステートメントにあることはわかっているので、質問は次のとおりです。SQL で差集合を選択するより速い方法はありますか?