Когда лучше писать запросы непосредственно в коде, а когда лучше вынести их в процедуры? Делаю WCF службу, которая должна тянуть данные из MS SQL и отвечать на запросы клиентов и озадачился
Когда лучше писать запросы непосредственно в коде, а когда лучше вынести их в процедуры
Пытался найти какие-то паттерны, которые дают рекомендации, но не нашел..
Я выделил 3 возможных решения и их проблемы
-Если писать все подряд в коде, то код будет ,на мой взгляд, грязным, так как в нем будет много всего, что не входит в специфику языка
-Если писать все в процедурах, то в процедурах будет много банальностей(Select * from User)
-Если писать элементарные запросы в коде, а сложные выносить в процедуры, то , наверное, код станет тяжелее сопровождать. Есть и еще 1 проблема: как отделить элементарные запросы от сложных? Конструкция из 4 JOIN считается сложной
Я , лично, склоняюсь к 3 варианту, но существуют ли какие-то соглашения для определения сложности запросов
Как вы решаете, что нужно выносить в процедуры, а что нет?Что рекомендуется оставлять в коде
Сам я планирую использовать паттерн Data Mapper
ОРМ я использовать не планирую(Если только даппер, для удобства использования запросов), так как он сам-то по себе где-то хорош, но когда дело доходит до соединений, то выглядит это ужасно, да и сам по себе запрос не оптимальны может составиться, на мой взгляд чистый SQL запрос наиболее красивее выглядит .

21 Авг 2019 в 07:05
219 +1
0
Ответы
1

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

Вот несколько рекомендаций по выбору между написанием запросов непосредственно в коде и вынесением их в процедуры:

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

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

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

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

Наконец, важно помнить, что выбор между написанием запросов в коде и их выносом в процедуры зависит от конкретной ситуации и требует баланса между производительностью, читаемостью и удобством поддержки кода.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 620 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир