Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Запрос к БД из приложения и напрямую?


Автор: transkriptsiya 1.5.2013, 22:47
Изучаю C#, вычитал такую  штуку по поводу обработки SQL запросов

Можно написать код  так что SQL запрос выполнит БД и нам уже вернет результат (что будет быстрее)
А можно , что написанное нами приложения будет выполнять обработку запроса. (что медленнее и канал связи грузит)

Подскажите, верней даже хотелось бы увидеть  два  маленьких кода , что бы понять о чем идет речь и сравнить коды?

и в каких случаях эффективнее использовать второй вариант?

Автор: diadiavova 2.5.2013, 09:20
Не знаю, что имел в виду автор, но по всей видимости в обоих случаях запрос посылается, но в первом обработка ведётся на стороне базы и приложению приходит нужный набор данных, а во втором - данных приходит больше, или они просто не обработаны и приходится часть работы на стороне клиента выполнять. Ну к примеру 
Код

SELECT * FROM orders WHERE orderdate BETWEEN '20120101' AND '20130101'
Получишь заказы за 2012 год, но можно послать запрос без where, получить все заказы и отбирать нужные в коде приложения. В каких случаях может оказаться полезным последний подход - сказать трудно. Иногда, конечно бывают ситуации, когда требуется сохранить независимость от платформы бд, а фильтрацию выплнят с помощью функций, поддерживаемых не всеми платформами, ну скажем если надо отобрать записи, содержащие текстовое поле, удовлетворяющее некоторому регулярному выражению, тут выбор стратегии будет не всегда однозначным.

Автор: jonie 19.6.2013, 23:26
Цитата(diadiavova @  2.5.2013,  10:20 Найти цитируемый пост)
В каких случаях может оказаться полезным последний подход - сказать трудно.

я думаю в случае мелких справочников, которые могут быть закешированы и отдаваться клиентам по их запросам с их же фильтрами (чтобы базу не грузить простыми, но многочисленными запросами).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)