J'ai construit des tables dans le cadre de la synthèse de mon rapport. Je n'ai pas du tout besoin après. Quelqu'un a mentionné de les tronquer, ce serait plus rapide.
Réponses
Trop de publicités?Supprimer des enregistrements d'une table dans les journaux pour chaque suppression et exécute supprimer des déclencheurs pour les enregistrements supprimés. Tronquer est un plus puissant de commande qui se vide d'un tableau sans enregistrement chaque ligne. SQL Server ne vous empêche de la troncature d'un tableau avec les clés étrangères de référencement, à cause de la nécessité de vérifier les clés étrangères sur chaque ligne.
Tronquer est normalement ultra-rapide, idéal pour le nettoyage des données dans une table temporaire. Il ne conserver la structure de la table pour une utilisation future.
Si vous souhaitez réellement supprimer la table des définitions ainsi que les données, il suffit de déposer les tables.
Voir cet article MSDN pour plus d'info
DROP et TRUNC faire différentes choses:
TRUNCATE TABLE
Supprime toutes les lignes d'une table sans l'enregistrement de l'individu suppressions de lignes. TRUNCATE TABLE est similaire à la DELETE sans clause where; toutefois, l'instruction TRUNCATE TABLE est plus rapide et utilise moins de système et le journal des transactions les ressources.
DROP TABLE
Supprime un ou plusieurs définitions de table et toutes les données, index, triggers, les contraintes, et la permission les spécifications de ces tables.
Aussi loin que la vitesse est la différence doit être de petite taille. Et de toute façon si vous n'avez pas besoin de la structure de la table à tous, certainement utiliser DROP.
Je pense que vous la différence entre SUPPRIMER la TABLE et de l'instruction TRUNCATE TABLE.
DROP TABLE
supprimer la table de la base de données.
SUPPRIMER LA TABLE
sans condition de supprimer toutes les lignes. Si il y a de déclenchement et les références de ce processus pour chaque ligne. Aussi un indice de la modifier si il y a un.
TRUNCATE TABLE
définissez le nombre de lignes de zéro et sans enregistrement chaque ligne. Qu'il est beaucoup plus rapide que les autres fois.
Aucune de ces réponses soulignent une différence importante à propos de ces deux opérations. Drop table est une opération qui peut être restaurée. Cependant, truncate ne peut pas être annulée ["TRUNCATE TABLE" peut être annulée comme bien]. De cette façon, la suppression d'une très grande table peut être très cher si il y a beaucoup de lignes, parce qu'ils ont tous à être enregistré dans un espace temporaire dans le cas où vous décidez de rouler de nouveau.
Habituellement, si je veux me débarrasser d'une grande table, je vais le tronquer, puis déposez-la. De cette façon, les données seront mis son veto sans enregistrement, et la table peut être supprimé, et que la chute va être très bon marché car les données doivent être enregistrées.
Il est important de préciser cependant que tronquer juste supprime les données, de quitter la table, tandis que la baisse sera, en fait, de supprimer les données et la table elle-même. (en supposant que les clés étrangères ne s'opposent à une telle action)