Différence entre Supprimer et Tronquer
Supprimer et tronquer
Les commandes SQL (Structured Query Language), Delete et Truncate sont utilisées pour supprimer les données stockées dans les tables d'une base de données. Delete est une instruction DML (Data Manipulation Language) et supprime certaines ou toutes les lignes d'une table. La clause Where est utilisée pour spécifier les lignes à supprimer et si la clause Where n'est pas utilisée avec l'instruction Delete, toutes les données de la table sont supprimées. Truncate est une instruction DDL (Data Definition Language) et supprime des données entières de la table. Ces deux commandes ne détruisent pas la structure de la table et les références à la table, et seules les données sont supprimées si nécessaire.
L'instruction Delete StatementDelete permet à l'utilisateur de supprimer des données d'une table existante dans une base de données en fonction d'une condition spécifiée et la clause Where est utilisée pour déterminer cette condition. La commande Supprimer est référencée en tant qu'exécution du journal car elle supprime une seule ligne à la fois et conserve une entrée pour chaque suppression de ligne dans le journal des transactions. Donc, cela provoque un ralentissement de l'opération. Delete est une instruction DML. Elle n'est donc pas automatiquement validée lors de l'exécution de la commande. Par conséquent, l'opération de suppression peut être annulée pour accéder à nouveau aux données, si nécessaire. Après l'exécution de la commande Supprimer, elle doit être validée ou annulée afin d'enregistrer les modifications de manière permanente. L'instruction Delete ne supprime pas la structure de table de la table de la base de données. En outre, il ne libère pas l'espace mémoire utilisé par la table.
DECLARER DE
ou
DELETE FROM WHERE
Instruction Truncate
Truncate supprime toutes les données d'une table existante dans une base de données, mais conserve la même structure de table, les privilèges d'accès et les relations avec les autres tables. Il n'est donc pas nécessaire de définir à nouveau la table et l'ancienne structure de table peut être utilisée si l'utilisateur souhaite réutiliser la table. Truncate supprime des données entières en désallouant les pages de données utilisées pour conserver les données, et seules ces désallocations de page sont conservées dans le journal des transactions. Par conséquent, la commande truncate n'utilise qu'un nombre réduit de ressources système et de journal des transactions pour le fonctionnement, donc elle est plus rapide que les autres commandes associées. Truncate est une commande DDL, donc il utilise des engagements automatiques avant et après l'exécution de l'instruction. Par conséquent, tronquer ne peut pas restaurer les données de quelque manière que ce soit. Il libère de l'espace mémoire utilisé par la table après l'exécution. Mais l'instruction Truncate ne peut pas être appliquée aux tables référencées par des contraintes de clé étrangère.
TRUNCATE TABLE
Quelle est la différence entre Delete et Truncate?