Supprimer vs tronquer
Les deux commandes SQL (Structure Query Language), Delete et Truncate sont utilisées pour se débarrasser des 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 qui doivent être supprimées, et si la clause Where n'est pas utilisée avec l'instruction Delete, elle supprime toutes les données de la table. 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.
Supprimer la déclaration
L'instruction Delete 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 de suppression est appelée exécution journalisée, 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 et 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. De plus, il ne désalloue pas l'espace mémoire utilisé par la table.
La syntaxe typique de la commande Supprimer est indiquée ci-dessous.
SUPPRIMER DE
ou
SUPPRIMER DE O
Instruction Tronquer
L'instruction Truncate supprime toutes les données d'une table existante dans une base de données, mais elle préserve la même structure de table, ainsi que les contraintes d'intégrité, les privilèges d'accès et les relations avec les autres tables. Il n'est donc pas nécessaire de redéfinir 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 que moins de ressources système et de journal des transactions pour son fonctionnement, elle est donc plus rapide que les autres commandes associées. Truncate est une commande DDL, elle utilise donc les engagements automatiques avant et après l'exécution de l'instruction. Par conséquent, truncate ne peut en aucun cas restaurer les données. Il libère 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.
Voici la syntaxe courante de l'instruction Truncate.
TABLE DU TRONCAT
Quelle est la différence entre Delete et Truncate? 1. Les commandes Delete et Tronquer suppriment les données des tables existantes dans une base de données sans nuire à la structure de la table ou à d'autres références à la table. 2. Cependant, la commande Supprimer peut être utilisée pour supprimer des lignes spécifiques uniquement dans une table en utilisant une condition appropriée, ou pour supprimer toutes les lignes sans aucune condition, tandis que la commande Tronquer ne peut être utilisée que pour supprimer des données entières dans la table. 3. Delete est une commande DML et peut annuler l'opération si nécessaire, mais Truncate est une commande DDL, c'est donc une instruction de validation automatique et ne peut en aucun cas être restaurée. Il est donc important d'utiliser cette commande avec soin dans la gestion de la base de données. 4. L'opération Tronquer consomme moins de ressources système et de ressources du journal des transactions que l'opération Supprimer. Par conséquent, Tronquer est considéré comme plus rapide que Supprimer. 5. En outre, Delete ne libère pas l'espace utilisé par la table, tandis que Truncate libère l'espace utilisé après l'exécution, de sorte que Delete n'est pas efficace en cas de suppression de toutes les données d'une table de base de données. 6. Toutefois, Tronquer n'est pas autorisé à utiliser lorsque la table est référencée par une contrainte de clé étrangère et dans ce cas, la commande Supprimer peut être utilisée à la place de Tronquer. 7. Enfin, ces deux commandes présentent des avantages et des inconvénients à les appliquer dans les systèmes de gestion de bases de données et l'utilisateur doit être conscient de l'utilisation appropriée de ces commandes pour obtenir de bons résultats. |