私はImport-CSVで生成されたオブジェクトの2つのpowershell配列を持っています。具体的には、1:nのように、現在、私はこのパターンを以下のよ関係:PowerShellのキーでオブジェクトの2つの大きな配列を一致させる最も速い方法
foreach ($line in $array1) {
$match=$array2 | where {$_.key -eq $line.key} # could be 1 or n results
...# process here the 1 to n lines
}
、非常に効率的ではありません(両方のテーブルに多くの列を持っている)と私たちのニーズに受け入れられない時間を要しています。このマッチを行う最速の方法はありますか?
両方のデータソースはcsvファイルから取得されるため、Import-CSVではなく何かを使用することも歓迎します。 ありがとう
実際には、Import-CSVを実行するのにかかる時間はあまり関係がありません。これは約7k行で10秒未満であるため、「ワンショット」です。 2つのpowershell変数がロードされると問題が発生します。where句で実行される一致は0.34秒かかります – Roberto
$ array2をキーでグループ化してから、$ array1のキーを反復して対応する結果を列挙できません?私の推測では、グループオブジェクトはPowerShellで実装しようとしているものより速いが、私は間違っている可能性がある。 –