Jak mogę indeks kolumny bazy danych

głosy
48

Mam nadzieję, że mogę dostać odpowiedź dla każdego serwera bazy danych.

Dla zarysu jak roboty indeksujące sprawdź: Jak działa indeksowania bazy danych?

Utwórz 04/08/2008 o 12:21
źródło użytkownik
W innych językach...                            


9 odpowiedzi

głosy
54

Poniżej standardem SQL92 więc powinien być obsługiwany przez większość RDMBS wykorzystujących SQL:

CREATE INDEX [index name] ON [table name] ( [column name] )
Odpowiedział 04/08/2008 o 12:25
źródło użytkownik

głosy
6

SQL Server 2005 daje możliwość określenia indeksu motywacyjny. Jest to wskaźnik, który zawiera dane z innych kolumn na poziomie liścia, więc nie trzeba iść z powrotem do stołu, aby uzyskać kolumny, które nie są zawarte w tych kluczy indeksowych.

tworzyć nieklastrowego my_idx indeksu w my_table (my_col1 ASC my_col2 ASC) obejmują (my_col3);

To jest bezcenne dla kwerendy, która my_col3 w liście wyboru, a my_col1 i my_col2 w klauzuli WHERE.

Odpowiedział 13/08/2008 o 15:05
źródło użytkownik

głosy
4

W SQL Server, można wykonać następujące czynności: ( MSDN link do pełnej listy opcji.)

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name 
    ON <object> ( column [ ASC | DESC ] [ ,...n ] ) 
    [ INCLUDE ( column_name [ ,...n ] ) ]
    [ WHERE <filter_predicate> ]

(Pomijając kilka bardziej zaawansowanych opcji ...)

Nazwa każdego wskaźnika musi być szeroka unikalną bazę danych.

Wszystkie indeksy mogą mieć wiele kolumn, a każda kolumna można zamówić w dowolnej kolejności.

Skupione indeksy są unikalne - jednej na stole. Nie mogą one mieć INCLUDEd kolumn.

nieklastrowany indeksy nie są unikalne i mogą mieć maksymalnie 999 na stole. Mogą one obejmowały kolumn i WHERE.

Odpowiedział 15/06/2012 o 19:01
źródło użytkownik

głosy
4

Dla pytables Python, indeksy nie mają nazwy i są one zobowiązane do pojedynczych kolumnach:

tables.columns.column_name.createIndex()
Odpowiedział 23/01/2012 o 16:13
źródło użytkownik

głosy
2

Należy tylko indeks kolumny, na których wykonywanie częstych Search / zapytań.

Załóżmy, że mamy tabelę o nazwie Students gdzie przechowywać StudentID, nazwisko, pole, gatunek itp i trzeba często przeszukać kolumnę StudentID informacji na temat konkretnych uczniów.

SELECT Name, Course, Grade

FROM Students

WHERE StudentID = 111025

Należy utworzyć indeks na tej kolumnie, ponieważ będzie on przyspieszyć proces wyszukiwania. Można utworzyć indeks na istniejącej kolumny z następującego kodu:

CREATE INDEX IndexStudentID

ON Students (StudentID)

Nazwa IndexStudentID może być wszystko, wybrać coś, co sensu dla Ciebie.

Jednak tworzenie indeksu doda trochę napowietrznych do bazy danych. Istnieje wiele narzędzi, które mogą pomóc, na przykład, używam SQLDbm jak to pasuje mi najlepiej.

Odpowiedział 29/08/2017 o 09:53
źródło użytkownik

głosy
2

Aby utworzyć indeksy następujące rzeczy można stosować:

  1. Tworzy indeks na stole. Dozwolone są zduplikowane wartości:

    CREATE INDEX nazwa_indeksu ON nazwa_tabeli (nazwa_kolumny)

  2. Tworzy unikalny indeks na stole. zduplikowane wartości nie są dozwolone:

    Twórz niepowtarzalne INDEX nazwa_indeksu ON nazwa_tabeli (nazwa_kolumny)

  3. skupione Index

    TWORZENIE klastrowych INDEX CL_ID ze sprzedaży (ID);

  4. Indeks nieklastrowanym

    TWORZENIE indeks nieklastrowany NONCI_PC ze sprzedaży (ProductCode);

odnoszą http://www.codeproject.com/Articles/190263/Indexes-in-MS-SQL-Server szczegóły.

Odpowiedział 02/06/2015 o 13:38
źródło użytkownik

głosy
1

1.

 CREATE INDEX name_index ON Employee (Employee_Name)
  1. Na multi kolumny

    CREATE INDEX name_index ON Employee (Employee_Name, Employee_Age)
    
Odpowiedział 17/01/2017 o 10:48
źródło użytkownik

głosy
0

Indeks nie zawsze jest potrzebna dla wszystkich baz danych. Dla np: Kognitio aka silnik WX2 nie oferuje składni do indeksowania jak silnik bazy danych dba o niego w sposób dorozumiany. Dane idzie poprzez podział round-robin i Kognitio WX2 pobiera dane i wyłączanie dysku w najprostszy możliwy sposób.

Odpowiedział 05/06/2018 o 10:24
źródło użytkownik

głosy
0

Ponieważ większość odpowiedzi podano dla SQL baz danych, piszę to dla baz danych NoSQL, specjalnie dla MongoDB.

Poniżej znajduje się składnia, aby utworzyć indeks w MongoDB korzystając Mongo powłokę.

db.collection.createIndex( <key and index type specification>, <options> )

Przykład - db.collection.createIndex( { name: -1 } )

W powyższym przykład jeden klucz indeksu malejąco tworzony jest na polu nazwy.

Należy mieć na uwadze indeksów MongoDB wykorzystuje strukturę danych B-drzewa.

Istnieje wiele rodzajów indeksów możemy stworzyć w MongoDB, aby uzyskać więcej informacji patrz poniżej link - https://docs.mongodb.com/manual/indexes/

Odpowiedział 01/06/2018 o 19:05
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more