我应该索引列还是将其拆分为单独的视图SQL

时间:2015-08-28 09:16:30

标签: c# sql-server indexing

我有一个表Employees,其中包含大约11000行数据。其中一列是Location,在此列中有不同类型的位置,例如美国,法国,英国。我在location列上创建了一个聚簇索引。我还创建了这个表的视图。

我将创建一个使用此视图的MVC项目。我想知道的是,我应该创建不同的视图,每个视图由位置分隔,还是聚集索引足以提高性能?或者我应该两个都做?

在我看来,较小的视图会提高性能,因为它允许按位置搜索项目,而不是搜索大视图,您现在只需要搜索较小的视图。

1 个答案:

答案 0 :(得分:0)

群集或类似的东西适用于巨大的表,比如数亿行。有了11000行,sql server就可以了,通常甚至没有索引。 现在,如果您真的担心性能问题,请为您经常搜索的列添加索引,例如您的位置。

此外,最好还有另一个存储位置的表,然后只有该表的外键。

在这个行数上性能不佳的一个原因可能是你有非常大的行,例如大nvarchar个,或者你有大的二进制数据(不会存储在行中,所以不会减慢搜索速度)但正在与其他数据一起提取。例如,如果您从数据库中提取100个项目并且每个项目都有4MB的图像,那么您需要花费时间阅读400MB。