Tous les produits
Search
Centre de documentation

Data Management:Modifier les données sans verrouiller les tables

Dernière mise à jour :Sep 01, 2026

Lorsque vous exécutez une commande UPDATE ou DELETE sur une table volumineuse, une transaction standard verrouille la table jusqu'à la fin de l'opération. Cela bloque les lectures et les écritures, et risque de provoquer des délais d'attente qui perturbent le trafic de production. La modification des données sans verrou évite ce problème en divisant les lignes concernées en petits lots et en traitant chaque lot dans une transaction distincte et de courte durée. Chaque lot est validé et son verrou est libéré immédiatement, ce qui permet à la table de rester réactive tout au long du processus.

Précautions

  • La modification des données sans verrou prend uniquement en charge les opérations SQL simples sur une seule table (telles que SELECT, UPDATE et DELETE). Les opérations impliquant plusieurs tables (comme les instructions DELETE contenant une jointure JOIN) ne sont pas prises en charge.

Procédure

Cet exemple utilise la fonctionnalité de modification des données sans verrou pour modifier par lots les données de la colonne big_table de la table long_text_b afin d'y insérer du random long text.

  1. Un utilisateur standard soumet un ticket.

    1. Connectez-vous à Data Management DMS 5.0.

    2. Dans la barre de navigation supérieure, choisissez Database Development > Data Change > Lockless change.

      Remarque

      Si vous utilisez la console DMS en mode simple, placez le pointeur sur l'icône 2023-01-28_15-57-17.png située dans le coin supérieur gauche de la console, puis choisissez All Features > Database Development > Data Change > Lockless Change.

    3. Configurez les informations requises et cliquez sur Submit.

      Le tableau suivant décrit certains paramètres.

      Paramètre Obligatoire Description
      Database Oui Sélectionnez poc_dev<\/code>.<\/code>
      Business Background Non Décrivez vos besoins métier afin de réduire les allers-retours avec les approbateurs.
      Affected Rows Oui Estimez le nombre de lignes que cette modification affectera. Exécutez une requête COUNT<\/code> query in the SQL Console to get this number.<\/code> dans la console SQL pour obtenir ce chiffre.
      SQL Statements for Change Oui Saisissez l'instruction UPDATE ou DELETE à exécuter.
    4. Sur la page Ticket Details, cliquez sur le bouton Batch Execution Configuration, configurez les paramètres suivants, puis cliquez sur Submit Change.

      Batch execution configuration

    5. Confirmez les détails du ticket.

      Remarque

      Vous pouvez consulter la page Ticket Details pour vérifier les détails du ticket. Le système effectue également une prévalidation de l'instruction SQL à exécuter, incluant l'analyse syntaxique SQL, la vérification du type SQL selon les règles de sécurité, la vérification des autorisations du demandeur du ticket et l'estimation du nombre de lignes analysées.

    6. Après avoir confirmé que les informations sont correctes et que la prévalidation est réussie, cliquez sur Submit for Approval, puis sur Confirm.

      Important

      Avant de soumettre le ticket pour approbation, vous pouvez modifier son contenu et la configuration de planification. Une fois le ticket soumis pour approbation, les informations ne peuvent plus être modifiées.

  1. L'administrateur approuve et exécute le ticket.

    1. Connectez-vous à Data Management DMS 5.0.

    2. Sur la page d'accueil de la console DMS, dans la section My Tickets, cliquez sur Pending Tickets.

    3. Sur la page My Tickets, cliquez sur le ticket number cible.

    4. Sur la page Ticket Details, confirmez les informations de modification du ticket, puis cliquez sur Approve.

    5. Saisissez vos commentaires dans la zone de texte des commentaires d'approbation, puis cliquez sur OK.

    6. Cliquez sur Execute Change, sélectionnez l'heure d'exécution, puis cliquez sur OK.

    7. Cliquez sur Confirm Execution ; le système démarre automatiquement l'exécution.

      Remarque
      • L'exécution immédiate est l'option par défaut. Vous pouvez également sélectionner une heure de début d'exécution.

      • Si vous spécifiez une heure de fin, le système n'exécutera plus les instructions SQL inachevées une fois cette heure atteinte. Cette fonctionnalité sert principalement à éviter tout impact sur les activités métier pendant les heures de pointe.

    8. Dans la section Execution, cliquez sur Details, puis sur Execution Progress pour afficher la progression de l'exécution de la tâche.

  2. L'administrateur vérifie la tâche.

    1. Connectez-vous à .

    2. Dans la liste des instances, développez l'instance POC_dev<\/code> et double-cliquez sur la base de données poc_dev<\/code> database to open the SQL Console.<\/code> pour ouvrir la console SQL.

    3. Dans la fenêtre de la console SQL, saisissez l'instruction de requête suivante et cliquez sur Execute. Vous constatez que les données de la colonne long_text_b ont été mises à jour.

      SELECT * FROM `big_table`;

      Lock-free data change verification