powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Где лучше обрабатывать строки - на сервере или в приложении?
25 сообщений из 33, страница 1 из 2
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563785
fgarfield
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго всем времени суток!
Возник такой вопрос. Скажем, у меня в SQL Server есть представление (с данными для клиентского приложения C#) со следующими столбцами: Наименование, Производитель, Цена . В приложении я хочу отображать все эти 3 данных в одном столбце. Как правильнее поступить - добавить в представление ещё один вычисляемый столбец с конкатенацией этих столбцов или же конкатенировать их уже в приложении? и почему?
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563796
AlanDenton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В приложении у Вас есть String.Format. А чтобы лишних вопросов не возникало почитайте про нормализацию данных (три нормальные формы и тд).
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563798
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fgarfield,

вам все комбинации ситуаций перечислить и все последствия? Какую конкретно задачу решаете?
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563802
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fgarfieldДоброго всем времени суток!
Возник такой вопрос. Скажем, у меня в SQL Server есть представление (с данными для клиентского приложения C#) со следующими столбцами: Наименование, Производитель, Цена . В приложении я хочу отображать все эти 3 данных в одном столбце. Как правильнее поступить - добавить в представление ещё один вычисляемый столбец с конкатенацией этих столбцов или же конкатенировать их уже в приложении? и почему?
Коллега, вот даже с точки зрения нагрузки на сеть. У Вас есть 100 строк с 2 столбцами по 1000 символов. Вы внутри view добавляете третий в 2000 символов как связку первых двух. При селекте по сети полетит в сторону клиента уже 100 строк по 4000 символов в каждой вместо 2000 символов в каждой.
А оно Вам таки надо?
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563817
fgarfield
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,
AlanDenton,

Есть разные формы отчетов, по которым формируется отчетный перечень товаров. Данные для этих перечней приложение берёт из представления SQL Server. В некоторых формах для экономии места присутствуют составные столбцы, например "Наименование/Производитель/Цена". То есть это типовой столбец, жестко определенный. Вот передо мной и встал выбор - где собирать этот столбец: на сервере или в приложении. В приложении пользователь должен отмечать галочками нужные для отчета столбцы. Вариант собирать такие столбцы на сервере мне нравится больше, потому что этих галочек довольно много, и мне проще написать динамическое создание чек-боксов, чтобы при изменении этих столбцов ничего не менять в коде приложения.
Вот мне и стало интересно - правильный ли это подход (с точки зрения быстродействия, например)
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563819
fgarfield
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andy_OLAP,

Спасибо за ответ. А с точки зрения процессора - где выгоднее делать такие операции - на сервере или на клиентском ПК?
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563883
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fgarfieldВариант собирать такие столбцы на сервере мне нравится больше...
Вот мне и стало интересно - правильный ли это подходПравильный.

Подумайте над:
- В дальнейшем данные в таком виде понадобились на стороне сервера.
- Изменились правила конкатенации. Если делать на клиенте потребуется перекомпиляция приложения. Если на сервере - только изменить представление.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563893
dvim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlanDentonпочитайте про нормализацию данных
Вопрос Тс проще - данные склеивать в запросе или уже на клиенте.

Мне кажется, что простые операции - в запросе.
Если операции строковые сложные, то можно и на клиенте.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563901
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вот считаю, что все, что можно выполнить штатными средствами сервера надо делать на сервере.
Абстрактно, логику предоставления данных надо держать на уровне представления в одном месте.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563925
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если есть повторное использования вычисляемых колонок в разных отчетах, то лучше формировать на сервере. Сервер, как правило, мощнее ПК и при этом проще сопровождать проект, если изменится вычисляемый набор.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563935
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лично я давно забил на best-practices и всю бизнес-логику реализую на сервере, и преобразования - на сервере.
Потому что pivot любую фичу на SQL написать легче, чем компоненту на клиенте, которая эту фичу отрисует.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563937
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовЕсли есть повторное использования вычисляемых колонок в разных отчетах, то лучше формировать на сервере. Сервер, как правило, мощнее ПК и при этом проще сопровождать проект, если изменится вычисляемый набор.
Все верно. Только вот у автора темы задача другая "со следующими столбцами: Наименование, Производитель, Цена. В приложении я хочу отображать все эти 3 данных в одном столбце.".
И именно поэтому склеивать числовые цены в текстовые представления нужно на клиенте. Потому что сервер выдаст наименование "товар1" и производителя "производитель2" и цену 1234.56. А клиент - по выставлению разных галочек - один захочет увидеть как "товар1;производитель2;1,234.56", другой захочет "Товар1 /10 пробелов/ Производитель1 /5 пробелов/ 1.234,56", а третий захочет "ТОВАР1|ПРОИЗВОДИТЕЛЬ2|1 234.56".
Потому что это не логика, а показ в склеенном виде так, как хотят увидеть . И возможно дальше скопировать в Excel и обработать.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563939
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy_OLAP.
Потому что это не логика, а показ в склеенном виде так, как хотят увидеть . И возможно дальше скопировать в Excel и обработать.
Но поскольку все это хранится... на сервере (*chimes*), то проще отдавать клиенту уже все в готовом виде, реализовав склейку на сервере, чем реализовывать логику склейки на клиенте. потому что в идеале должно быть - DB (данные) - middle ware (преобразование) - client (вывод/ввод). А раз нет середины, где реализовывать функционал - на откуп погромиста.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563940
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy_OLAP,

а потом какой либо еще клиент захочет видеть "товар1;производитель2;1,234.56$" и вы ради одного единственного знака "$" полезете компилировать клиента? классно.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563941
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fgarfieldAndy_OLAP,

Спасибо за ответ. А с точки зрения процессора - где выгоднее делать такие операции - на сервере или на клиентском ПК?
Слейку текстовых символов выгоднее делать на клиенте, зная точно архитектуру его CPU, длину регистров, размер кэша L1 и подставляя уникальные конкретно для него инструкции в машинном коде, написанные на c/c++ и ассемблере. Точно понимая, что сервер перегружен, все его ядра заняты, а на CPU клиента малая загрузка потоков в ядре и не будет сбиваться конвейер инструкций.
Ну это если совсем академично подойти к данному вопросу.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563945
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, и вот у тебя есть клиент для винды, клиент для мака, клиент для ведроида, и клиент для иоса.
И при очередной хотелке бизнеса типа "поменять Иванов И.И. на И.И. Иванов" ты поехал пересобирать 4 клиента вместо апдейта одной вьюхи. Норм план.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563946
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ffAndy_OLAP,

а потом какой либо еще клиент захочет видеть "товар1;производитель2;1,234.56$" и вы ради одного единственного знака "$" полезете компилировать клиента? классно.
Именно! Только так! Клиент ВСЕГДА прав. Выложил деньги за товар - и я не только ему ПО перекомпилирую, но еще и при этом станцую Хава-нагилу, при всем моем почтенном возрасте, да еще и спою как Лучано Паваротти.
Или заранее продумаю галочки, при которых будет и "$", и ",", и "." как разделители. Все для любимых клиентов - это не руководители нам зарплату платят, а они платят. Из их кармана наши премии и бонусы. И это нужно помнить.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563948
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CammomileАга, и вот у тебя есть клиент для винды, клиент для мака, клиент для ведроида, и клиент для иоса.
И при очередной хотелке бизнеса типа "поменять Иванов И.И. на И.И. Иванов" ты поехал пересобирать 4 клиента вместо апдейта одной вьюхи. Норм план.
Минимум безработицы, максимум прибыли, клиент при этом считает деньги и думает - ему заранее прописать в ТЗ, чтобы "поменять Иванов И.И. на И.И. Иванов" менялось одной галочкой, или отказаться от этой идеи как бредовой.
Но я не брезгливый. И шекели не пахнут. Нужно реализовывать хотелки бизнеса не бесплатно, а за счет денег бизнеса - таки разве я против? Таки всегда пожалуйста.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563950
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только у нас тут форум не про то, как доить бизнес, а про то, как писать вменяемые коды.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563951
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

*ищет свой попкорн*


И тут Остапа понесло.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563954
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CammomileТолько у нас тут форум не про то, как доить бизнес, а про то, как писать вменяемые коды.
Нет, коллега, у нас тут форум и про то, как писать вменяемые коды и потом на кафедре программирования рассказывать про это студентам, и форум про то, как реализовывать хотелки бизнеса за его деньги.
А что значит "доить бизнес"? Лицензии SQL Enterprise вместо SQL Standard - доить? Поменять view на сервере - доить? Или Вы view будете бесплатно менять?
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563958
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

А потом приходит еще раз заказчик и говорит - Иванову показывайте цену как "1,234.56", а Петрову как "1 234,56". Они потом выгрузку разным получателем будут отправлять, а копипастить из окошка ПО.
И Вы такой гордый весь в белом - "я сейчас view поменяю, и Иванов с Петровым будут унифицированным вариантом пользоваться. И не нужны мне Ваши деньги, я не собираюсь Вас доить, все сделаю бесплатно и однотипно. Мне так виднее, я творец"...
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563965
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Десктоп-приложение но все равно оно web Мне кажется, вам сюда, коллеги :)
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563969
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy_OLAP,

на случай вариативности - я постараюсь заранее спроектировать систему так что бы потом не обосраться кирпичами лезть в исходники лишний раз. необходимо правильно выстраивать приоритеты коллега и ценить собственное время. MVVM не зря был придуман.
...
Рейтинг: 0 / 0
Где лучше обрабатывать строки - на сервере или в приложении?
    #39563972
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ffAndy_OLAP,

на случай вариативности - я постараюсь заранее спроектировать систему так что бы потом не обосраться кирпичами лезть в исходники лишний раз. необходимо правильно выстраивать приоритеты коллега и ценить собственное время. MVVM не зря был придуман.
Так я согласен с Вами полностью. Но если у автора темы нет сервера приложений - где ему текстовые поля клеить, внутри view жестко однотипно для всех клиентов, или внутри ПО, где галочками можно предусмотреть хотя бы несколько типовых вариантов склейки? В данном конкретном примере считаю view злом большим, чем все прочие...
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Где лучше обрабатывать строки - на сервере или в приложении?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]