Я разрабатываю решение для создания отчетов, которое использует SQL Server 2008 R2 в качестве своей базы данных.Схема базы данных довольно проста.Одна таблица с именем Calls
с CallId
PK и одна таблица с именем Events
, которая связана с внешним ключом для вызовов с fk_CallId
.
В каждом вызове есть как минимум 6-7 событий, и в дБ регистрируется более 3000 вызовов в день.
Я немного беспокоюсь о том, насколько сильно это отношение влияет на производительность запросов.Если использование inner join
в таблице с более чем несколькими миллионами строк (Events
) приведет к значительному снижению производительности, я мог бы добавить поле CallerId
в таблицу Events
, не используя объединения (хотя япотеряет некоторую другую информацию в связанной таблице Calls
).
В общем, есть ли другой шаг, который я могу сделать, чтобы убедиться, что производительность в порядке?