提高SQL Server数据库性能

时间:2012-01-09 07:50:23

标签: sql-server database performance inner-join database-performance

我正在设计一个使用SQL Server 2008 R2作为其后端数据库的报告解决方案。数据库模式非常简单。一个名为CallsCallId PK的表和一个名为Events的表,其与fk_CallId的调用具有外键关联。

每个呼叫至少有6-7个事件,并且每天有3000多个呼叫记录在db中 我有点担心这种关系对查询性能的影响有多大。如果在超过几百万行(inner join)的表上使用Events会严重降低性能,我可以在CallerId表中添加Events字段a不要使用连接(虽然我会在相关的Calls表中丢失一些其他信息)。

一般情况下,我还能采取其他措施来确保性能良好吗?

1 个答案:

答案 0 :(得分:3)

这取决于你的表格 wide

实际上 - 每天3000次通话并不是一个如此大的数据,至少在前十年8次 - )

<强>但

如果你总是想查询你的所有数据 - 应用程序设计错误,并且在某个特定地方提高性能将无法解决所有错误设计的缺点。

步骤如下:

  • 检查正确的索引(至少是已加入(和查询)列的索引
  • 检查您的查询 - 他们会为您带来您想要的数据吗?你想要的唯一数据?