我有一个巨大的数据库表(38 GB),其中有许多列的所有值都为null。问题是,在创建表之前,您不知道哪些列将包含数据,因此我们必须在创建表时保留所有列。但由于这种查询性能非常糟糕。
因此需要查找所有值为null的列减小表的大小。此外,当内部连接完成时,需要花费太多时间。因此,大型表上的内部联接需要更多时间。
答案 0 :(得分:0)
做一个
SELECT Count(distinct colName) FROM myTable
对于eacht列。这样,如果没有其他值,您将获得als结果。那么你可以
ALTER TABLE myTable DROP COLUMN colName
放弃col。
替代可能就是你做了
SELECT * FROM myTable procedure Analyse()
通过这种方式,您可以获得关于表格的概览,所有列都包含两个有趣的列:Empties_or_zeros
和Nulls
。两者都包含空行数。