web-dev-qa-db-ja.com

uniqとagrepの組み合わせ?

1行に1つずつ、長いSQLクエリでいっぱいのファイルがあります。一意のクエリのリストを作成する必要がありますが、ほとんどのクエリには、uniqのような完全一致ツールの使用を不可能にするパラメータ値が含まれています。 agrepのように、「あいまいに」一意の行を見つける方法はありますか?

2
Matt Alexander

クエリが十分に予測可能である場合は、パラメータ値を単にsedアウトすることができます。多くのクエリに数値との等価比較が含まれている場合、sed 's/=[[:digit:]]+//g'は実際の数値をすべて削除し、列名のみを残します。

そうでなければ、私が考えることができる唯一の本当に一般的な解決策は、 k-最近傍 のようなパターン認識技術であり、これは任意に分類できます類似性に基づいてクラスターに文字列をリストします。

1
Aaron Davies

EXPLAIN ANALYZEを介してすべてのクエリを実行し、クエリプランで一意の結果を見つけることができれば幸いです。

1
Dan Stoner