Index de cluster prenant 100 % du coût en SQL

la programmation


Si j’ai créé un index de cluster, il devrait fonctionner plus rapidement que les autres.
Mais lorsque je vérifie le plan d’exécution, il m’affiche un coût de 100 %.

Ci-dessous l’exemple

Tableau 1
Col1
Col2
Col3

CRÉER UN INDEX CLUSTERÉ LK_table1 SUR Table1 (Col1,
Col2,
Col3)

Mais je n’utilise que col1 et col3 dans la jointure et col2 est utilisé dans la requête.
Cela crée donc un problème si nous utilisons toutes les colonnes des index mais ne les utilisons pas dans la jointure, c’est pourquoi le coût est de 100 %.

Ce que j’ai essayé :

Je n’ai pas encore essayé quoi que ce soit car la requête s’exécute correctement, mais lorsque je vérifie le plan d’exécution, le coût de cet index de cluster m’est affiché à 100 %.
S’il vous plaît laissez-moi savoir comment réduire le coût.

Solution 1

Premièrement, le « coût de 100 % » signifie simplement que votre analyse/recherche d’index clusterisé représente 100 % du coût de cette requête. Cela ne signifie pas que la requête est moins efficace qu’elle ne le serait sans cet index.

Deuxièmement, vous devez concevoir vos index pour tenir compte de la quantité attendue de données dans les tables concernées et des requêtes que vous comptez exécuter. Si vous filtrez sur une valeur ou une plage spécifique sur Col2puis rejoindre une autre table sur (Col1, Col3)alors tu vas probablement je veux mettre Col2 premier dans l’index. Mais vous devrez tester par rapport à vos tables réelles, avec une charge de données significative, pour en être sûr.

コメント

タイトルとURLをコピーしました