0

新しいSQLServer2008データベースを作成していますが、効率の面で常に疑問に思っていました。インデックス列をどこに配置するかは重要ですか?

たとえば、これは次のとおりです。

--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 に答える