全部產品
Search
文件中心

Tablestore:如何大量刪除資料

更新時間:Apr 28, 2025

在Table Store中,您可以根據主鍵資訊直接大量刪除資料,或者通過配置資料生命週期(TTL)的方式自動刪除到期資料。

重要

資料刪除後將不可恢複,請謹慎操作。

根據主鍵直接刪除資料

Table Store支援根據主鍵資訊大量刪除資料。您可以在查詢到待刪除資料的主鍵資訊後,通過調用 BatchWriteRow 介面大量刪除資料。具體步驟如下:

  1. 根據實際情況選擇合適的方式查詢待刪除資料的主鍵資訊。

    • 如果要刪除指定主鍵範圍內的資料,請調用 GetRange 介面,查詢指定主鍵範圍內的資料,並擷取待刪除資料的主鍵資訊。具體操作,請參見讀取資料

    • 如果要刪除滿足指定條件的資料,並且該資料表存在多元索引,請使用多元索引查詢滿足條件的資料,並擷取待刪除資料的主鍵資訊。具體操作,請參見基礎查詢

    • 如果要刪除資料表中所有資料,推薦您直接刪除該資料表,然後重新建立一張配置相同的資料表。

      您也可以調用 GetRange 介面,通過設定完整主鍵範圍均為虛擬點INF_MIN(無窮小)和INF_MAX(無窮大)進行全表資料掃描,擷取所有資料的主鍵資訊。但是執行此操作會消耗較多計算資源,請謹慎使用。

  2. 調用 BatchWriteRow 介面,根據主鍵資訊大量刪除資料。具體操作,請參見寫入資料

配置TTL自動刪除到期資料

資料生命週期是資料表的一個屬性,即資料的儲存時間。當屬性列中資料的保留時間超過設定的TTL時,系統將自動非同步清理該屬性列中超過保留時間的資料。如果一行中所有屬性列資料的保留時間均超過了TTL,則系統將自動非同步清理該行資料。

具體步驟如下:

  1. 調用 UpdateTable 介面,修改資料表的TTL。

    重要

    如果資料表已經建立多元索引或二級索引了,則要求索引的TTL值必須小於或等於資料表的TTL值。在修改資料表的TTL時,請確保新設定的TTL值符合此約束條件。

  2. 超過TTL的到期資料為無效資料,系統將自動執行非同步清理操作。

    即使系統還未刪除資料,使用者也無法讀取對應資料。