Nasıl yapabilirim endeksi veritabanı sütununu

oy
48

Umarım, her veritabanı sunucusu için cevap alabilirsiniz.

Indeksleme çalışmaları nasıl olacağı ana hatları için: Nasıl veritabanı indeksleme çalışır?

Oluştur 04/08/2008 saat 12:21
kaynak kullanıcı
Diğer dillerde...                            


10 cevaplar

oy
54

Aşağıdaki böylece SQL kullanmak RDMBS çoğunluğu tarafından desteklenmelidir SQL92 standarttır:

CREATE INDEX [index name] ON [table name] ( [column name] )
Cevap 04/08/2008 saat 12:25
kaynak kullanıcı

oy
6

SQL Server 2005 size kapak dizin belirleme yeteneği sağlar. Bu yaprak düzeyinde diğer sütunlardan veriler içeren bir dizin, yani indeks tuşları yer almayan sütunları almak için masaya geri dönmek zorunda değilim.

my_table üzerinde kümelenmemiş dizin my_idx oluşturmak (my_col1 Artan, my_col2 artan) (my_col3) yer alır;

Bu nerede yan tümcesinde bir seçme listesinde my_col3 etti sorgusu ve my_col1 ve my_col2 için değeri ölçülemez.

Cevap 13/08/2008 saat 15:05
kaynak kullanıcı

oy
4

(: SQL Server, aşağıdakileri yapabilirsiniz MSDN Linki seçeneklerinin tam listesine.)

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

(Biraz daha gelişmiş seçenekler görmezden ...)

Her Index adı benzersiz veritabanını geniş olmalıdır.

Tüm endeksler birden çok sütun olabilir ve her sütun ne istersen sipariş sipariş edilebilir.

Kümelenmiş dizin benzersiz - masanın başına bir. Onlar olamaz INCLUDEd sütunları.

Kümelenmemiş dizin benzersiz değildir ve tablo başına 999 kadar olabilir. Onlar sütunlar ve nerede maddeleri dahil ettik edebilirsiniz.

Cevap 15/06/2012 saat 19:01
kaynak kullanıcı

oy
4

piton pytables için, endeksler isimleri yoktur ve onlar tek sütunlarla ilişkili:

tables.columns.column_name.createIndex()
Cevap 23/01/2012 saat 16:13
kaynak kullanıcı

oy
2

Yalnızca dizin sütunları hangi sık sık arama / sorguları gerçekleştirmelidir.

Eğer StudentID, Ad Kursu, Derece vb saklamak adlı bir tablo öğrenciler var Ve sık sık belirli öğrencilerle ilgili bilgileri StudentID sütunu aramanıza gerek varsayalım.

SELECT Name, Course, Grade

FROM Students

WHERE StudentID = 111025

o arama sürecini hızlandırır beri, o sütun üzerinde bir dizin oluşturmanız gerekir. Aşağıdaki kod ile varolan sütun üzerinde dizin oluşturabilirsiniz:

CREATE INDEX IndexStudentID

ON Students (StudentID)

adı IndexStudentID sizin için mantıklı bir şey seçmek, herhangi bir şey olabilir.

Ancak, bir dizin oluşturarak veritabanına bazı ek yük getirecektir. Ben kullanıyorum örneğin yardımcı olabilecek birçok araç vardır SQLDbm Bunun beni en uygun olarak.

Cevap 29/08/2017 saat 09:53
kaynak kullanıcı

oy
2

şeyler aşağıdaki endeksler kullanılabilir oluşturmak için:

  1. Bir tablo üzerinde bir dizin oluşturur. Yinelenen değerler izin verilir:

    tablo_ismi ON INDEX index_name CREATE (column_name)

  2. Bir tablo üzerinde benzersiz bir dizin oluşturur. Yinelenen değerler izin verilmez:

    tablo_ismi EŞSİZ INDEX index_name OLUŞTURMA (column_name)

  3. kümelenmiş Endeksi

    SATIŞ (İD) kümelenmiş dizin CL_ID CREATE;

  4. Sigara kümelenmiş dizin

    SATIŞ KÜMELENMEMİŞ ENDEKSİ NONCI_PC (ProductCode) CREATE;

bakınız http://www.codeproject.com/Articles/190263/Indexes-in-MS-SQL-Server detaylar için.

Cevap 02/06/2015 saat 13:38
kaynak kullanıcı

oy
1

1.

 CREATE INDEX name_index ON Employee (Employee_Name)
  1. Çok sütun üzerinde

    CREATE INDEX name_index ON Employee (Employee_Name, Employee_Age)
    
Cevap 17/01/2017 saat 10:48
kaynak kullanıcı

oy
0

Biz dizini oluşturmak için aşağıdaki sözdizimini kullanabilirsiniz.

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

O zaman izin verilmesi için yinelenen değer istemiyorsanız biz ekleyebilir UNIQUE aşağıdaki gibi endeksi oluşturulurken

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

Biz 'ile ayrılmış birden sütun adını vererek çoklu sütun üzerinde dizin oluşturabilirsiniz , '

Cevap 07/08/2019 saat 22:09
kaynak kullanıcı

oy
0

Bir indeks her zaman tüm veritabanları için gerekli değildir. eg için: veritabanı altyapısı dolaylı olarak bunu halleder olarak Kognitio aka WX2 motoru indeksleme için bir sözdizimi sunmamaktadır. Veri yuvarlak robin bölümleme yoluyla gider ve Kognitio WX2 ve olabildiğince basit biçimde diskindeki verilerin alır.

Cevap 05/06/2018 saat 10:24
kaynak kullanıcı

oy
0

cevapların çoğu SQL veritabanları için verilmiştir beri özellikle MongoDB için, NoSQL veritabanları için yazıyorum.

Aşağıda Mongo kabuk kullanarak MongoDB bir dizin oluşturmak için sözdizimi.

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

örnek - db.collection.createIndex( { name: -1 } )

Yukarıdaki örnekte bir tek anahtar inen endeks adı alanına oluşturulur.

Zihin MongoDB endeksler bulundurun B-tree veri yapısını kullanır.

Orada endeksler birden fazla türde ek bilgi vermek için, MongoDB oluşturabileceğiniz olan bağlantısını aşağıdaki bakın - https://docs.mongodb.com/manual/indexes/

Cevap 01/06/2018 saat 19:05
kaynak kullanıcı

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