ADO.net dataSet or SELECT

скажите что лучше, что быстрее и менее ресурсоемкое... Как лучше искать информацию: использовать dataTable доставать столбцы и искать нужную инфу или делать запрос в БД через SELECT и потом запихивать етот запрос в dataTable (или DataSet) и выводить?

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
2 nobody:

Резонный вопрос -, а зачем? Вам же объяснили — если нужен быстрый доступ к данным — юзаем ридер, если нужно использовать данные в отключенном состоянии — юзаем датасет. Хотя ИМХО датасет уже устарел — удобен только тогда, когда нужно имплементировать что-то очень быстро. Лучшим вариантом будет разработка собственного набора бизнес-объектов или использование LINQ2SQL или Entities Framework.

а можно как то связать SqlDataReader с DataSet или DataTable... или он только с самой БД работает?

Все зависит от конкретной задачи. Но! SqlDataReader, быстрее на несколько порядков (проверенно на практике). А если нужна повторная фильтрация отобранных данных LINQ вам в руки.

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

хм..., а хіба можна використовувати DataSet і SqlDataReader...?

просто продумав нащо використовувати зчитування + порывння + запаковування знов в DataSet якщо можна просто скористатись Select... From...

я не мав на увазі Веб-БД... БД в мене на компі...

Найшвидший спосіб отримати дані з БД за допомогою DataReader. Його краще використовувати для однаразового зчитування даних. Коли потрібно зчитати великий об’єм даних і потім його редагувати то краще використовувати Dataset. DataSet — представлення ваших даних з БД у памяті.

Исходя из простой логики:
При использовании DataTable для поиска повышается нагрузка на СУБД для вывода результатов запроса который все равно выполняется, повышается сетевой трафик до сервера с СУБД, повышаются требования к памяти и процессорному времени Web-вервера. Но это справедливо лишь при единичном поиске. Если же требуется серия поисковых операций по одной таблице то в зависимости от ситуации поиск на стороне программы-клиента повысит производительность за счет отсутствия повторных запросов к БД, да и трафик к серверу баз данных снизится.

Это мое мнение, если кто-то знаком с темой лучше рад выслушать критику:)