work - sql server index




如何索引數據庫列 (6)

1。

 CREATE INDEX name_index ON Employee (Employee_Name)
  1. 在多列上

    CREATE INDEX name_index ON Employee (Employee_Name, Employee_Age)
    

希望我能為每個數據庫服務器獲得答案。

有關索引工作原理的概述,請查看: 數據庫索引如何工作?


Sql Server 2005使您能夠指定覆蓋索引。 這是一個包含葉級別其他列的數據的索引,因此您不必返回到表中以獲取未包含在索引鍵中的列。

在my_table上創建非聚集索引my_idx(my_col1 asc,my_col2 asc)include(my_col3);

對於在選擇列表中包含my_col3,在where子句中包含my_col1和my_col2的查詢,這是非常有用的。


在SQL Server中,您可以執行以下操作:( MSDN鏈接到完整的選項列表。)

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

(忽略一些更高級的選項...)

每個索引的名稱必須是唯一的數據庫範圍。

所有索引都可以有多個列,每個列都可以按您想要的順序排序。

聚簇索引是唯一的 - 每個表一個。 他們不能擁有INCLUDE d列。

非聚簇索引不是唯一的,每個表最多可以有999個。 他們可以包含列和where子句。


對於python pytables,索引沒有名稱,它們綁定到單個列:

tables.columns.column_name.createIndex()

由於大多數答案都是針對SQL數據庫的,因此我為NOSQL數據庫編寫了這個,特別是針對MongoDB。

下面是使用mongo shell在MongoDB中創建索引的語法。

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

示例 - db.collection.createIndex( { name: -1 } )

在上面的示例中,在名稱字段上創建了單個降序索引。

請記住,MongoDB索引使用B樹數據結構。

我們可以在mongodb中創建多種類型的索引,有關更多信息,請參閱以下鏈接 - https://docs.mongodb.com/manual/indexes/


要創建索引,可以使用以下內容:

  1. 在表上創建索引。 允許重複的值:

    CREATE INDEX index_name ON table_name(column_name)

  2. 在表上創建唯一索引。 不允許重複值:

    CREATE UNIQUE INDEX index_name ON table_name(column_name)

  3. 聚集指數

    在銷售(ID)上創建CLUSTERED INDEX CL_ID;

  4. 非聚集索引

    在銷售中創建非集群指數NONCI_PC(ProductCode);

有關詳細信息,請參閱http://www.codeproject.com/Articles/190263/Indexes-in-MS-SQL-Server





indexing