Par exemple:Les indices de couverture remplacent-ils en toute sécurité les plus petits indices de couverture?
Given columns A,B,C,D,
IX_A is an index on 'A'
IX_AB is a covering index on 'AB'
IX_A peut être retiré en toute sécurité, car il est redondant: IX_AB sera utilisé à sa place. Je veux savoir si ce généralise:
Si j'ai:
IX_AB
IX_ABC
IX_ABCD
et ainsi de suite,
peut les indices moins être encore supprimés en toute sécurité? En d'autres termes, IX_ABC rend-il IX_AB redondant, et IX_ABCD rend-il IX_AB et IX_ABC redondants?
Vous * certainement * n'aura pas un indice de couverture de BC. Mais +1 - tout SGBD qui n'a pas utilisé AB_IDX pour rechercher A serait très pauvre. – paxdiablo
Il me semble me souvenir de certains SGBD plus petits qui ont accordé B, C sur un indice couvrant A, B, C. Cependant, ce n'est certainement pas le cas pour SQL Server ou Oracle. – Randolpho
Je pense que vous parlez peut-être des recherches d'index par rapport aux analyses d'index. Une recherche d'index sera effectuée si les colonnes principales sont utilisées dans la requête. Un balayage d'index (qui va directement aux feuilles) sera utilisé si les colonnes sont dans l'index, mais pas les colonnes principales. – Logicalmind