OVH Cloud OVH Cloud

INDEX & FILL FACTOR

2 réponses
Avatar
Ch.
bonjour,

qui pourrait m'expliquer exactement à quoi sert le fill factor !
parce que finalement j'ai plein d'avis contradictoires !

certains me disent qu'il vaut mieux qu'il soit le plus rempli possible ?
d'autres me disent que plus petit il est, est plus longtemps l'index sera
valable ?

alors a quoi sert'il exactement !
Qu'elle methode existe t'il pour savoir quand un index doit etre reconstruit
?


Merci par avance !

2 réponses

Avatar
SQLpro [MVP]
Bonjour,

Comme son nom 'indique le Fill factor est le facteur de remplissage...

De quoi ? Des pages constituant l'index bien sur.

Un fill factor élevé rend l'index moins volumineux mais oblige à des
manipulation interne lourdes, lors des insertions de données, telle que
le splittage de pages (une page pleine à 100% dans laquelle on doit
insérer une nouvelle entrée est coupée en deux nouvelles pages).
Cela pénalise les mises à jour (INSERT, UPDATE, DELETE) mais avantage
les SELECT.

Un fill factor faible, rend l'index très volumineux, mais minimise
l'effort à la mise à jour.

Par exemple un ff de 33% rendra l'index 3 fois plus volumineux, donc
log(3) fois moins rapide à parcourir qu'un fill factor de 100%.
En revanche les insertions seront trois fois plus rapide.

Tout dépend donc de ce que vous voulez maximiser :
- soit les lectures
- soit les maj.
On ne peut obetnir des performances sur les deux à la fois.

Pour plus de détail sur ce qu'est un index, vous pouvez jeter un oeil à
mon livre SQL chez Pearson Educ.

A +


Ch. a écrit :
bonjour,

qui pourrait m'expliquer exactement à quoi sert le fill factor !
parce que finalement j'ai plein d'avis contradictoires !

certains me disent qu'il vaut mieux qu'il soit le plus rempli possible ?
d'autres me disent que plus petit il est, est plus longtemps l'index sera
valable ?

alors a quoi sert'il exactement !
Qu'elle methode existe t'il pour savoir quand un index doit etre reconstruit
?


Merci par avance !






--
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
Ch.
Merci Fred j'ai enfin compris !


"SQLpro [MVP]" a écrit dans le message de news:
O0b3$
Bonjour,

Comme son nom 'indique le Fill factor est le facteur de remplissage...

De quoi ? Des pages constituant l'index bien sur.

Un fill factor élevé rend l'index moins volumineux mais oblige à des
manipulation interne lourdes, lors des insertions de données, telle que le
splittage de pages (une page pleine à 100% dans laquelle on doit insérer
une nouvelle entrée est coupée en deux nouvelles pages).
Cela pénalise les mises à jour (INSERT, UPDATE, DELETE) mais avantage les
SELECT.

Un fill factor faible, rend l'index très volumineux, mais minimise
l'effort à la mise à jour.

Par exemple un ff de 33% rendra l'index 3 fois plus volumineux, donc
log(3) fois moins rapide à parcourir qu'un fill factor de 100%.
En revanche les insertions seront trois fois plus rapide.

Tout dépend donc de ce que vous voulez maximiser :
- soit les lectures
- soit les maj.
On ne peut obetnir des performances sur les deux à la fois.

Pour plus de détail sur ce qu'est un index, vous pouvez jeter un oeil à
mon livre SQL chez Pearson Educ.

A +


Ch. a écrit :
bonjour,

qui pourrait m'expliquer exactement à quoi sert le fill factor !
parce que finalement j'ai plein d'avis contradictoires !

certains me disent qu'il vaut mieux qu'il soit le plus rempli possible ?
d'autres me disent que plus petit il est, est plus longtemps l'index sera
valable ?

alors a quoi sert'il exactement !
Qu'elle methode existe t'il pour savoir quand un index doit etre
reconstruit ?


Merci par avance !




--
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 ***********************