【发布时间】:2017-04-04 12:46:05
【问题描述】:
我在“SQL Server 2008 R2”中有一个数据库,它的大小约为 5 TB,并且它的大小不断增长。 我在 tbl1 上运行具有数亿行的简单查询时遇到了一些问题:
select x1,x2,x3
from tbl1
where date > '2017-04-03 00:00:00.000' and date < '2017-04-04 00:00:00.000'
and mid = 300
此查询大约需要 20 秒。
我在 date 和 mid 列上有两个非聚集索引,这个查询利用了它们。
在此表中提高select 和insert 性能的最佳想法是什么? (如自动分区)
我正在使用Entity Framework,所以我不想更改表的名称或将其分区为一些不同的名称。
感谢您的帮助。
【问题讨论】:
-
您使用的是哪个版本的sql-server-2008-r2?
-
@MikeNakis:Microsoft SQL Server 企业版(64 位)
-
哦,旗舰。你很幸运,因为这个版本在分区方面做了所有事情。
标签: sql-server indexing sql-server-2008-r2 database-performance partitioning