2009-05-03 73 views
0

我有一个已发展到超过100万条记录的表...今天(全部有效)SQL Server 2008中慢速表,表分区

我需要加快步伐......将表分区是答案?如果是这样,我可以帮助建立查询?

表有4个BIGINT值键与索引的主键和用户标识一个指数递减的其他值都在最高139这就是所有的(现在有刚刚超过10,000个用户)

任何帮助或方向将不胜感激:)

+0

你能告诉我们表结构,一些示例查询速度慢,所有现有的索引? – sisve 2009-05-03 05:39:24

+0

我们不能回答:没有足够的信息。基于您的评论如下:SQL Server的错误版本,不使用本机SQL,没有发布架构或索引。 – gbn 2009-05-03 06:43:38

回答

1

您可能只需要调整您的查询和/或索引。 100万条记录不应该引起你的问题。我有一个有几亿记录的表&能够保持相当高的表现。我发现SQL Server分析器对这个东西非常有帮助。它在SQL Server Management Studio中可用(但不幸的是,不是快速版本)。您也可以通过Query > Include Actual Execution Plan查看查询期间在哪里花费时间的图表。

2

在考虑分区之前,应该调查索引和查询工作负载。如果您已经完成了大量的插入,您的聚集索引可能会被分段。

即使您使用SQL Server Express你仍然可以使用配置文件这个免费工具:Profiler for Microsoft SQL Server 2005/2008 Express Edition

0

我同意的其他意见。使用合理小的数据库(最大表1MM记录),如果查询得到优化并且其余代码不会滥用具有冗余查询的数据库,那么数据库中的任何活动都不应该提供明显的负载。这是了解数据库查询与其他代码之间相互作用的好机会。