Tous les produits
Search
Centre de documentation

Tablestore:Batch delete data

Dernière mise à jour :Aug 18, 2026

Dans Tablestore, vous pouvez supprimer des données par lot à l'aide des clés primaires. Vous pouvez également configurer une durée de vie (TTL) pour supprimer automatiquement les données expirées.

Important

Les données supprimées ne peuvent pas être récupérées. Effectuez cette opération avec précaution.

Supprimer directement les données en fonction des clés primaires

Tablestore vous permet de supprimer des données par lot à l'aide des clés primaires. Après avoir interrogé les clés primaires des données que vous souhaitez supprimer, appelez l'opération BatchWriteRow pour procéder à la suppression. La procédure est la suivante :

  1. Choisissez une méthode pour récupérer les clés primaires des données à supprimer.

    • Pour supprimer des données dans une plage de clés primaires spécifique, appelez l'opération GetRange afin d'interroger les données et de récupérer leurs clés primaires. Pour plus d'informations, consultez la section Lire des données.

    • Pour supprimer des données répondant à des conditions spécifiques, utilisez un index de recherche si la table en possède un. Interrogez les données via l'index de recherche pour récupérer leurs clés primaires. Pour plus d'informations, consultez la section Requêtes de base.

    • Pour supprimer des données associées dans plusieurs tables en fonction d'un champ autre qu'une clé primaire, tel qu'un ID utilisateur ou un tag, commencez par interroger les clés primaires des données correspondant à la condition. Appelez ensuite **BatchWriteRow** pour supprimer les données par lot. Vous pouvez utiliser l'une des méthodes suivantes pour obtenir les clés primaires :

      • Index de recherche : Créez un index de recherche pour la table et définissez le champ autre qu'une clé primaire sur le type KEYWORD. Une fois l'index de recherche créé, attendez environ 40 à 70 secondes pour la synchronisation des données, puis utilisez une opération de requête telle que TermQuery pour récupérer les clés primaires.

      • SQL JOIN : Créez des mappages SQL pour les tables, puis utilisez une instruction SELECT avec une clause JOIN pour interroger et récupérer les clés primaires. Exemple :

        SELECT a.id AS qa_id, b.id AS ans_id FROM qa_table a JOIN ans_table b ON a.qaid = b.qaid WHERE a.qaid = 'qa001'
    • Pour supprimer toutes les données d'une table, vous pouvez supprimer la table, puis en créer une nouvelle avec la même configuration.

      Vous pouvez également appeler l'opération GetRange. Définissez la plage de clés primaires du point virtuel INF_MIN (infini minimum) à INF_MAX (infini maximum) pour analyser l'intégralité de la table et récupérer toutes les clés primaires. Cette opération consomme d'importantes ressources de calcul. Utilisez-la avec précaution.

  2. Appelez l'opération BatchWriteRow pour supprimer les données par lot à l'aide des clés primaires. Pour plus d'informations, consultez la section Écrire des données.

Configurer la TTL pour supprimer automatiquement les données expirées

La TTL est une propriété de table qui définit la période de conservation des données. Lorsque les données d'une colonne d'attribut dépassent la TTL configurée, le système supprime automatiquement et de manière asynchrone les données expirées de cette colonne. Si les données de toutes les colonnes d'attributs d'une ligne dépassent la TTL, le système supprime automatiquement et de manière asynchrone la ligne entière.

La procédure est la suivante :

  1. Appelez l'opération UpdateTable pour modifier la TTL de la table.

    Important

    Si la table possède un index de recherche ou un index secondaire, la valeur TTL de l'index doit être inférieure ou égale à la valeur TTL de la table. Lorsque vous modifiez la TTL de la table, assurez-vous que la nouvelle valeur respecte cette contrainte.

  2. Les données dont la TTL est dépassée sont considérées comme expirées. Le système les supprime automatiquement et de manière asynchrone.

    Même si les données n'ont pas encore été supprimées, elles sont inaccessibles aux utilisateurs.