Сколько производительность базы данных накладных расходов при использовании LINQ?

голоса
18

Сколько производительности базы данных накладные расходы связаны с использованием C # и LINQ по сравнению с пользовательских оптимизированные запросы, загруженных в основном низкого уровня C, как с SQL Server 2008 бэкэнда?

Я специально думать здесь о случае, когда у вас есть программа достаточно данных интенсивно и будет делать обновление данных или обновление по крайней мере один раз в экран и будет иметь 50-100 одновременных пользователей.

Задан 07/08/2008 в 15:38
источник пользователем
На других языках...                            


2 ответов

голоса
2

Благодаря Стю. Нижняя линия, кажется, что LINQ к SQL, вероятно, не имеет значительные накладные расходов производительности базы данных с более новыми версиями, если вы можете использовать скомпилированные выбрать и более медленные функции обновления, вероятно, будет быстрее, если вы не имеете ДЕЙСТВИТЕЛЬНО острые эксперт делает большую часть кодирования.

Ответил 07/08/2008 в 16:02
источник пользователем

голоса
1

По моему опыту, накладные расходы минимальны, при условии, что человек, пишущий запросы знает, что он / она делает, и принимать обычные меры предосторожности, чтобы гарантировать, что генерируемые запросы являются оптимальными, что необходимые индексы находятся на месте и т.д. и т.п. Другими словами, воздействие базы данных должны быть одинаковыми; существует минимальные, но, как правило, незначительны накладные расходы на стороне приложения.

Тем не менее ... есть одно исключение; если один запрос генерирует множество агрегатов поставщик L2S переводит его в большой запрос с одним из суб-запроса в совокупности. Для большой таблицы это может оказать существенное влияние I / O, как стоимость дб ввода / вывода для запроса растет величинами для каждого нового агрегата в запросе.

Обходной путь для этого, конечно, для перемещения агрегатов в хранимую процедуру или представление. Мэтт Уоррен некоторые примеры кода для альтернативного поставщика запроса, перевод такого рода запросов в более эффективный способ.

Ресурсы:

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=334211

http://blogs.msdn.com/mattwar/archive/2008/07/08/linq-building-an-iqueryable-provider-part-x.aspx

Ответил 16/09/2008 в 08:14
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more