Производительность операций агрегации SQL VS C # - PullRequest
0 голосов
/ 17 мая 2011

Я пишу процедуру Store с операциями SUM, AVG для миллионов данных с группировкой по 3-5 столбцам.Мне интересно, если я делаю это в C #, это означает, что если я только читаю данные из базы данных в объекты C # и делаю вычисления (сумма, среднее значение) в объекте (или датируемые).Повысит ли это производительность?

Мне нравится создавать более быстрые приложения.

Заранее спасибо.Shuvra

Ответы [ 2 ]

11 голосов
/ 17 мая 2011

Базы данных созданы для эффективной сортировки, выбора и группировки данных.Пусть это сделает работу, для которой это построено.Если вы делаете это в коде C #, вы сначала должны попросить базу данных доставить все данные, а затем передать ее клиенту.Это будет намного медленнее, чем просто позволить БД выполнить расчет.

5 голосов
/ 17 мая 2011

Было бы намного лучше, с точки зрения производительности, выполнить сумму, среднюю операцию в вашей Процедуре хранения. Потому что, если вы хотите выполнить эти операции с использованием C #, вам нужно извлечь миллион записей, и на миллионе записей у вас будет операция sum, avg, которая определенно снизит производительность в гораздо большей степени, тогда как если вы выполните суммирование операций avg в SP, вам нужно только получить итоговые записи и, таким образом, использовать меньшую пропускную способность и повысить производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...