我希望从在 SQL Server 2005 上开发的遗留系统中清除迁移项目中的数据,但首要任务是找出哪些列并未真正使用。
我的方法背后的一般逻辑是识别大部分留空的列(即,对于该列,该表中的大多数或所有行都包含空值)。这将作为存储过程执行,其中理想的输出类似于:
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 列,所以真正的关键是该过程循环遍历给定表的列,所以我不必键入一长串列名来运行查询。关于如何做到这一点的任何帮助都会很棒,
谢谢。