Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 5 6 7 8 9 10 [11] 12 13 14   вперед  Ctrl
 Re: использование хранимых процедур  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
locky
Более того. мне кажется, что даже если я дам вам код и спрошу "что здесь не так" - вы мне не сможете ответить.


UPDATE WHBATCH SET ST=-1,PDATE=getdate(),POWNER='@OWNER'  WHERE ID = :ID and WHST=2;
что здесь не так?
1 ноя 09, 01:26    [7867329]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
ЛП
Guest
2 locky
ЛП
Ну так и сделайте, чтобы база - не тормозила. И выдерживала нагрузку из многих несложных запросов.

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

А не надо (Вам - не надо) оптимизировать то, что делают девелоперы.
Претензии к тому, что база тормозит - сделайте так, чтобы база не тормозила.
База справляется с нагрузкой из множества легких запросов - всё, спасибо, до свидания. Если база не тормозит, а application layer тем не менее еле дышит - ну и претензии будут к создателю application layer. А вовсе не к местному Наполеону на должности админа. Наполеон свою работу выполнил.

ЛП

Девелоперы будут переписывать ресурсоемкие куски.

А прелесть иногда состоит в том что - нету их, ресурсоемких запросов :)

Я не говорил "ресурсоёмкие запросы".
Но даже если их не было, этих ресурсоёмких запросов - они могут появится, стараниями девелоперов, или DB-девелоперов, но никак не стараниями админа.

Странно. Создание запросов доверили же девелоперу, для которого представляет сложность хотя бы просто спросить - как следует делать. Я уж не говорю о том, чтобы почитать что-нить по теме.

Ну это тем более не входит в компетенцию местного Наполеона - заботиться о профессионально уровне девелоперов. Об этом позаботятся либо они сами, либо их руководитель (в плохих случаях отдел кадров).

ЛП
Нет, в той конторе взяли девелопера - спеца по другой БД. Ну и студентов подтянули до нужного уровня.

А нафига ж там брали то "спеца по другой БД"? Девелоперы бы сами справились - классы, ооп, лейеры, тайеры, все дела....

Ну да, классы, лейеры, тайеры. Там была куча лейеров, но увы всего два тайера. И куча оракл-наполенов вместо искомого оракл-админа (девелопер типо был).
1 ноя 09, 01:55    [7867344]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
ЛП
А не надо (Вам - не надо) оптимизировать то, что делают девелоперы.
Претензии к тому, что база тормозит - сделайте так, чтобы база не тормозила.

:) Порадовали.
Оптимизировать - не надо.
Надо, чтобы не тормозило

затейник вы, батенька.
Однако, по прежнему - чудеса у нас в соседнем разделе
1 ноя 09, 02:03    [7867347]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
iscrafm
locky
Более того. мне кажется, что даже если я дам вам код и спрошу "что здесь не так" - вы мне не сможете ответить.


UPDATE WHBATCH SET ST=-1,PDATE=getdate(),POWNER='@OWNER'  WHERE ID = :ID and WHST=2;
что здесь не так?


declare @B bit
set @b = null

что здесь не так?

зы а у вас, по меньшей мере, не указана схема. что, вообще говоря, не есть гуд.
Плюс есть еще один момент, озвучивать который я не буду, дабы не вызывать "праведный гнев" и вопли "документировать надо!". Знаем мы как девелоперы документацию ведут :)
1 ноя 09, 02:06    [7867348]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
ЛП
Guest
2 locky
ЛП
А не надо (Вам - не надо) оптимизировать то, что делают девелоперы.
Претензии к тому, что база тормозит - сделайте так, чтобы база не тормозила.

:) Порадовали.
Оптимизировать - не надо.

Для тупых повторяю:
Вам (админу) не надо оптимизировать то, что сделали девелоперы.

Надо, чтобы не тормозило

Ага. Надо, чтобы сервак справлялся с нагрузкой из кучи мелких запросов к базе, в которой дцать таблиц с данными и ноль целых хер десятых кода.
Справились - спасибо, до свидания.
Не справились - тем более до свидания, но уже без спасибо.
1 ноя 09, 02:12    [7867351]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
ЛП
Для тупых повторяю:
Вам (админу) не надо оптимизировать то, что сделали девелоперы.

