繁体   English   中英

SQL Server 2008慢速表,表分区

[英]SQL Server 2008 Slow Table, Table Partitioning

我有一张桌子已经增长到超过一百万条记录...今天(所有有效)

我需要加快速度...表分区会是答案吗? 如果可以,我可以在构建查询时获得一些帮助吗?

该表具有4个bigint值键,并且多数均带有主键索引和userid上的索引desc,其他值最大为139(现在有10,000多名用户)

任何帮助或指示,将不胜感激:)

在考虑分区之前,您应该调查索引并查询工作负载。 如果执行了大量插入操作,则聚集索引可能会碎片化。

即使您使用的是SQL Server Express,您仍然可以使用此免费工具进行分析: Microsoft SQL Server 2005/2008 Express Edition的Profiler

您可能只需要调整查询和/或索引。 一百万条记录不应该给您造成麻烦。 我有一张拥有几亿条记录的表,并且能够保持相当高的性能。 我发现SQL Server事件探查器对这些东西很有帮助。 它可以在SQL Server Management Studio中使用(不幸的是,没有快速版本)。 您也可以执行Query > Include Actual Execution Plan以查看查询期间花费时间的图表。

在此处查看我关于sql表分区的实验[ http://faiz.kera.la/2009/08/02/does-partitioning-improve-performance-for-sql-tables/] 希望这对您有帮助...对于您的情况,1M并不是一个很大的数字。 可能是您需要微调查询,而不是进行分区。

我同意其他意见。 对于相当小的数据库(最大的表1MM记录),如果优化了查询并且其余代码没有滥用冗余查询,则数据库中的任何活动都不太可能提供明显的负载。 这是一个很好的机会,可以了解数据库查询与其余代码之间的相互作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM