我正在设计一个使用SQL Server 2008 R2作为其后端数据库的报告解决方案。数据库模式非常简单。一个名为Calls
且CallId
PK的表和一个名为Events
的表,其与fk_CallId
的调用具有外键关联。
每个呼叫至少有6-7个事件,并且每天有3000多个呼叫记录在db中
我有点担心这种关系对查询性能的影响有多大。如果在超过几百万行(inner join
)的表上使用Events
会严重降低性能,我可以在CallerId
表中添加Events
字段a不要使用连接(虽然我会在相关的Calls
表中丢失一些其他信息)。
一般情况下,我还能采取其他措施来确保性能良好吗?
答案 0 :(得分:3)
这取决于你的表格 wide 。
实际上 - 每天3000次通话并不是一个如此大的数据,至少在前十年8次 - )
<强>但强>
如果你总是想查询你的所有数据 - 应用程序设计错误,并且在某个特定地方提高性能将无法解决所有错误设计的缺点。
步骤如下: