Стоимость запросов для идентичных таблиц в SQL Server сильно отличается.
В моем решении две таблицы с почти одинаковым количеством строк и одинаковым объемом данных. Но когда мы сравниваем стоимость запроса, это показывает огромную разницу. Когда мы объединяем 2-ю таблицу с любой другой таблицей, время выполнения очень велико, а иногда вдвое больше.
Обе таблицы имеют первичные столбцы, соответствующие индексы.
Стоимость запроса: затраты таблицы 1 - 23%, затраты таблицы 2 - 77%
Количество строк: строки таблицы 1- 668458 (общий размер 909,45 МБ), строки таблицы 2 - 697306 (общий размер 877,89 )
Стоимость выполнения запроса
Таблица занятого размера
Результат от SET STATISTICS IO/SET STATISTICS TIME
Таблица 1
SQL Server parse and compile time: CPU time = 0 ms, elapsed time = 1 ms.
(687841 row(s) affected) SQL Server Execution Times: CPU time = 3750 ms, elapsed time = 6501 ms.
(687841 row(s) affected) Table 'ClaimReferenceDetails'. Scan count 1, logical reads 8827, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Таблица 2
SQL Server parse and compile time: CPU time = 0 ms, elapsed time = 0 ms.
(660236 row(s) affected)
SQL Server Execution Times: CPU time = 7125 ms, elapsed time = 14358 ms.
(660236 row(s) affected)
Table 'ClaimTransactions'. Scan count 1, logical reads 29507, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.