我正在设计一个报告解决方案,它使用 SQL Server 2008 R2 作为后端数据库。数据库模式相当简单。一张名为 Calls 的表格,其中 CallId 是主键,还有一张名为 Events 的表格,该表格与 Calls 有外键关联,外键是 fk_CallId。
每个通话至少有6-7个事件,每天在数据库中记录的通话数量超过3000个。 我有点担心这种关系对查询性能的影响。如果在具有数百万行(Events)的表格上使用内部连接会严重降低性能,那么我可以将 CallerId 字段添加到 Events 表格中,不使用连接(尽管我将失去一些相关 Calls 表格上的信息)。
总的来说,我能做什么来确保性能良好吗?
每个通话至少有6-7个事件,每天在数据库中记录的通话数量超过3000个。 我有点担心这种关系对查询性能的影响。如果在具有数百万行(Events)的表格上使用内部连接会严重降低性能,那么我可以将 CallerId 字段添加到 Events 表格中,不使用连接(尽管我将失去一些相关 Calls 表格上的信息)。
总的来说,我能做什么来确保性能良好吗?
events
表格中有7,000,000+行。 - Kamyar