在只有2个不同值的列上创建索引

时间:2017-05-11 20:16:59

标签: sql database-indexes

我有一张包含数百万条记录的表格。

其中一列只有2个值' 0'和' 1'。

我只关心列值为' 0'的记录。并对这些记录进行一些处理。

考虑包含值' 0'的记录数量。如果在该列上创建索引是明智的。

此后,索引将只有2个值' 0'对实际记录有数百种参考,并且' 1'参考其相关的数百万条记录。

因为我不关心' 1'它的引用,我应该首先使用索引吗?

1 个答案:

答案 0 :(得分:0)

CREATE TABLE Detalii_Meciuri(
    DetaliiID int not null primary key identity(1,1),
    MeciID int FOREIGN KEY (MeciID)
    REFERENCES Meciuri(MeciID),
    Categoria_1 int not null check (Categoria_1 = 0 or Categoria_1 = 1) ,
    Categoria_2 int not null check (Categoria_2 = 0 or Categoria_2 = 1) ,
    Categoria_3 int not null check (Categoria_3 = 0 or Categoria_3 = 1) ,
    Categoria_4 int not null check (Categoria_4 = 0 or Categoria_4 = 1) ,
    Categoria_5 int not null check (Categoria_5 = 0 or Categoria_5 = 1) ,
    Puncte_Echipa_A int not null check (Puncte_Echipa_A > 0),
    Puncte_Echipa_B int not null check (Puncte_Echipa_B > 0),
);