在BigQuery中,DML操作(数据操作语言)是用于执行数据插入、更新和删除的语句。这些操作可以影响到数据存储类型,即活跃存储(Active Storage)和长期存储(Long-term Storage)。
活跃存储是指数据在BigQuery中的可查询状态,而长期存储是指数据在冷却期后被存档的状态。活跃存储的成本较高,而长期存储的成本较低。
以下是一些示例代码,演示如何使用DML操作以及如何影响存储类型:
INSERT INTO dataset.table (column1, column2)
VALUES ('value1', 'value2')
插入数据会将数据存储在活跃存储中。
UPDATE dataset.table
SET column1 = 'new_value'
WHERE condition
更新数据不会影响存储类型,数据仍然保持在活跃存储中。
DELETE FROM dataset.table
WHERE condition
删除数据不会立即从活跃存储中删除,而是将其标记为已删除。数据在后续的清理过程中才会被移动到长期存储中。
CREATE OR REPLACE TABLE dataset.new_table AS
SELECT *
FROM dataset.table
通过创建一个新的表,并将数据复制到该表中,数据会从活跃存储移动到长期存储中。原始表中的数据仍然保留在活跃存储中,可以根据需要进行清理。
需要注意的是,长期存储的数据仍然可以被查询,但查询成本较高。
总结:DML操作对存储类型的影响主要是插入数据和移动数据到长期存储。其他操作如更新和删除不会直接影响存储类型,只有在后续的清理过程中才会将数据移动到长期存储中。