SQL Server 2005で開発されたレガシーシステムから移行プロジェクトのデータをスクラブしようとしていますが、最初の仕事は、実際に使用されていない列を特定することです。
私のアプローチの背後にある一般的なロジックは、ほとんど空白のままになっている列を識別することです(つまり、ほとんどまたはすべての行に、そのテーブルのその列のnull値が含まれています)。これはストアドプロシージャとして実行され、理想的な出力は次のようになります。
TABLE: contacts (10000 records)
---------------------------------
FIELD: id | 0 (0%) Null Records
FIELD: username | 0 (0%) Null Records
FIELD: phonenumber | 8,200 (82%) Null Records
FIELD: email | 300 (3%) Null records
FIELD: icq | 9,900 (99%) Null Records
FIELD: zip | 100 (1%) Null Records
キャッチは次のとおりです。一部のテーブルには100を超える列があるため、実際のキーはプロシージャが特定のテーブルの列をループするためのものであるため、クエリを実行するために列名の長い文字列を入力する必要はありません。これを行う方法についての助けは素晴らしいでしょう、
ありがとう。