2
ALTER TABLE TABLE_NAME DROP COLUMN_NAME
のようなBigQueryテーブルからカラムを削除するオプションを探していますが、私がオンラインで見つけたのは、古いテーブルを削除して新しいテーブルを作成することでした。なぜBigQueryに列を削除するオプションがないのですか?
BigQueryでこのオプションを使用していない論理的な理由はありますか?
ALTER TABLE TABLE_NAME DROP COLUMN_NAME
のようなBigQueryテーブルからカラムを削除するオプションを探していますが、私がオンラインで見つけたのは、古いテーブルを削除して新しいテーブルを作成することでした。なぜBigQueryに列を削除するオプションがないのですか?
BigQueryでこのオプションを使用していない論理的な理由はありますか?
列を削除すると、テーブルを構成するすべてのCapacitor filesからデータが削除されることになりますが、これは高価な操作です。 BigQueryが単に列に関連するメタデータを削除しただけであれば、実際には照会できないファントム列がストレージに課金されますが、これは理想的ではありません。
逆に、列を追加すると、BigQueryは過去のファイルの欠落している列をすべてNULL
という値を持つものとして扱います。変更する必要はありません。あなたが保持しない列を除く、元のテーブルから
は異なるオプションのカップルが列を削除することがあります。次に、結果の表をコピーし、元の表を上書きします。