Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 19085|Risposta: 2

[Fonte] SQL Server crea un indice

[Copiato link]
Pubblicato su 20/09/2019 09:31:08 | | |
Il concetto di indicizzazione

Lo scopo di stabilire un indice è migliorare le prestazioni del sistema di database, velocizzare la velocità di interrogazione dei dati e ridurre i tempi di risposta del sistema.
Cos'è un indice: Un indice in un database è simile a un indice per un libro, dove puoi trovare rapidamente le informazioni desiderate senza leggere l'intero libro.
In un database, un programma di database utilizza indici per interrogare rapidamente i dati in una tabella senza dover scansionare l'intera tabella.
L'indice in un libro è un elenco di parole e i numeri di pagina in cui si trovano, e l'indice nel database è un elenco dei valori in una tabella e dove ogni valore è memorizzato.
Pro e contro dell'indicizzazione: la maggior parte del sovraccarico dell'esecuzione delle query è I/O, e uno degli obiettivi principali dell'uso degli indici per migliorare le prestazioni è evitare la scansione completa delle tabelle, perché la scansione completa delle tabelle richiede di leggere ogni pagina dati della tabella dal disco, e se c'è un indice che punta a un valore dati, la query deve essere letta solo poche volte sul disco.
Pertanto, l'uso ragionevole degli indici può velocizzare la query dei dati. Tuttavia, gli indici non migliorano sempre le prestazioni del sistema, le tabelle indicizzate devono occupare più spazio di archiviazione nel database, e lo stesso comando per modificare ed eliminare i dati richiederà più tempo per essere eseguito e mantenuto l'indice.
Pertanto, dobbiamo usare l'indice in modo ragionevole e aggiornarlo in tempo per rimuovere l'indice subottimale.

Classificazione degli indici

L'indice è simile all'indice davanti al dizionario cinese, e puoi trovare rapidamente la parola che vuoi trovare secondo il pinyin o la maiuscola.
UNICO: Il valore dell'indice di ogni riga è unico (viene creato un vincolo univoco e il sistema creerà automaticamente un indice unico).
Indice delle chiavi primarie: La colonna delle chiavi primarie specificata al momento della creazione della tabella crea automaticamente un indice delle chiavi primarie e presenta caratteristiche uniche.
CLUSTERED: Gli indici clustered sono equivalenti all'uso della ricerca pinyin di un dizionario, perché l'indice clusterizzato memorizza record fisicamente continui, cioè pinyin a deve essere seguito da b.
NON clusterizzato: Gli indici NON clusterizzati equivalgono all'uso di radicali del dizionario per la ricerca, gli indici non clusterizzati sono logicamente continui e la memoria fisica non è contigua.
Un indice clusterizzato può avere una sola tabella in una tabella, mentre un indice non clusterizzato può avere più di una tabella in una tabella.

Quali campi devono essere indicizzati

1. Le chiavi primarie ed esterne della tabella devono avere un indice
2. Le tabelle con più di 300 dati dovrebbero avere un indice
3. Le tabelle che sono frequentemente collegate ad altre tabelle dovrebbero essere indicizzate sui campi connessi
4. I campi che spesso compaiono nella clausola Where, specialmente quelli in tabelle grandi, dovrebbero essere indicizzati
5. I campi che sono frequentemente ordinati o raggruppati (cioè eseguire operazioni GROUP BY o ORDER BY) devono essere indicizzati
6. L'indice dovrebbe essere costruito su campi altamente selettivi
7. L'indice dovrebbe essere costruito su campi piccoli, per campi di testo grandi o anche campi ultra-lunghi, non costruire indici e usare interi come valori chiave per quanto possibile, perché gli interi hanno la velocità di accesso più veloce
8. L'istituzione degli indici compositi deve essere analizzata con attenzione; Prova a considerare invece l'uso di indici a campo singolo
9. Le tabelle che esegueno frequentemente manipolazioni dei dati non dovrebbero essere troppo indicizzate
10. Eliminare indici inutili per evitare un impatto negativo sul piano di esecuzione

Lo svantaggio di troppi indici

1. Lo spazio di archiviazione diventerà più grande e ogni indice dovrà essere memorizzato nello spazio
2. Se ci sono molti indici non raggruppati, una volta che l'indice raggruppato cambia, allora tutti gli indici non raggruppati cambieranno di conseguenza
3. Troppi indici porteranno a un aumento del numero di combinazioni da valutare nel processo di ottimizzazione dell'ottimizzatore, aumentando il tempo di query
4. Ogni indice contiene informazioni statistiche, e più indici ci sono, più informazioni statistiche aumentano il tempo di interrogazione
5. Overhead di aggiornamento: una volta che un dato cambia e ci sono molte colonne modificate, può causare vari cambiamenti negli indici, causando rallentamenti di aggiornamento, cancellazione e inserimento








Precedente:Video MV di accompagnamento forte per adolescenti
Prossimo:C# riceve la lettera del disco di sistema corrente, la directory di sistema, il desktop, ecc
 Padrone di casa| Pubblicato su 27/12/2020 11:56:05 |
CREATE INDEX PersonIndex SU Nome della Tabella (Nome del campo)

DROP INDEX PersonIndex SUL nome della tabella
 Padrone di casa| Pubblicato su 24/02/2021 15:16:27 |
Quando il campo Test della tabella Itsvse non ha un indice, viene aggiunto

Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com