Sql server 2012 SQL Server 2012查询性能

Sql server 2012 SQL Server 2012查询性能,sql-server-2012,Sql Server 2012,我将很快启动一个使用SQL Server 2012的项目,在该项目中,我将被要求仅在其中一个表中提供对超过40亿条记录的数据库表的实时查询。我对SQL Server相当熟悉(我在相关列上有索引),但以前从未处理过如此大的数据库 我一直在研究分区,并且对使用它相当有信心,但是它只在企业版(?)中可用,因为许可证太贵了。列存储索引看起来也很有希望,但除了在企业版中,它们还使表只读(??)。另一种选择是在live中不使用数据时立即存档数据,以便我在live表中保留尽可能少的数据 最大表上的主要查询将在

我将很快启动一个使用SQL Server 2012的项目,在该项目中,我将被要求仅在其中一个表中提供对超过40亿条记录的数据库表的实时查询。我对SQL Server相当熟悉(我在相关列上有索引),但以前从未处理过如此大的数据库

我一直在研究分区,并且对使用它相当有信心,但是它只在企业版(?)中可用,因为许可证太贵了。列存储索引看起来也很有希望,但除了在企业版中,它们还使表只读(??)。另一种选择是在live中不使用数据时立即存档数据,以便我在live表中保留尽可能少的数据


最大表上的主要查询将在
NVARCHAR(50)
列上,该列包含一个ID。对40亿条记录进行初始测试,使用查询根据ID提取单个记录,即使使用索引,也需要超过5分钟。所以我的问题是(如果这听起来很幼稚的话,很抱歉!):有人能提出一种方法来加速这个表上我没有提到(因此也不知道)的查询吗?非常感谢。

听起来不太对。假设每页100条索引记录,索引只需要6或7个级别就可以支持40亿行,所以我看不出单次查找需要5分钟的时间。显示了多少个逻辑读取?在这5分钟内会出现什么样的等待类型?返回一条记录的5分钟时间看起来确实很长,我敢打赌,您拥有的索引要么没有被使用,要么某些统计数据已经过时,要么您可能存在IO问题。你能把查询的实际执行计划公布给我们看一下吗?