1行に1つずつ長いSQLクエリでいっぱいのファイルがあります。独自のクエリリストを作成する必要がありますが、ほとんどのクエリにパラメータ値が含まれているため、正確な一致ツールを使用uniq
できません。たとえば、一意の行を「パージ」する方法はありますかagrep
?
答え1
クエリが十分に予測可能な場合は、単にsed
パラメータ値を出力することもできます。たとえば、多くのクエリに数値との同一性比較が含まれている場合、sed 's/=[[:digit:]]+//g'
実際の数値はすべて削除され、列名のみが残ります。
それ以外の場合、私が考えることができる唯一の一般的な解決策はパターン認識技術です。K- 最も近い隣人、類似性に基づいて、すべての文字列のリストをクラスターに分類できます。
答え2
EXPLAIN ANALYZEを使用して各クエリを実行し、クエリプランで一意の結果を見つけることもできます。