1行に1つずつ、長いSQLクエリでいっぱいのファイルがあります。一意のクエリのリストを作成する必要がありますが、ほとんどのクエリには、uniq
のような完全一致ツールの使用を不可能にするパラメータ値が含まれています。 agrep
のように、「あいまいに」一意の行を見つける方法はありますか?
クエリが十分に予測可能である場合は、パラメータ値を単にsed
アウトすることができます。多くのクエリに数値との等価比較が含まれている場合、sed 's/=[[:digit:]]+//g'
は実際の数値をすべて削除し、列名のみを残します。
そうでなければ、私が考えることができる唯一の本当に一般的な解決策は、 k-最近傍 のようなパターン認識技術であり、これは任意に分類できます類似性に基づいてクラスターに文字列をリストします。
EXPLAIN ANALYZEを介してすべてのクエリを実行し、クエリプランで一意の結果を見つけることができれば幸いです。