Une base de données informatique qui voit fréquemment ajoute, supprime et mises à jour , avec le temps , souffrir fragmentation de l'index , le ralentissement de la base vers le bas . SQL Server base de données des logiciels de Microsoft possède deux langues commandes SQL (Structured Query ) qui abordent cette question : DBCC INDEXDEFRAG et DBCC DBREINDEX . Bien que les deux résoudre le problème , les différences entre les deux dicter la façon dont vous les utilisez. Action La commande DBREINDEX reconstruit les index des tables à partir de zéro , alors que INDEXDEFRAG maintient les indices , mais réorganise leur contenu. Vous pouvez effectuer l'équivalent d' DBREINDEX en publiant un DROP INDEX et CREATE INDEX pour chaque indice vous voulez reconstruire ; DBREINDEX est plus rapide et moins sujette aux fautes de frappe . Compacts INDEXDEFRAG l'indice en fonction de son facteur de remplissage , il supprime toutes les pages vides créées au cours de l'opération de défragmentation Speed La vitesse relative des deux commandes dépend du degré . de fragmentation dans les index d'une table. INDEXDEFRAG fonctionne plus rapidement si les indices ont une quantité relativement faible de la fragmentation : il faut moins de temps pour analyser et réorganiser quelques pages dans un index que de le reconstruire avec DBREINDEX . Toutefois, si vous avez encore une quantité importante de passe puisque vous réindexer la base de données , INDEXDEFRAG prendra plus de temps que DBREINDEX . Exclusif contre un accès partagé DBCC DBREINDEX nécessite un accès exclusif à la table , verrouillage efficacement tous les utilisateurs et les processus pendant que cela fonctionne . Les indices de tableau sont incomplètes jusqu'à la fin du commandement , de sorte demandes des utilisateurs pour des données échoueraient s'ils essayaient accéder à la table . D'autre part , INDEXDEFRAG remanie simplement l'index existant , il permet aux utilisateurs d' accéder à la table . Options deux commandes ont une option NOINFOMSGS , éteignez les messages qui seraient autrement surgir lors de l'exécution . DBREINDEX vous permet de reconstruire un ou tous les index d'une table en une seule commande. INDEXDEFRAG fonctionne sur un seul indice à la fois , de sorte que des tables avec des index multiples nécessitent plusieurs commandes . Le DBREINDEX vous permet de modifier le facteur de remplissage d'un index , vous permettant de construire plus ou moins d'espace libre dans l'indice. Index avec plus d'espace libre prennent plus d'espace disque , mais courir un peu plus vite si vos programmes ajoutent souvent des enregistrements à la table.
|