0

我正在创建一个新的 SQL Server 2008 数据库,我一直在想,从效率的角度来看,将索引列放在哪里重要吗?

例如,这个:

--ID is primary key
CREATE TABLE tbl (ID INT, dtIn DATETIME2, dtOut DATETIME2, Type INT)
INSERT tbl VALUES
(1, '01:30', '02:00', 1),
(2, '02:30', '03:00', 1),
(3, '10:30', '11:00', 2)

CREATE INDEX idx_Type ON tbl(Type)

与此相比:

--ID is primary key
CREATE TABLE tbl (ID INT, Type INT, dtIn DATETIME2, dtOut DATETIME2)
INSERT tbl VALUES
(1, 1, '01:30', '02:00'),
(2, 1, '02:30', '03:00'),
(3, 2, '10:30', '11:00')

CREATE INDEX idx_Type ON tbl(Type)
4

2 回答 2

1

嗯,听起来很有趣,取决于你如何实现

Single column index -it does not matter 

Multi-column index - order of the column does matter in the index,
                     but not in the table

本有一个证明在这里

于 2012-09-06T21:14:41.280 回答
0

不,表中的列放置与使用的资源量无关

于 2012-09-06T20:32:46.770 回答