Skip to main content

Cos'è una scansione a tavola intera?

Una scansione della tabella completa è uno dei modi più lenti, ma più approfonditi, per scansionare un database.Il motivo per cui questo metodo di scansione è così lento è che il database legge ogni riga e controlla se una o più colonne sono valide per una query o una condizione imposte dall'amministratore.Il trigger più comune per una tabella completa è che il database non contiene una riga dell'indice da cui è possibile avviare la query.Di solito è meglio scansionare la tabella manualmente se si cerca una riga ma, se si cerca di più o se si guarda attraverso una tabella grande, la scansione a tabella completa funzionerà meglio.

I database sono dotati di funzioni di scansione che guardano attraverso le tabelle per trovare informazionio per controllare la tabella per assicurarsi che possa soddisfare una condizione.Una scansione della tabella completa è la scansione più completa perché, anche se trova una riga che corrisponde alla condizione, continuerà a scansionare attraverso il resto delle righe.Questa funzione è costosa, il che significa che utilizza una grande quantità di memoria, perché la scansione legge e scrive in ogni riga e esegue anche più cercando per controllare a fondo la riga.Viene necessaria una scansione completa quando viene eseguita una query o una funzione, ma il database non vede un indice per eseguire la query.

Un indice è una colonna in una tabella che indica informazioni sulla tabella in base alla preferenza dell'amministratore.Ad esempio, se l'amministratore desidera indicizzare le informazioni sui nomi, la colonna indice registrerà la posizione di ciascun nome.Questo aiuta sia l'amministratore che il database a trovare informazioni nascoste in profondità nel database.Se non si trova alcun indice nella tabella, una scansione a tabella completa di solito si avvia automaticamente per consentire l'esecuzione di una query.

Tanta memoria viene assegnata a una scansione della tabella completa ed è così accurata che una scansione completa è molto lenta.Se l'amministratore ha bisogno solo di una o qualche riga per la query, di solito è più veloce solo costruire un piccolo indice.Anche se questo è vero, se la query è grande, la scansione completa potrebbe effettivamente funzionare più velocemente.Se l'amministratore sta effettuando una query che colpisce il 5 percento o più dell'intero database, una scansione completa sarà generalmente in grado di eseguire la funzione più velocemente dell'amministratore che fa la stessa cosa manualmente.

Un amministratore userà spesso un piano "Spiega"Funzione, che eseguirà una rapida scansione della tabella.Ciò mostrerà all'amministratore se è necessario un indice per la query.Prendendo i risultati, l'amministratore saprà se la query può essere eseguita così com'è, se dovrebbe fare o cercare un indice o se eseguire una tabella completa sarà efficiente.