microsoft / microsoft/sqlmanagementobjects
Obtaining Table SMO object causes table scan to be recorded
Nessuno ha ancora preso questa issue.
- Lingua principale
- C#
- Stelle
- 143
- Fork
- 28
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia in src/Microsoft/SqlServer/Management/SqlEnum/PostProcessTable.cs intorno alle righe 81-83 e analizza il percorso della query utilizzato per ottenere un oggetto Table SMO. Riproduci o traccia il comportamento di registrazione delle scansioni delle tabelle, quindi verifica che il rilevamento degli indici inutilizzati non consideri più questa ricerca dei metadati come utilizzo di un indice.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- csharp, sql
- Ambito
- databases
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100