Denne artikkelen vil lære oss det grunnleggende ved å jobbe med ikke -lukkede indekser i SQL Server -tabellene. Vi vil utforske hvordan du bruker Create Index -setningen og hva den gjør.
En ikke -lukket indeks er en datastruktur som sorterer og lagrer dataene på et eget sted fra radene i en tabell. Ikke -lukkede indekser er veldig nyttige for å forbedre hastigheten når du søker i noen data. Noen ganger kan en spørring bare stole på dataene som er lagret i indeksen i stedet for selve tabellen.
En ikke -lukket indeks bruker en binær trestruktur for å lagre og organisere de relaterte dataene. Du kan også opprette mer enn en ikke -lukket indeks i samme tabell.
SQL Server Opprett indekserklæring
Vi kan bruke Create Index -setningen for å opprette en ikke -lukket indeks i SQL -serveren. Syntaksen er som følger:
Opprett [ikke -lukket] indeksindeks_navn
På tabell_name (column_list);
SQL -serveren oppretter en ikke -lukket indeks som standard, selv om du hopper over det ikke -lukkede nøkkelordet.
Deretter definerer vi navnet på tabellen vi ønsker å lage indeksen og kolonnene som skal inkluderes i indeksen.
Eksempel illustrasjon:
Anta at vi har en tabell som vist i følgende:
Drop -databasen hvis eksisterer oppløsning;
opprette databaseresolver;
Bruk resolver;
slippbord hvis finnes oppføringer;
Lag bordoppføringer (
id int ikke null identitet (1,
1) Primærnøkkel,
Server_name varchar (50),
server_address varchar (255) ikke null,
kompresjon_metod varchar (100) standard 'ingen',
size_on_disk float ikke null,
Size_Compription Float,
total_records int ikke null,
init_date dato
);
sett inn
inn i
Oppføringer (servernavn,
server adresse,
komprimering_metod,
størrelse_on_disk,
størrelse_komprimert,
Total_records,
init_date)
verdier ('mysql',
'localhost: 3306',
'LZ77',
90.66,
40.04,
560000,
'2022-01-02'),
('Redis',
'localhost: 6307',
'Snappy',
3.55,
998.2,
100000,
'2022-03-19'),
('PostgreSql',
'localhost: 5432',
'pglz',
101.2,
98.01,
340000 ,
'2022-11-11'),
('Elasticsearch',
'localhost: 9200',
'LZ4',
333.2,
300.2,
1200000,
'2022-10-08'),
('Mongodb',
'localhost: 27017',
'Snappy',
4.55,
4.10,
620000,
'2021-12-12'),
('Apache Cassandra',
'localhost: 9042',
'ZSTD',
300.3,
200.12,
10000000,
'2020-03-21');
SQL Server Opprett ikke -lukket indeks
Følgende eksempel oppretter en ikke -klynget indeks i oppføringstabellen ved hjelp av en enkelt kolonne:
Opprett indeks serv_name_index på
oppføringer (servernavn);
Det forrige eksemplet oppretter en ikke -klynget indeks på oppføringstabellen ved hjelp av servernavn -kolonnen.