Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Equivalence entre DBREINDEX et DROP/CREATE du cluster

2 réponses
Avatar
Junior
Bonjour,

Je souhaiterai savoir si le resultat produit par la commande DBCC DBREINDEX
et identique a la Supp. et recreation d'index.

Pour tous types d'index, notament un index Cluster.

La question cachée est :

Apres un DBCC ma table est-elle defragmentée comme pour un drop create ?

Merci le groupe

2 réponses

Avatar
SQLpro [MVP]
Junior a écrit :
Bonjour,

Je souhaiterai savoir si le resultat produit par la commande DBCC DBREINDEX
et identique a la Supp. et recreation d'index.

Pour tous types d'index, notament un index Cluster.

La question cachée est :

Apres un DBCC ma table est-elle defragmentée comme pour un drop create ?

Merci le groupe



DBNCC DBREINDEX est atomique donc transactionné. De plus cette commande
permet la reconstruction des index sous jacents à des contraintes PK et
FK, sans que ces contraintes ne sautent ce qui est impossible à faire
par DROP INDEX / CREATE INDEX. En effet avec DROP/CREATE index, si
l'index est celui de la clef primaire ou celui d'une contrainte
d'unicité il faudra supprimer préalablement cette contrainte.

Bien entendu l'index n'est plus fragmenté à l'issue de cette opération
et l'on peut même indiquer un fill factor différent de l'original.

En revanche cette opération est très couteuse en terme de ressources et
journalisation. Ce qui peut entraîner des blocages.

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Junior
Merci pour cette reponse detaillée.

Je vais faire en consequence.

Bonne journée

"SQLpro [MVP]" a écrit :

Junior a écrit :
> Bonjour,
>
> Je souhaiterai savoir si le resultat produit par la commande DBCC DBREINDEX
> et identique a la Supp. et recreation d'index.
>
> Pour tous types d'index, notament un index Cluster.
>
> La question cachée est :
>
> Apres un DBCC ma table est-elle defragmentée comme pour un drop create ?
>
> Merci le groupe

DBNCC DBREINDEX est atomique donc transactionné. De plus cette commande
permet la reconstruction des index sous jacents à des contraintes PK et
FK, sans que ces contraintes ne sautent ce qui est impossible à faire
par DROP INDEX / CREATE INDEX. En effet avec DROP/CREATE index, si
l'index est celui de la clef primaire ou celui d'une contrainte
d'unicité il faudra supprimer préalablement cette contrainte.

Bien entendu l'index n'est plus fragmenté à l'issue de cette opération
et l'on peut même indiquer un fill factor différent de l'original.

En revanche cette opération est très couteuse en terme de ressources et
journalisation. Ce qui peut entraîner des blocages.

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************