Attualmente sto studiando per SQL 70-433 (l'esame di certificazione Microsoft) e mi sto confondendo molto sulla metrica delle prestazioni "costo query".
Secondo qualsiasi documentazione che ho trovato tramite Google, il costo della query è un valore percentuale e rappresenta la percentuale dell'intero batch occupato da una parte di esso. Questo mi è già sembrato un po 'strano, poiché sono interessato al merito assoluto di una particolare query, piuttosto che al suo merito rispetto ad altre query che si presentano accanto ad essa.
Ma poi ho pensato, beh, forse quello che ci si aspetta che tu faccia è mettere due query alternative fianco a fianco, eseguirle come "un batch", e quindi quello che ha un costo inferiore al 50% è il vincitore.
Ma la discussione sul costo delle query nel capitolo 6, lezione uno del kit di formazione SQL 70-433 di Microsoft non sembra avere alcuna relazione con questo.
Ecco un esempio: mostrano una query che contiene due sottoquery correlate e quindi migliorano sostituendo le sottoquery con una OUTER APPLY. Il risultato: "Questa query ha un costo di circa 76, mentre il costo della prima query era il doppio di quello, circa 151." Quindi migliorano ulteriormente la query e riducono i costi da 76 a 3,6. Non implicano che queste cifre siano percentuali, mentre implicano che sono cifre assolute che si riferiscono alla query come oggetto autonomo, senza riferimento ad altre query. E comunque, come potrebbe la prima query avere un costo del 151%?
Più avanti nel capitolo, mostrano uno screenshot di un piano di esecuzione che ha tre parti. Il primo dice "Costo: 0%", il secondo dice "Costo: 1%" e l'ultimo dice "Costo: 99%" ma il testo (del libro stesso) sotto lo screenshot "Il costo di questa query è 0,56" . Immagino che significhino qualche altro tipo di costo, ma non riesco a trovare riferimenti altrove.
Qualcuno può aiutare? Sono completamente confuso.