Можете повторить это еще раз. М.б., скажем, те же девелоперы наконец-то поймут, мол "самим нужно думать"


ЛП
Ага. Надо, чтобы сервак справлялся с нагрузкой из кучи мелких запросов к базе, в которой дцать таблиц с данными и ноль целых хер десятых кода.

Чудеса, друг мой, они в соседнем разделе
Точнее, не то чтобы в соседнем разделе - но за совершенно иные деньги. По больше части - за железо. Советы я могу и бесплатно дать, так уж и быть :)
1 ноя 09, 02:16    [7867352]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
ЛП
Guest
2 locky
Точнее, не то чтобы в соседнем разделе - но за совершенно иные деньги. По больше части - за железо.

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

Советы я могу и бесплатно дать, так уж и быть :)

... зато ненужные советы железо даже и не пытается давать. И не рассуждает - кому, сколько и каких книжек читать.
1 ноя 09, 02:32    [7867357]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
ЛП
2 locky
Точнее, не то чтобы в соседнем разделе - но за совершенно иные деньги. По больше части - за железо.

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

Советы я могу и бесплатно дать, так уж и быть :)

... зато ненужные советы железо даже и не пытается давать. И не рассуждает - кому, сколько и каких книжек читать.

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

Дело в том, что однажды появляется умнейший девелопер, который отлично постиг дао ООП, разбирается в сетерах и гетерах, знает всё об экономии памяти и бизнес объектах.
И в лучший традициях сей студиоус лабает датаакцеслейер (для презентейше тайера), при помощи ОРМ (а также WPF и прочих модных штук).
И вместо банального до тошноты запроса select * from SomeTable, призванного извлечь пару сотен записей из настроечной таблички (к примеру), сей зело разумный отрок генерирует пару десятков тысяч простых запросов (например - получить список идентификаторов записей, дабы составить список объектов; для экономии памяти сей отрок не вычитывает всё содержимое строки за раз, а пишет умный геттер, который дёргает базу для получения значения) и всё в том же духе.

ну а потом, разумеется, возникает вопрос - с какого бодуна сервер то так тормозит то и медленно работает? И не нужно бы нам купить еще пару-тройку камней (да побольше, побольше!), а то, знаете-ли, не справляется он...
1 ноя 09, 02:41    [7867360]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
ЛП
Guest
2 locky
насчет железа - это правда, железа сейчас много, самого разного.

Не только разного, но еще и дешевого и производительного. По сравнению с совсем недалёкими годами в прошлом - очень дешевого, и очень производительного.

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

Да нет, не из-за косоруких девелоперов, а из-за того, что админ БД не смог имеющийся сервер БД настроить так, чтобы он справлялся с имеющейся нагрузкой из примитивных запросов (уж простите, я более простой задачи для дба и не придумаю даже).
Решение - да, временное. Но оно является решением хотя бы на время. Тогда как админ, сыплющий советами, решением не является.

То есть вот как бы так получается. Либо платить немаленькую зарплату админу и выслушивать его советы (ага, хвост даёт люлей собаке), либо выгнать админа и купить новый сервак, решив тем самым проблему на какое-то время.
1 ноя 09, 03:00    [7867371]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
ЛП
Не только разного, но еще и дешевого и производительного. По сравнению с совсем недалёкими годами в прошлом - очень дешевого, и очень производительного.

ну да, ну да :)

ЛП

Решение - да, временное. Но оно является решением хотя бы на время. Тогда как админ, сыплющий советами, решением не является.

Разумеется, временное. До следующего мудрого класса. А потом - новый сервер (благо, дёшев).
(замечу так, для галочки - исправление кода обойдётся баксов в 5, примерно).


ЛП

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

:) Да, решить проблему. на неделю, где-то. В одной точке.
Если же точек, скажем, порядка двух сотен.... надо бы побольше админов выгнать, чтобы купить побольше серверов
И не забывать это повторять раз в неделю.

