Hogyan index egy adatbázis oszlop

szavazat
48

Remélhetőleg tudok választ minden adatbázis szerver.

Mert annak körvonalazása, hogy az indexelés munkák nézd meg: Hogyan adatbázis indexelési munkát?

A kérdést 04/08/2008 12:21
a forrás felhasználó
Más nyelveken...                            


10 válasz

szavazat
54

A következő SQL92 szabvány, így kell támogatni a legtöbb RDMBS használó SQL:

CREATE INDEX [index name] ON [table name] ( [column name] )
Válaszolt 04/08/2008 12:25
a forrás felhasználó

szavazat
6

Az SQL Server 2005 lehetőséget ad, hogy meghatározza egy takarót index. Ez egy index, amely az adatok más oszlopok a levél szinten, így nem kell, hogy menjen vissza az asztalhoz, hogy oszlopokat, amelyek nem szerepelnek az indexben kulcsokat.

létrehozásához fürtözött index my_idx on my_table (my_col1 asc, my_col2 asc) közé tartoznak (my_col3);

Ez felbecsülhetetlen egy lekérdezés, amely my_col3 a SELECT listában, és my_col1 és my_col2 ahol záradékot.

Válaszolt 13/08/2008 15:05
a forrás felhasználó

szavazat
4

Az SQL Server, akkor tegye a következőket: ( MSDN link az opciók teljes listáját.)

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

(Figyelmen kívül hagyva néhány fejlettebb lehetőségek ...)

A neve minden egyes Index egyedinek kell lennie az adatbázisban széles.

Minden indexek is több oszlop, és minden oszlop is rendelhető, bármilyen sorrendben szeretné.

Fürtözött indexek egyedi - egy darab tábla. Nem tudják, hogy INCLUDEd oszlopot.

Fürtözött indexek nem egyediek, és lehet akár 999 per asztalra. Ezek közé tartoznak az oszlopokat, és amikor az előírások.

Válaszolt 15/06/2012 19:01
a forrás felhasználó

szavazat
4

Python pytables, indexek nem neveket és kötődnek egyetlen oszlopok:

tables.columns.column_name.createIndex()
Válaszolt 23/01/2012 16:13
a forrás felhasználó

szavazat
2

Csak akkor index az oszlopokat, amit végez rendszeres kereső / lekérdezések.

Tegyük fel, hogy van egy tábla nevű diákok, hol tárolja Tanulóazonosító, neve, Course, Grade stb És akkor gyakran kell keresni a Tanulóazonosító oszlopban információt az egyes tanulók.

SELECT Name, Course, Grade

FROM Students

WHERE StudentID = 111025

Létre kell hozni egy indexet, amely oszlop, mivel ez felgyorsítja a keresést. Hozhat létre egy indexet a meglévő oszlopot az alábbi kódot:

CREATE INDEX IndexStudentID

ON Students (StudentID)

A név IndexStudentID bármi lehet, válasszon valami, hogy van értelme az Ön számára.

Ugyanakkor, ami egy indexet majd adjunk hozzá néhány overhead az adatbázisba. Sok olyan eszköz, amely segíthet, például Én használ SQLDbm ahogy illik hozzám a legjobban.

Válaszolt 29/08/2017 09:53
a forrás felhasználó

szavazat
2

Létrehozásához indexek következő dolgokat lehet használni:

  1. Létrehoz egy indexet az asztalon. Ismétlődő értékek megengedettek:

    CREATE INDEX index_name ON táblanév (oszlop_neve)

  2. Létrehoz egy egyedi index az asztalra. Ismétlődő értékek nem megengedettek:

    Készítsen egyedi INDEX index_name ON táblanév (oszlop_neve)

  3. fürtözött index

    CREATE fürtözött index CL_ID értékesítési (ID);

  4. Nem fürtözött index

    CREATE fürtözött index NONCI_PC értékesítés (ProductCode);

lásd http://www.codeproject.com/Articles/190263/Indexes-in-MS-SQL-Server a részletekért.

Válaszolt 02/06/2015 13:38
a forrás felhasználó

szavazat
1

1.

 CREATE INDEX name_index ON Employee (Employee_Name)
  1. Egy multi oszlopon

    CREATE INDEX name_index ON Employee (Employee_Name, Employee_Age)
    
Válaszolt 17/01/2017 10:48
a forrás felhasználó

szavazat
0

Tudjuk használni a következő szintaxist, hogy hozzon létre indexet.

CREATE INDEX <index_name> ON <table_name>(<column_name>)

Ha nem akarjuk, hogy az ismétlődő értéket meg kell engedni, akkor mi is hozzá EGYEDI létrehozása közben index a következők

CREATE UNIQUE INDEX <index_name> ON <table_name>(<column_name>)

Mi is létrehozhatunk index több oszlopot, amely több oszlop nevét elválasztott „ ”

Válaszolt 07/08/2019 22:09
a forrás felhasználó

szavazat
0

Az index nem mindig szükséges az összes adatbázist. Pl: Kognitio aka WX2 motor nem kínál szintaxis indexelés, mint az adatbázis-motor gondoskodik, akkor hallgatólagosan. Adatok megy keresztül körmérkőzéses particionálás és Kognitio WX2 kapja az adatokat be és ki lemezt a lehető legegyszerűbb módon.

Válaszolt 05/06/2018 10:24
a forrás felhasználó

szavazat
0

Mivel a legtöbb választ kapnak az SQL adatbázisok, írom ezt a nosql adatbázisok, kifejezetten MongoDB.

Az alábbiakban a szintaxis hogy hozzon létre egy indexet a MongoDB segítségével mongo shell.

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

példa - db.collection.createIndex( { name: -1 } )

A fenti példában egy egységes kulcs szerint csökkenő indexek létrehozásakor a név mező.

Tartsuk szem előtt, MongoDB indexek használ B-fa adatszerkezet.

Vannak különböző típusú indexek tudunk létrehozni MongoDB, további információért lásd alább a linket - https://docs.mongodb.com/manual/indexes/

Válaszolt 01/06/2018 19:05
a forrás felhasználó

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