ADO.net dataSet or SELECT
скажите что лучше, что быстрее и менее ресурсоемкое... Как лучше искать информацию: использовать dataTable доставать столбцы и искать нужную инфу или делать запрос в БД через SELECT и потом запихивать етот запрос в dataTable (или DataSet) и выводить?
8 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівРезонный вопрос -, а зачем? Вам же объяснили — если нужен быстрый доступ к данным — юзаем ридер, если нужно использовать данные в отключенном состоянии — юзаем датасет. Хотя ИМХО датасет уже устарел — удобен только тогда, когда нужно имплементировать что-то очень быстро. Лучшим вариантом будет разработка собственного набора бизнес-объектов или использование LINQ2SQL или Entities Framework.
а можно как то связать SqlDataReader с DataSet или DataTable... или он только с самой БД работает?
Все зависит от конкретной задачи. Но! SqlDataReader, быстрее на несколько порядков (проверенно на практике). А если нужна повторная фильтрация отобранных данных LINQ вам в руки.
Для того, чтоб иметь быстрый доступ к данным в оперативной памяти, больше ничего. Выбор зависит от конкретной задачи.
просто продумав нащо використовувати зчитування + порывння + запаковування знов в DataSet якщо можна просто скористатись Select... From...
я не мав на увазі Веб-БД... БД в мене на компі...
Найшвидший спосіб отримати дані з БД за допомогою DataReader. Його краще використовувати для однаразового зчитування даних. Коли потрібно зчитати великий об’єм даних і потім його редагувати то краще використовувати Dataset. DataSet — представлення ваших даних з БД у памяті.
При использовании DataTable для поиска повышается нагрузка на СУБД для вывода результатов запроса который все равно выполняется, повышается сетевой трафик до сервера с СУБД, повышаются требования к памяти и процессорному времени Web-вервера. Но это справедливо лишь при единичном поиске. Если же требуется серия поисковых операций по одной таблице то в зависимости от ситуации поиск на стороне программы-клиента повысит производительность за счет отсутствия повторных запросов к БД, да и трафик к серверу баз данных снизится.
Это мое мнение, если кто-то знаком с темой лучше рад выслушать критику:)