繁体   English   中英

如何在mysql中删除该表的所有列均为空的表中的列。 我有38GB的表,因此需要性能。

[英]How to delete columns of a table in mysql where all values are null for that column. I have 38GB table so performance is required.

我有一个巨大的数据库表(38 GB),其中有许多列的所有值都为null。 问题在于,在创建表之前,您不知道哪些列将包含数据,并且由于我们在创建表时必须保留所有列。 但是由于这种查询性能非常不好。

因此需要查找所有其值都为null的列以减少表的大小。 同样,当完成内部联接时,这会花费太多时间。 大表上的内部联接是否需要花费更多时间呢?

做一个

SELECT Count(distinct colName) FROM myTable

对于eacht列。 这样,您将仅在没有其他值的情况下获得结果。 那你可以

ALTER TABLE myTable DROP COLUMN colName

放下山。

一种可能是您执行

SELECT * FROM myTable procedure Analyse()

这样,您将得到包含两个有趣的列所有列在表格的概述: Empties_or_zerosNulls 两者都包含空行计数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM