Производительность XLinq против SqlDataReader - PullRequest
0 голосов
/ 17 декабря 2009

В качестве части попытки исправить вещи в довольно испорченной устаревшей системе у меня есть метод, который вызывает хранимую процедуру в нашей базе данных SQLServer. Ничто в этой установке не идеально, но это то, с чем я должен работать. У меня есть два варианта: использовать SqlDataReader для чтения потока в виде строк из базы данных или для передачи ответа в виде фрагмента xml. Несмотря на то, что xml никогда ничего не решал (вставьте здесь симпатичное подмигивание), я склоняюсь к тому, чтобы выбрать этот вариант и использовать XLinq для создания своих бизнес-объектов из данных, просто потому, что это решение будет выглядеть не так, как кого-то вырвало на экран. ;)

Однако меня беспокоит то, что при таком подходе возникают проблемы с производительностью. Есть ли кто-нибудь с опытом в этом, который может мне помочь? Может ли Xlinq замедлить мой и без того медленный код?

Ответы [ 2 ]

2 голосов
/ 17 декабря 2009

С точки зрения производительности, SqlDataReader - правильный выбор.

Эстебан Гарсия провел несколько тестов, как и Бен Ходсон . Результаты довольно убедительны, хотя они не включают XLinq.

1 голос
/ 17 декабря 2009

Вы также можете использовать Linq To Datasets. Таким образом, вы можете использовать Linq API, и вам не нужно изменять свой STP. Тем не менее, по производительности это уступает SqlDataReader.

...