Глупости вы, любезный, говорите.
1 ноя 09, 03:04    [7867375]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
ЛП
Guest
locky
(замечу так, для галочки - исправление кода обойдётся баксов в 5, примерно).

Блин, я и забыл, что разговариваю с волшебником, который умеет лечить по фотографии, причем даже при отсутствии фотографии :)
1 ноя 09, 03:11    [7867379]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
ЛП
Guest
Жалко только, что волшебник админить не умеет :(
1 ноя 09, 03:11    [7867380]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
locky
iscrafm
locky
Более того. мне кажется, что даже если я дам вам код и спрошу "что здесь не так" - вы мне не сможете ответить.


UPDATE WHBATCH SET ST=-1,PDATE=getdate(),POWNER='@OWNER'  WHERE ID = :ID and WHST=2;
что здесь не так?


declare @B bit
set @b = null

что здесь не так?

зы а у вас, по меньшей мере, не указана схема. что, вообще говоря, не есть гуд.
Плюс есть еще один момент, озвучивать который я не буду, дабы не вызывать "праведный гнев" и вопли "документировать надо!". Знаем мы как девелоперы документацию ведут :)

что попало уже пошло. Все то вы знаете, учите разработчиков.. смешно просто.

p.s. у меня там не схема не указана (жесть!), а попытка отправить в корзину документ утвержденный к отгрузке (whst=2). Не знали? А откуда бы вам знать. Во-первых, никто вас не будет ставить об этом в известность, а во-вторых, это все описано в документации, к которой вы не будете иметь доступа. Ваше дело за базой следить, архивы делать, правильно по дискам распределять и т.п.
1 ноя 09, 11:29    [7867494]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
по моему пуп земли развязался. Что уже похожее на бред пошло.
1 ноя 09, 11:31    [7867497]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
StalkerS
Member

Откуда: Melbourne
Сообщений: 1344
По теме топика:
Сама бизнес-логика приложения конечно-же не должна быть в ХП на сервере. Обьясняется это тем, что построив логику таким образом мы получим функциональную декомпозицию системы, а не объектную, как при ООП. Функциональная декомпозиция хуже устойчива к изменениям, т.к. функции имеют бОльшую тенденцию к изменению, чем объекты. Т.е. помимо более развитого языка программирования, ООП само по себе в этом смысле лучше.
А когда создали объектную модель, то можно думать как именно ее маппить и на что. Точнее, мы должны иметь (в идеале) 3 модели: сущностную, объектную и модель БД. Сущностная создается первой, на ее основе выводятся две остальные (правда некоторые уважаемые люди утверждают, что сущностная модель излишна, т.к. ее тоже надо сопровождать, но имхо это окупается).
Т.к. объектная модель отличается от реляционной, то надо их как-то друг с другом подружить. Это либо делается с помощью ОРМ (либо пишутся свои велосипеды).
Многие ОРМ (и самописные велосипеды) умеют маппиться на ХП, так что тут появляется 2 варианта - маппить сущности на ХП, или напрямую на таблицы (есть промежуточные вариант - на вью).
С таблицами получается быстрее всего, но и возможных проблем тоже больше. Мне лично больше нравиться вариант ХП, т.к. это инкапсулирует структуру БД и запросы, что позволяет ее менять и настраивать производительность без необходиомсти трогать клиентов. ДБА сможет изменять таблицы, вводить денормализацию, индексированные вью и прочее. Однако это приводит к невозможности написания объектных запросов напрямую программистами (например на linq), приходится писать ХП, создавать под него методы и прочее. Однако хуже это или лучше бабушка надвое сказала, т.к. ХП метода поиска опять-таки может быть оптимизирована ДБА
1 ноя 09, 13:36    [7867620]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
Сахават Юсифов
Member

