![]() |
|
Модераторы: gambit |
![]()
|
|
| Lantern |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 16.2.2010 Репутация: нет Всего: нет |
Я набросал 2 ASP.NET приложения с использованием LINQ. Одно соединяется с MS SQL Server, другое – со структурой в памяти.
Оба приложения работают с таблицей в 500 тыс. записей, запись 3 поля типа int. Контролы стандартные: GridView и ObjectDataSource. Измеряю среднее время, необходимое на отработку постраничного вывода. Приложение LINQ + MS SQL дает среднее время 0.1 сек на каждое переключение страницы. Приложение LINQ + память дает среднее время 0.8 сек на каждое переключение страницы. Странным образом, приложение, работающее с памятью работает в 8 раз медленнее, чем приложение, работающее с диском. Получается, что кэширование замедлило доступ. Интересно, почему? Присоединённый файл ( Кол-во скачиваний: 5 )
LINQ.rar 62,67 Kb |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
OrderBy по ID в сиквеле использует индекс (праймари кей же!), а для in memory реализации производтся сортировка всех этих записей при каждом OrderBy (ну точнее при енмуерации значений физически, но да ладно). Причём не только нужных (тех, которые до нужной страницы плюс сама страница), а всех (так работает OrderedEnumerable).
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |