Linq vs Stored Procedure

Programming
Предыдущий Следующий

На данный момент я активно использую LinqToSQL как основную свою ORM. Но в одном из проектов пришлось работать из очень большим количеством данных. 12 таблиц по 10 000 записей, которые связаны между собой и связь эта не простая.

LinqToSQL

Программа была написана и выборки в ней были реализованы на Linq запросах. При малом количестве данных все работало нормально, но когда их количество возросло за 40 000, программа падала.

И тогда и пришла идея оптимизации, а именно перевести большие запросы (где куча join) на хранимые процедуры(Stored Procedure). Но перед этим был проведен тест. Было создано два одинаковых запроса на Stored Procedure и Linq, запросы возвращали по 50 000 записей. Так вот Linq его делал за 00:00:05.638 сек, а Stored Procedure за 00:00:01.672 сек, что намного быстрее.

Прошу заметить, что это только для больших запросов, в остальном случаи лучше использовать Linq.

Самостоятельный отпуск Опыт заказа вывоза мусора в Киеве Магія зміни: Від ночі до дня
Магія Вечірнього Неба: Відлякуйте втомленість дня і зануртеся у світ загадок і краси