Откуда: Орел
Сообщений: 3992
Денис Ильин
Ну, плейсхолдеры особенно и не нужны.
Лично мне хватает возможности передавать в хранимую процедуру в качестве параметра какой нибудь XML. Вот честно - из почти 2-х тысяч хранимок динамический sql только в 5..6..и штучках, и то - в процедурках административного характера, пользователь их даже и не зовёт.

нашел чем хвастаться ... 2000 хранимок.. с ума сойти
полная лажа
1 ноя 09, 13:56    [7867637]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
iscrafm

p.s. у меня там не схема не указана (жесть!), а попытка отправить в корзину документ утвержденный к отгрузке (whst=2). Не знали? А откуда бы вам знать. Во-первых, никто вас не будет ставить об этом в известность, а во-вторых, это все описано в документации, к которой вы не будете иметь доступа. Ваше дело за базой следить, архивы делать, правильно по дискам распределять и т.п.

а также следить, дабы ваше поделие работало с более-менее приемлимой скоростью. И желательно, дабы ваше поделие не требовало для себя установки отдельного инстанса сервера, а могло быть проинсталлено на уже имеющийся инстанс.

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

Особенно меня порадовало "описано в документации". Чудеса, повторяю, в соседнем отделе.
1 ноя 09, 15:38    [7867736]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
iscrafm
Все то вы знаете, учите разработчиков.. смешно просто.

Ну, всё не всё, но что касается доступа к БД - многое.
По крайней мере, я занимаюсь только этим, в течение всего рабочего времени.
1 ноя 09, 15:41    [7867739]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
Сахават Юсифов
Member

Откуда: Орел
Сообщений: 3992
locky,

это очень плхохо :(
SQL сервер - просто прога и не самая важная, просто монополисты вдолии в башку клиентов, что без скула никуда, вот и приходится это дерьмо пользовать
1 ноя 09, 15:49    [7867743]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Сахават Юсифов
locky,

это очень плхохо :(
SQL сервер - просто прога и не самая важная, просто монополисты вдолии в башку клиентов, что без скула никуда, вот и приходится это дерьмо пользовать

Не самая важная, согласен.
но без неё - никуда.
Посему - извольте юзать её нормально и прислушиваться к советам, которые дает специалист по этой проге.
1 ноя 09, 15:54    [7867750]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Сахават Юсифов,

а для эстетов - есть флет-файлы и "компутерые с бесконечным быстродействием".
Фантастика у нас по прежнему - в соседней разделе.
1 ноя 09, 15:55    [7867753]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
Сахават Юсифов
Member

Откуда: Орел
Сообщений: 3992
StalkerS
Однако хуже это или лучше бабушка надвое сказала, т.к. ХП метода поиска опять-таки может быть оптимизирована ДБА


Да хуже некуда.
Я создаю метод, который вызывает метода (ХП).
Пока СКЛ не станет частью IDE будет гемор. Да и воще много там говна. Че только стоит
Select 'Эшак' as Человек from Самолет;
1 ноя 09, 15:59    [7867761]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
Сахават Юсифов
Member

Откуда: Орел
Сообщений: 3992
locky
Сахават Юсифов,

а для эстетов - есть флет-файлы и "компутерые с бесконечным быстродействием".
Фантастика у нас по прежнему - в соседней разделе.


Что бы добиться более-менее производительности, приходится писать не то что надо,а то что может переварить низкоуровневый скул-динозавр, который остался мыслить на уровне рекорда.
1 ноя 09, 16:03    [7867766]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Сахават Юсифов
Что бы добиться более-менее производительности, приходится писать не то что надо,а то что может переварить низкоуровневый скул-динозавр, который остался мыслить на уровне рекорда.

что называется - вы просто не умеете ЭТО готовить :)
1 ноя 09, 16:06    [7867773]     Ответить | Цитировать Сообщить модератору
 Re: использование хранимых процедур  [new]
Сахават Юсифов
Member

Откуда: Орел
Сообщений: 3992
locky,

да ладно
даже на кодасил были целные струкутуры
СКЛ для детских задач, а приходится пользовать для взрослых
1 ноя 09, 16:08    [7867778]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 5 6 7 8 9 10 [11] 12 13 14   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить