题
我们希望,我可以得到的答案为每个数据库服务器。
为一个大纲如何编制索引工作的检查: 如何数据库索引的工作?
解决方案
以下是SQL92标准,所以应该支持大多数的RDMBS使用SQL:
CREATE INDEX [index name] ON [table name] ( [column name] )
其他提示
Sql Server 2005
让你能够指定一个复盖指数。这是一种索引,包括数据从其他列在叶的水平,所以你不必回去表来获得列不包含在索引中的钥匙。
create nonclustered index my_idx on my_table (my_col1 asc, my_col2 asc) include (my_col3);
这是非常宝贵的查询已 my_col3
在选择列表, my_col1
和 my_col2
在其中的条款。
Python pytables、索引没有姓名和他们一定单列:
tables.columns.column_name.createIndex()
在SQL服务器,可以做到以下几点:(MSDN链接 到完整的清单的选择。)
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON <object> ( column [ ASC | DESC ] [ ,...n ] )
[ INCLUDE ( column_name [ ,...n ] ) ]
[ WHERE <filter_predicate> ]
(忽略一些更先进的选择...)
名称的每个指数必须是唯一的数据库广泛。
所有的索引可以有多个列,并且每一栏可以下令在什么了你想要的。
聚集索引是独一无二的-每个桌上。他们不能拥有 INCLUDE
d列。
非索引,并不是唯一的,可以有999每表。他们可以包括列,并且其中的条款。
创建索引下面的东西可以用于:
创建了一个索引表。重复的价值观是允许的:
CREATE INDEX index_name ON table_name (column_name)
创建一个唯一的索引表。重复的价值是不允许的:
CREATE UNIQUE INDEX index_name ON table_name (column_name)
聚集指数:
CREATE CLUSTERED INDEX CL_ID ON SALES(ID);
- 非聚集指数:
CREATE NONCLUSTERED INDEX NONCI_PC ON SALES(ProductCode);
参见: http://www.codeproject.com/Articles/190263/Indexes-in-MS-SQL-Server 对于细节。
CREATE INDEX name_index ON Employee (Employee_Name)
在多柱:
CREATE INDEX name_index ON Employee (Employee_Name, Employee_Age)
由于大多数的答案都给予SQL数据库,我写这对于非sql数据库,具体方面的需求。
下面是语法,以创建一个指数在MongoDB使用mongo壳。
db.collection.createIndex( <key and index type specification>, <options> )
例- db.collection.createIndex( { name: -1 } )
在上述例子中的一个关键的下降指数上创建的名字 领域。
铭记MongoDB索引使用B-树的数据结构。
有多种类型的指数,我们可以创建,于更多信息,请参阅以下链接 https://docs.mongodb.com/manual/indexes/
一指数是不是总是需要为所有的数据库。对于例如:Kognitio aka WX2引擎不提供法的索引作为数据库引擎的照顾它隐含地.数据在通过循环分区和Kognitio WX2获取数据和关闭盘尽可能简单的方式。