microsoft / microsoft/sqlmanagementobjects

Obtaining Table SMO object causes table scan to be recorded

Ouverte
#151 5 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
C#
Étoiles
143
Forks
28
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

I'm not sure what the fix is here, but, that CASE statement does not short-circuit. Even if the IF condition is true, it still executes the subquery in the ELSE clause.

This means a table scan on one of the indexes (or heap) is recorded.

In most cases, this is probably not a big deal...but if you're using SMO objects to create backup scripts for unused indexes you are getting ready to drop...it's kind of a problem when all of a sudden SMO starts using those unused indexes, causing them to be excluded from the unused index detection queries.

https://github.com/microsoft/sqlmanagementobjects/blob/d6f3e68fe6fae09d22355a160baa525d8032fd64/src/Microsoft/SqlServer/Management/SqlEnum/PostProcessTable.cs#L81-L83

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez dans src/Microsoft/SqlServer/Management/SqlEnum/PostProcessTable.cs autour des lignes 81-83 et examinez le chemin de requête utilisé lors de l’obtention d’un objet Table SMO. Reproduisez ou suivez le comportement d’enregistrement des analyses de table, puis vérifiez que la détection des index inutilisés ne considère plus cette recherche de métadonnées comme une utilisation d’index.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
csharp, sql
Domaine
databases
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.