Самый быстрый способ сбора данных из БД? - PullRequest
1 голос
/ 10 ноября 2011

Работа над C #. В моем приложении несколько раз нужно выбрать \ собрать данные из БД. Для этой задачи я делаю следующий шаг

1)Write SP 
2)Execute the Sp 
3)Fill result to Generic collection(ORM)
4)By the collection Bind the control

Я хочу знать, есть ли какой-нибудь механизм или техника \ Продвинутая техникаДоступна помощь по сбору данных из базы данных. Заранее спасибо

Ответы [ 2 ]

1 голос
/ 10 ноября 2011

Когда я снова и снова быстро нажимаю на db. Тогда его производительность становится узким местом. Что делать?

Похоже, вы должны кэшировать некоторые результаты.В приложениях с высокой нагрузкой кэширование даже на несколько секунд может сильно повлиять на производительность.Существует множество кеш-решений.если это веб-приложение, то встроенный http-контекст .Cache должен быть в порядке (.NET 4.0 добавляет MemoryCache, чтобы сделать то же самое удобнее в не-веб-приложениях).

Повторная загрузка данных;Вы упоминаете ORM - в нашем опыте мы находим, что большинство ORM действительно являются узким местом для «горячих» путей кода - тема, о которой я говорю через несколько часов, как это происходит.Поскольку мы столкнулись с этой проблемой, мы написали специально простую, но действительно действительно быструю микро-ORM , dapper-dot-net .Он не такой многофункциональный, как некоторые полные ORM, но если вы пытаетесь быстро загрузить данные для отображения, он идеально подходит.


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

0 голосов
/ 10 ноября 2011

Да, но единственным исключением является использование DataReader или DataTable.

Например datareader полезен для ограниченного просмотра строк из извлекаемой большой коллекции.

Однако Datatable важен, если применять функции к полному набору данных.

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

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