|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Серьезно -зачем? Вот мы пишем на MySQL, склад, заказы, производство. В принципе вроде все работает. Но все вокруг смеются над MySQL, типа там триггеров нет, ХП. Меня прям комплекс заедать начинает. А вдруг это действительно нужная вещь, без которой просто немыслимо работать? Хочется примеры задач где без ХП не обойтись. Заранее спасибо Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 15:19 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Правильно. И без СУБД можно. Типизированным файл о м. (ударение - на букве " о ") Бонус - и учиться не надо. Ха. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 15:28 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Ну вот опять пинают:) Опять флейм :) Хотя MySQL гораздо лучше типизованного файл а :)) Согласись А если серьезно. Приведи хотя бы одну ситуацию, где без ХП или тяжело или просто невозможно. А то я боюсь, что упускаю целый пласт задач Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 15:57 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 Marat_L 3 punkta na vskidku: 1) Hranimye procedury pozvolyaut otdelit DB ot busness logiki i izmenyat odno bez zavisimosti ot drugogo. 2) Server DB hranit plany vypolneniya zaprosov dlya hran. proc (to est zaprocy vypolnyutsya bysteree) 3) Bezopasnost - Vy mozhete vydavat otdelnye granty na vypolnenie procedur ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 16:02 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
1. ХП позволяют менять алгоритмы расчетов без изменения клиентского приложения 2. Во многих случаях (но не всех) быстрее выполняются за счет кэширования планов запроса 3. позволяют гораздо более строго контроллировать вносимые данные/изменения. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 16:05 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Но все вокруг смеются над MySQL, типа там триггеров нет, ХП. А еще транзакций. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 16:06 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
"Невозможно" --- вряд ли. Для "тяжело" классический пример --- когда тебе надо реализовать одну и ту же логику работы с данными в разных приложениях (до кучи: на разных языках). Если ты реализуешь её на ХП, то будешь из этих приложений просто дёргать ХП, в противном случае придётся каждый раз переписывать. Ну и наконец --- встречный вопрос. Если ХП настолько никому не нужны, зачем мысклеписатели их реализуют в версии 5.0? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 16:06 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Продолжу: - ХП позволяют в ряде случаев значительно снизить сетевой трафик. - Снизить требования к клиенту. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 16:09 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Назови хотя бы одну программу для ЭВМ, которую нельзя было бы выполнить с помошью машины Тьюринга. Нафиг тогда гипертрейдинг? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 16:40 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
что-то все странные аргументы, апп-сервер может все это с легкостью заменить. но менее эфективно чем хп, в плане скорости. кроме того иногда может гораздо удобнее иметь код в субд, например в оракле у тебя процедура станет инвалидной если таблица с которой работает хп вдруг удалена. в результате апп-сервер тупо бы исполнял эту логику пока бы не дошел до неправильного селекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 16:48 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Если БД полностью нормализована, то совсем можно обойтись и без ХП и триггеров, пользуясь только заданием ключей, check constraint'ов и отношений ( или все-таки нет ? ). На практике так не делается. Во-первых, полностью нормализованная система очень трудозатратна. Во-вторых, она будет не гибкой, а достижение некоторой гибкости сделает систему сверхсложной. И в программировании, и в эксплуатации. Да и вообще, вряд ли физически возможно создать мало мальски сложную и при этом полностью нормализованную систему. Я уж не говорю о том, что 1.невозможно будет найти достаточно людей для ее поддержки, а также о том, что 2. не представляю, появится ли в ближайшее время ЭВМ, у которой ресурсов будет достаточно для того, чтобы такая система на ней заворочалась. (Я подразумеваю также, что любое действие над такой БД должно быть корректно обработано или отвергнуто по той причине, что: 1.нарушено ограничение ключа, 2.значение не прошло проверку на соответствие условию или 3.данные нарушают ограничения, наложенные на связи между таблицами. А так - очень даже можно создать систему, которая будет работать только до тех пор, пока человек совершает над ней корректные действия). Есть такой термин: бизнес-логика. Разработчики стараются отделить мух (бизнес-логику) от котлет (костяка, физической структуры БД), помещая мух, например, в ХП, где они и живут (ну, не только в ХП, но ХП предпочтительней других мест, потому что неотделимо от БАЗЫ). Другой случай, когда ХП полезны - объединение множества операций над данными в одном логически завершенном блоке. Могут возразить: а зачем в ХП - можно и из приложения выполнить ту же последовательность операций? А вот затем, чтобы из всех приложений вызывать одну и ту же ХП. А то захотят приладить наряду с WinForms-интерфейсом также Web-интерфейс, и чего-нибудь там напутают, недоделают... Могут также возразить: что же это за система, которая требует множественных изменений в данных? А вот такие они, реальные системы. В отличие от идеальных (см. выше, про нормализацию). Примеров не будет. Потому что, действительно, все можно сделать и без ХП и триггеров. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 17:40 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Я пытаюсь подытожить: ХП можно обойти созданием соответствующей подпрограммы на клиенте. Этот способ позволяет отделить логику от данных. Проигрыши такого решения: При изменении логики надо менять приложение на всех клиентских машинах Вопрос безопасности частично переносится на клиента, клиентское приложение фактически получает больший доступ. Больше обмен данными клиента с сервером Вычислительная нагрузка переносится на клиента Нет доп .оптимизации в виде кеширования плана запроса Такую процедуру невозможно использовать из приложения на другом языке Вроде ничего не забыл Мда.... В принципе конечно все это терпимо, до определенных пределов. Но все-таки уже хочется MySQL 5.0 2 f_w_p : Есть там транзакции, уже год как работаем 2 Gt. : Rollback в случае неудачи решает проблему 2 Urri: Foreign key решат задачу ссылочной целостности. Другие проверки , действительно придется пихать в клиентскую процедуру. Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 17:59 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Чего-то ты не допонял. имея бизнес логику на апп-сервер: При изменении логики надо менять логику апп-сервереа а не на всех клиентских машинах Вопрос безопасности частично НЕпереносится на клиента, клиентское приложение фактически НЕполучает больший доступ. Больше обмен данными апп-сервером с сервером субд Вычислительная нагрузка НЕпереносится на клиента Такую процедуру ВОЗМОЖНО использовать из приложения на другом языке ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 18:25 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Может я действительно не понял. АПП сервер - это который, вместе с php и апачем? Тогда да, ты прав, но тогда уточню: Я пишу на VFP5.0 + MyODBC и не вижу легкого штатного способа из VFP обращаться обращаться к вебсерверу, передавая туда параметры (логин/пароль хотя бы), и главное (КАК??) получая оттуда результат. Поэтому я проигнорировал апп сервер Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 18:56 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
авторВот мы пишем на MySQL , склад, заказы, производство.... ....... ...Меня прям комплекс заедать начинает. Похоже меня заел бы не только комплекс, если бы я писал такое на таком =:() -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 18:59 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
ну даже в фоксе можно юзать DCOM, типа клиенты по DCOM общаются с фокпро "сервером". помню для фокса были некие платные либы даже SOAP гонять, вот только людей гоняющих такое на фоксе не видел ... но это уже из другой оперы. а так да - тебе было бы гораздо проще нормально юзать ODBC+хп, чем писать логику на пхп :) хотя знаю игрушку у нее что-то типа майла/форума - есть веб клиент и есть клиент на дельфях который к пхп обращается. автори главное (КАК??) получая оттуда результат. ну это даже на фоксе пару команд, спрси в их форуме. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 19:10 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 Тигра Ну вот и поделился бы своими мыслями по поводу Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2004, 19:10 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 f_w_p : Есть там транзакции, уже год как работаем Поздравляю. Без всего остального действительно можно обойтись. Хоть и неприятно. А вот без транзакций тяжко. Кстати, MySQL версионник или блокировочник? Вопрос безопасности частично переносится на клиента, клиентское приложение фактически получает больший доступ. Не совсем так. В клиенте действительно можно реализовать свои режимы безопасности, но ведь существует еще возможность коннекта к БД слева. Другим клиентом или штатными средствами администрирования ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 08:03 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 f_w_p Версионная наверное. :)) Ну эта када там всякие уровни изоляции, да? READ-UNCOMMITTED READ-COMMITTED REPEATABLE-READ SERIALIZABLE (только InnoDB таблицы ) Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 08:38 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Мысли плохие, делюсь: не могу представить MySQL и задачи склад, заказы, производство . Даже если есть - все-равно. - А бывают ERP-системы на MySQL? - Нет сынок, это фантастика ((с) реклама сыра Хохланд) -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 11:13 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 Marat_L Я примерно понимаю к чему ты клонишь... Действительно, у тех кто пришет софт для MSSQL,Sybase,Oracle несколько гипертрофированное представление о сохраненных процедурах. Чем это чревато? - низкой интерактивностью приложения. А вообще-то без сохраненок действительно можно обойтись. Хотя некоторые виды обработки данных действительно лучше делать на сохраненках. Особенно те, кторые жрут немерянно трафик. Но в некоторых случаях разгузить сервер БД очень даже полезно. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 11:52 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Спасибо всем за конструктивные ответы. Картина получилась достаточно исчерпывающей. Я многое для себя понял в ходе обсуждения. Теперь меня комплексы не заедают :) ТиграМысли плохие, делюсь: не могу представить MySQL и задачи склад, заказы, производство. Даже если есть - все-равно. Будете у нас на Колыме - заходите :) gardenman Я примерно понимаю к чему ты клонишь... Дык, никуда 8)) Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 12:45 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Здесь можно почитать про "всякие там уровни изоляции", их критику в стандарте ANSI и про другие интересные вещи. А вот это gardenmanДействительно, у тех кто пришет софт для MSSQL,Sybase,Oracle несколько гипертрофированное представление о сохраненных процедурах. Чем это чревато? - низкой интерактивностью приложения. меня потрясло до глубины души. Теперь-то я понимаю, в чем корень зла и где основной источник проблем. Только как бороться с "низкой интерактивностью" приложения, ума не приложу. Кстати, а что это? ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 14:38 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
gardenman Но в некоторых случаях разгузить сервер БД очень даже полезно. Конечно, для чего же еще то придуман SQL-сервер и технология соответствующая?! Для того, чтобы разгружать сервер БД клиентами Наконец-то, истина открылась. Открываю фонд для помощи разгрузки сервера БД. Кто сколько может, подайте... -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 14:47 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 gardenman > Действительно, у тех кто пришет софт для MSSQL,Sybase,Oracle несколько гипертрофированное представление о сохраненных процедурах. Пояните, плз, гипетрофированность ораклистов и сиквелистов...даже интересно... ----- Все великие дела совершаются в командной строке ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 15:04 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Тех, товарищей, которые подвергают меня)) критике, очень хочется спросить: 1) среднестатистическое время исполнения сохраненки 2) среднестатистический размер рекордсета возращаемого из сохраненки 3) среднестатистическую длину исходника сохраненки в строках )) Например, я для возврата рекордсетов сохраненки вообще не использую Я юзаю курсоры с рабочей станции...) Может поэтому у меня все отрабатывает мгновенно? и практически отсутствуют конфликты на блокировках? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 15:13 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Tygra Конечно, для чего же еще то придуман SQL-сервер и технология соответствующая?! Для того, чтобы разгружать сервер БД клиентами А например если у меня клиенты Celeron 1700, 256 ОЗУ? А чо бы мне их не загрузить? Пущай попашут! Сервак один, а их много!! А в технологии КС сервер - это потенциально самое узкое место, вроде как. И не все имеют возможность бесконечно наращивать ресурсы сервера :( Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 15:38 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
правильно))) ..а то получается парадокс - компы все быстрее )) а система бд вцелом работает все медленнее.. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 15:54 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Где-то в треде про DB2 был кусок, где обсуждалась нужность ХП. В ней также и gardenman учавствовал. Вообще без ХП можно обойтись, но это по моему мнению, все равно что писать программы без библиотек функций, классов и гнать одним текстом. Иногда, если БД сложная и разрабатывалась другими людьми, то без ХП вообще не обойтись. Ну например, БД опер-дня банка. В ней есть большая, муторная процедура вычисления остатка на счете. Сам алгоритм сложен и для пользователей на местах дока отсутствует. В БД частенько что-то меняется. Разработчики опер-дня сами меняют эту ХП, а мы - рядовые разработчики локальных программ ее используем. Я для себя понимаю БД как некий класс(ы), в котором хранятся данные, доступ к которым делается через методы класса - ХП. ХП определяют функциональность класса, обеспечивают его целостность и безопасность (кстати тогда можно не юзать FK, что благотворно влияет на производительность OLTP). Стороннему пользователю или разработчику другой БД, которому нужны данные из моей БД я даю доступ к нужным ХП, а доступа к непосредственно сырым данным никому не дается. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 17:10 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Меня покоряет вежливость Ggg.) что касается ХП, то в ДБ2 вообще пакет, который получается в результате компиляции исходника содержит целый блок кода, который в MSSQL/Sybase составит несколько сохраненок. Я бы сказал даже так)) ..в ДБ2 BND - пакет - это сохраненная процедура исполнение которой вы контролируете с рабочей станции...) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 17:58 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
но)) уважаемый Ggg, я в жись не откажусь от использования FK, т.к. руки у меня не совсем ровные... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 18:02 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 Ggg авторопер-дня банка Будете смеяться, но я почему-то считал, что в родителюном падеже это слово должно писаться так: оперденя ;-)))))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 18:02 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
авторА например если у меня клиенты Celeron 1700, 256 ОЗУ? А чо бы мне их не загрузить? Пущай попашут! Сервак один, а их много!! А в технологии КС сервер - это потенциально самое узкое место, вроде как. И не все имеют возможность бесконечно наращивать ресурсы сервера Дык я и говорю - нахрена тебе вообще SQL-сервер? Бери FoxPro и пиши на нем. Можешь даже 2.6 for DOS версию взять, она то на теперешних машинах вообще летать будет На трех табличках. Зачем все остальное? Мы тут ослы, какие-то клиент-серверы обсуждаем, а он, весь в белом..... Ну и т.д. Я даже не вижу смысла дальше хоть что-то обсуждать. Маразм какой-то. Я понимаю - человеку 60 лет, он давно пишет на фоксе под файл-сервер и переходить не хочет никуда даже под страхом смерти. Ну и хрен с ним, скоро пенсия. Но тут......... -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 18:11 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Marat_LА в технологии КС сервер - это потенциально самое узкое место, вроде как. И не все имеют возможность бесконечно наращивать ресурсы сервера. Надо-же, из главного достоинства КС-технологии сделали недостаток...и ещё узким местом обозвали. Неужели вам проще и дешевле "бесконечно наращивать ресурсы" клиентов (особенно если таковых сотни) ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 21:01 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
TygraДык я и говорю - нахрена тебе вообще SQL-сервер? Бери FoxPro и пиши на нем. Можешь даже 2.6 for DOS версию взять, она то на теперешних машинах вообще летать будет На трех табличках. Это уже другая крайность, Я же не говорю ВСЁ переносить на клиента. Я за сбалансированные решения А летать не будет, ты знаешь не хуже меня почему. Zaxx Надо-же, из главного достоинства КС-технологии сделали недостаток...и ещё узким местом обозвали. Неужели вам проще и дешевле "бесконечно наращивать ресурсы" клиентов (особенно если таковых сотни) ??? Главное достоинство КС - УМЕНЬШЕНИЕ СЕТЕВОГО ТРАФИКА за счет переноса на сервер вычислительной нагрузки. Сам же перенос на сервер сам по себе никаким (тем более главным) достоинством не является. И если вообще в системе есть самое узкое место (или все одинаково широко?) -то это сервер! Что касается клиентов - вы же все-равно их покупаете!! Они сами как-то плодятся :) И какие-то толстые все :) (в смысле жирные) А вот апгрейд сервера просто так сходу не сделаешь, и обосновать сложнее Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 09:47 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Марат, поддерживаю полностью) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 10:20 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Marat_LА в технологии КС сервер - это потенциально самое узкое место А я бы написал: в технологии КС сервер только одно узкое место, тогда как при файл-сервере каждый клиент - это дополнительное узкое место Marat_LГлавное достоинство КС - УМЕНЬШЕНИЕ СЕТЕВОГО ТРАФИКА за счет переноса на сервер вычислительной нагрузки. Да трафик тут дело десятое... Главное достоинство - это уменьшение количества узких мест. Тут и трафик, и надёжность, и удобство обновления версий и т.д. Может и не это главное, но не сетевой же трафик ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 11:17 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
авторГлавное достоинство КС - УМЕНЬШЕНИЕ СЕТЕВОГО ТРАФИКА за счет переноса на сервер вычислительной нагрузки. Сам же перенос на сервер сам по себе никаким (тем более главным) достоинством не является. И если вообще в системе есть самое узкое место (или все одинаково широко?) -то это сервер! Что касается клиентов - вы же все-равно их покупаете!! Они сами как-то плодятся :) И какие-то толстые все :) (в смысле жирные) А вот апгрейд сервера просто так сходу не сделаешь, и обосновать сложнее Если это не первоапрельская шутка, то я поражен!!! Откуда такие сведения? Еще раз повторю: зачем вам вообще КС??? Вам нужна ФС - только она подразумевает логику на клиенте. Если лично вы предсталяете себе, что КС именно для того и нужна, о чем вы написали выше, то это не значит, что так оно и есть. Еще в MS или Oracle об этом напишите, может глаза им откроете -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 11:22 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
>Главное достоинство КС - УМЕНЬШЕНИЕ СЕТЕВОГО ТРАФИКА за счет переноса на сервер вычислительной нагрузки Разрешите с Вами категорически не согласиться. Уменьшение трафика - это просто приятный бонус. А главное достоинство - централизованное управление данными. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 11:23 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Это называется так: глубокая любовь (или неохота измениться) людей к файл-серверной технологии, для которой они готовы все, что есть, подогнать под стандарт ФС и найти неизвестные миру особенности. -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 11:24 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Сам же перенос на сервер сам по себе никаким (тем более главным) достоинством не является. Нет слов, блин. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 12:10 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2Oleg_Martynov Да я погорячился, правда для бонуса слишком нехилый бонус. Файлсерверы на определенной стадии просто умирают от сетевого перегруза. 2Tygra Существуют расчеты которые оптимальнее вести локально не дергая лишний раз сервер, не загружая сеть лишними запросами. 2U-gene Мне уже объяснили, зачем они нужны. Всем спасибо. Если нечего сказать - помолчи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 13:00 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 Marat_L : >Существуют расчеты которые оптимальнее вести локально не дергая лишний раз сервер, не загружая сеть лишними запросами. О-па...т.е. типа запрос выполняется на клиенте, если он прошит в коде приложения? Поконкренее плз, каким именно образом он выполняется на клиенте... ----- Все великие дела совершаются в командной строке ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 14:24 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Борланд, ты русска плоха говорить/панимать? Разницу между "вести расчеты" и "выполнять запрос" понять способен? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 14:32 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 Лох Позорный : А никто не заставляет делать, грубо говоря, сортировку Шелла на сервере. И как ещё можно понять фразу "не загружая сеть лишними запросами." в контексте сравнения ФС и КС ? ----- Все великие дела совершаются в командной строке ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 14:34 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 Борланд Сорь, половину фразы пропустил. Был неправ. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 14:41 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 Лох Позорный : Не вопрос:-)) 2 ALL : давайте тогда определимся всё-таки, какие именно манипуляции с данными следует производить с использованием ХП. На правах ИМХО те, которые представляют собой работу с данными на уровне БД (грубо говоря SQL-запросы и DML-команды), ну и такие, как несложная обработка данных (грубо говоря вытащить записи из таблички А, сравнить их с записами в табличке B, рез-т сравнения поместить в табличку C). Остальные операции лучше производить в приложении(грубо говоря по какому-то алгоритму на основе данных за прошлый год спрогнозировать данные на следующую пятилетку) Буду рад услышать конструктивные замечания по поводу вышеизложенного. ----- Все великие дела совершаются в командной строке ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 14:53 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Остальные операции лучше производить в приложении(грубо говоря по какому-то алгоритму на основе данных за прошлый год спрогнозировать данные на следующую пятилетку) Это, что получаеться мне нужно вытащить данные за прошлый год на клиента и там считать? У меня мощный сервер (как железо, так и СУБД). В то время ка я могу написать процедуру (пакет процедур, oracle ), там просчитать и вернуть пользователю конечый результат, или (и) тут же на сервере сохранить результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 15:28 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 Borland контекст -ХП Это тигра все за файлсерверы агитирует Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 15:28 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 DimaR - вовсе нет...согласен, пример привёл весьма неудачный...степень использования сервера для обработки данных на уровне приложения зависит от конкретной ситуации. Но то, что все манипуляции с данными в базе должны выолняться через ХП, по-моему бесспорно. Вопрос стоял "зачем они вообще нужны?" 2 Marat_L : >Это тигра все за файлсерверы агитирует Да??? Тигра, я тебя не узнаю:-))) Сменил ориентацию?:-)) Марат, вы даже не дали себе труда понять Тигру. Надеюсь, я понятно изложил свою точку зрения на данный вопрос? Не хотите использовать ХП и КС, бога ради...Коллекция Дяди Тома имеет весьма большую вероятность пополниться очередным "мёртвым" проектом. ----- Все великие дела совершаются в командной строке ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 15:33 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 DimaR Нееее Конечно не надо тащить на клиента данные за года!!! Согласен. Другое дело, если у тебя на клиенте от предыдущего например запроса УЖЕ ЕСТЬ исходные данные для расчета, и если с расчетом может справиться и сам клиент -тогда пусть работает клиент. Ну не очевидно ли? 2Borland 1.Я не агитирую ни одним словом за ФС. 2.Я спросил про ХП, потому что не знал (вы думаете я хотел поиздеваться?) и мне в принципе уже конструктивно ответили. 3.Я высказал мнение что ИНОГДА, полезно разгрузить сервер. Почитайте ВНИМАТЕЛЬНО. Может быть даже СНАЧАЛА. А тигру как понять-то -никакого конструктива, сплошные эмоции, в основном негативные. Зачем мне это? Своих проблем хватает. Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 16:11 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 Marat_L : > Я не агитирую ни одним словом за ФС. Зря:-) Для небольшой бд с 2-5 клиентами вполне и фс подойдёт:-) >(вы думаете я хотел поиздеваться?) Вовсе нет. Просто нужно достаточно чётко понимать, что следует реализовывать с помощью ХП, а что можно отдать клиенту. Излишки как в ту, так и в другую сторону сами понимаете, к чему может привести ----- Все великие дела совершаются в командной строке ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 16:18 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Ну не очевидно ли? Может я чегото непонимаю, (туповат наверное) но для меня не очевидно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 16:20 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 DimaR В смысле пример не понял? Например ты на клиента послал какую-то выборку. Отчет по продажам. И надо там тебе итог внизу вывести. Ты для этого еще один запрос на сумму пошлешь? :) 2 Borland Понимать надо, согласен, за этим я здесь. Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 16:28 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Например ты на клиента послал какую-то выборку. Отчет по продажам. И надо там тебе итог внизу вывести. Ты для этого еще один запрос на сумму пошлешь? Слишком простой пример, В Oracle мне не надо посылать лишний запрос , это можно сделать в одном зпросе, и итоги и подитоги по групировкам и т.д. Хотя я согласен, для очень примитивных вещей над очень маленьким объемом информации, может и имееет смысл считать на клиенте, но это такие вещи накпример как, хочу проссумировать 3 строки в одном столбце, (как в EXCEL когда выделяеш числа мышкой) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 16:45 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Да как же это так, у меня получился прекрасный конструктив, даже отличный, на 5 А по поводу суммы - наверное примера попроще привести нельзя У меня сумма считается вообще самим гридом - фича такая у него :) А когда надо - ХП. И заметь, чтобы показать сумму, не обязательно показывать список. И ты для суммы потянешь его на клиента? Вахххх....!!! А теория по поводу КС лччень интересна, спишем ее на 1 арпеля -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 18:13 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Вот) пример гипертрофированного понимания сохраненок: Когда чтобы получить отчет, который можно получить простым запросом (или сложным, но одним! запросом) пишется ХП Сохраненку нужно делать тогда, когда: Несколько выборок, Обсчет результатов с какой-либо логикой, возврат итогового резалт-сета, или набора значений. Т.е. когда одним запросом необойтись. Да и то, можно так извратицца и написать ХП что, пока она работает все остальные юзеры будут отдыхать. Наглядный пример - начиление процентов по счету. А вообще КС- придумали для рапределения вычислительной нагрузки на несколько компов. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 18:25 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
>А вообще КС- придумали для рапределения вычислительной нагрузки на несколько компов Едва ли. Я раньше думал, что КС придумали, когда данные на компьютерах организации стали "разьезжаться" - т.е. сразу после внедрения СУД на более чем одном компьютере. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 18:37 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
gardenmanВот) пример гипертрофированного понимания сохраненок: Когда чтобы получить отчет, который можно получить простым запросом (или сложным, но одним! запросом) пишется ХП Ну да, так оно обычно и бывает: написали простой запросик в 10 приложениях, а потом оказалось что структуру базы надо чуток поменять и запросик будет чуть другой, может даже не сложней, а еще проще, но другой. И выискивай в каких приложениях этот запросик был написан... В лучшем случае удаётся заменить таблицу на вью. Не совсем удачный пример вобщем ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 19:06 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
))) а зачем выискивать? Запросик лежит в каком-нить методе какого-нить класса...)) Неужто трудно найти? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2004, 21:24 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Затем, что он может оказаться далеко не в одном приложении и не в одной библиотеке и даже на разных платформах, писанный разными разработчиками. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2004, 07:50 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
автор))) а зачем выискивать? Запросик лежит в каком-нить методе какого-нить класса...)) Неужто трудно найти? Тоже не согласен, какие методы? какие классы...? У меня 100 клиентов, а в запросике чуточку поменялся какой-нибудь множитель, я что, должен собрать новую версию клиента, и пробежаться по 100 машинам? Другой пример, я пишу новый модуль, так я знаю, что ХП GetПростенькийЗапрос вернет Мне нужный результат, и зачем мне в новом клиенте повторять один и тот - же запрос, а если учесть что есть разработчик БД и разработчик клиента, то тут и говорить нечего. Вообще, ХП позволяет изолировать БД и организовать четкую единую бизнес логику на 1й машине в пределах одной программы. Кстати, тот же Oracle рекомендует в транзакционных системах – рядовому пользователю не давать права даже на просмотр таблиц, тем более на их обновление, а все организовывать процедурно, после чего раздавать права на процедуры, каждой группе пользователей. Вот это действительно жесткая логика, и достойная безопасность. А когда у вас, уважаемые сторонники Файл Сервера, пользователь может подключится через какой ни будь access к серваку, и разом снести все данные из одной таблицы, (причем замете, без возможности отката транзакции ) – это конечно круто! Так что спор о надобности ХП, и преимуществах файл сервера считаю бессмысленным. На мой взгляд, использование ФС возможно лишь в случае если: 1 небольшое кол-во пользователей. 2 нет требований к разделению привилегий на чтение запись. 3 не требуется транзакционная целостность. (хотя сложно представить, где такое может быть. Пример: с клиента начал создавать накладную, клиент повис, кусок накладной в БД есть, куска нет, что с этим делать?). Я думаю этот список можно дополнить, но это уже не принципиально… ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2004, 10:43 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2Sergey P. Тоже не согласен, какие методы? какие классы...? У меня 100 клиентов, а в запросике чуточку поменялся какой-нибудь множитель, я что, должен собрать новую версию клиента, и пробежаться по 100 машинам? Ну, это ИМХО, не довод. А если в запросе добавилось/убавилось полей + убавилась/добавилась реализация реакции пользователя на это поле. Один хрен - прогу править. А таскать не надо, пусть проверяют обновление и качают его автоматом. Кстати, тот же Oracle рекомендует в транзакционных системах – рядовому пользователю не давать права даже на просмотр таблиц А где про это почитать можно. Ткните, плиз А в остальном да, согласен. Я не ретроград, я за ХП. Когда надо. 8-) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2004, 11:48 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Друзья, я начал читать эту тему, хотя не знаю что такое ХП. Это не то же самое, что запрос? Я имею ввиду, что запрос может вместо таблицы обращаться к другому запросу. Вот этот другой запрос и ХП это одно и то же? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2004, 12:09 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Нет, другой запрос - это называется View. А ХП - это программа, которая хранится на сервере БД и запускается там же, и в зависимости от своего назначения (ну и от названия сервера БД, конечно) может много чего разного делать. Изменять данные в БД, возвращать данные клиенту, давать или не давать клиенту доступ к другим данным, ходить в интернет за свежими курсами валют и т.д. и т.д... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2004, 12:21 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Я фигею!!! Доводы детей.... -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2004, 12:36 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Тигра, тебе что-то не понравилось в моем объяснении? ;-))) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2004, 12:42 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Прям как в том анекдоте. Сегодня вечером перечитывал пейджер, много думал. Много уже сказано про приемущества использования хп. Основное все-таки две веши - абстрагирование от схемы хранения данных + централизация и унификация обработки данных. Если пишеться небольшое приложение бд на несколько пользователей, то да можно обойтись и запросами с клиента, хотя и их лучше оформить в виде хп. Но если речь заходит о разработке крупных проектов, ERP системы, например, то и спорить нечего. Все бизнес-операций необходимо оформлять в виде хп. Классическая двухуровневка естественно имеется ввиду. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2004, 13:22 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
To Серега авторНу, это ИМХО, не довод. А если в запросе добавилось/убавилось полей + убавилась/добавилась реализация реакции пользователя на это поле. Один хрен - прогу править. А таскать не надо, пусть проверяют обновление и качают его автоматом. Да у меня книга есть O’reilly Oracle PL/SQL, вот они там со сылкой на своих оракловых коллег такие рекомендации дают, за что купил за то продал. Искать страницу, чтобы ткнуть пальцем не буду – лень. Но вообще это достаточно логично, если у меня достаточно большая БД, где есть допустим, финансы, закупки, склад, производство, работа с клиентами. Это будет очень удобно. Можно в принципе и на таблицы или вьюхи права раздавать – но это уж как кому нравиться. А что касается авторНу, это ИМХО, не довод. А если в запросе добавилось/убавилось полей + убавилась/добавилась реализация реакции пользователя на это поле. Один хрен - прогу править. А таскать не надо, пусть проверяют обновление и качают его автоматом. Это один из возможных доводов, конечно если вытаскивать чистый справочник- то, наверное, нет смысла использовать ХП, запрос возвращает какое ни будь одно агрегированное значение, или сложный запрос, то тут по-моему однозначно или вьюха, или ХП. Да вообще мне кажется, спор какой то детский, это все равно что спорить нужна в программирование классовая модель или нет. И при этом в качестве примера ставить задачу написать программу сложения 2х чисел. To Tigra авторЯ фигею!!! Доводы детей.... Я что то не понял, в чей огород этот камень? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2004, 14:40 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
UrriТигра, тебе что-то не понравилось в моем объяснении? ;-))) Нет, это не тебе - чтож я, совсем чтоли того? Это к gardenman, Marat_L и им подобным в этом топике. -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2004, 14:13 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Тигра (взрослый дядька блин). Я задал вопрос. Если хочешь что-то ответить-объяснить - скажи не стесняйся, (только внятно). А то жмешься че-то. Сообщений много - а ничего не сказал. Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2004, 14:34 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Да я уж отвечал, да и другие отвечали, замучались уже. Куда же еще то? И смысла нет - это ведь главное. -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2004, 15:04 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Ладно не плачь :) Про доводы детей - действительно ответил, мне даже понравилось. Спасибо за дельный и добрый совет. Еще раз, всем спасибо. Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2004, 15:16 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Так плачь то не от меня исходит -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2004, 11:19 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Файл серверников мне кажется надо прибивать в корне). Вот к нам на вакансию Админ SQL+Axapta недавно дяденька пытался устроится - но как сказал , что любит только фокспро, мы ему сразу отказали). Про баланс: программеры из 1С тоже пытались соблюсти баланс между клиентом и сервером, но видимо ошиблись с серединой баланса. Так что не пытайтесь наступать на их же грабли. Плюс текущая мировая глобализация и новый виток спирали по отношению к серверам дают о себе знать. Сегодня у вас 10 человек в БД, завтра 100, послезавтра 1000, а в пятницу 1млн. И попробуйте-ка апдейты всем делать) Посмотрите например на сетевые возможности Solaris9, и сравните со своими ФC) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2004, 09:00 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
гы.. вот я тоже люблю больше всего фокспро.. но, при этом мне бы и в голову не пришло пихаться на вакансию "Админ SQL+Axapta "... ИМХО конечно... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2004, 09:15 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Ха! Если уж пошли признания в любви, то и я признаюсь, что из всех продуктов, с которыми мне приходилось работать, фокс мною наиболее любим. Но это само по себе ровным счетом ничего не значит ;-). Вполне может быть, что это просто тоска по безвозвратно ушедшей молодости ;-))). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2004, 10:33 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Или склонность к мазохизму... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2004, 10:51 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Любителям фокса посвящается : БД с одновременным коннектом числа пользователей пятого порядка тоже на фоксе создавать будете? Когда речь идёт о выборе СУБД, нужно руководствоваться не любовью, а бизнесс-требованиями. ----- Все великие дела совершаются в командной строке ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2004, 11:11 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
дік я живу в таком месте, где БД с таким количеством подключений просто нереальні и только то..... так что фокс типа рулит.. а 2-е дайте мне разработчика БД под ОРАКЛ (или книгу) и я на фоксе напишу клиентсткую часть к ОРАКЛУ и только -то.. клиент-то не важен на чем.... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2004, 13:54 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
автор Я юзаю курсоры с рабочей станции...) Когда я такое слышу, моя рука тянется к ручке пистолета .... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2004, 19:05 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Вот прикольный топик! Можно свои 5 копеек. Дело в том, что в запросе типа select sin(FLD1), (FLD1/FLD2*100) Percent from TABLE1 - sin, / , *100 это уже "Хранимые Процедуры" (ХП). Вопрос: они нужны? наверное все ответят - "да"!!! Все остальные ХП, как встроеныые, так и определяемые пользователями(разработчиками) просто являются более навороченными. - Типа выражение "Дашь палец, так тебе и руку откусят" То есть если кто против, пусть откажется от (sin, cos, +, -, /, substr...) А также агрегаций типа sum, count, avg... И всё считает на клиенте!!! А то мало ли как реализатор SQL сервера реализовал операцию деления (/). :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2004, 20:38 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
beginner_7 sin, / , *100 это уже "Хранимые Процедуры" (ХП). IT консультант пишет, однако. Знать необязательно, главное уметь консультировать ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2004, 10:47 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2SergSuper >Знать необязательно Не понял! То есть sin это не хранимая процедура (функция)? Объясни! Некоторые "выдержки" из спецификации пакета SYS.STANDARD БД Oracle: .... function '+' (LEFT NUMBER, RIGHT NUMBER) return NUMBER; pragma BUILTIN('+',14, 2, 8); -- PEMS_NUMBER, NUM_ADD function '-' (LEFT NUMBER, RIGHT NUMBER) return NUMBER; pragma BUILTIN('-',15, 2, 9); -- PEMS_NUMBER, NUM_SUB function '*' (LEFT NUMBER, RIGHT NUMBER) return NUMBER; pragma BUILTIN('*',17, 2, 10); -- PEMS_NUMBER, NUM_MUL function '/' (LEFT NUMBER, RIGHT NUMBER) return NUMBER; pragma BUILTIN('/',18, 2, 11); -- PEMS_NUMBER, NUM_DIV .... function COS(N NUMBER) return NUMBER; function SIN(N NUMBER) return NUMBER; function TAN(N NUMBER) return NUMBER; function COSH(N NUMBER) return NUMBER; function SINH(N NUMBER) return NUMBER; function TANH(N NUMBER) return NUMBER; function EXP(N NUMBER) return NUMBER; function LN(N NUMBER) return NUMBER; .... Реализация, к сожалению, "скрыта" (закодирована) фирмой Oracle. Или под Заявлением "Знать необязательно, главное уметь консультировать" скрывается еще что-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2004, 18:13 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Давно я так не смеялся. Ответ. ХП нужны того, что бы 1. Ограничить права юзера по работе с таблицами только тем, что ему положено. 2. Изолировать реализацию логики приложения от клиентской части. Это прямое следствие 8-го и 9-го правила Кодда о независимости прикладных программ от изменений в базе. В приципе, любую прогу мы можем расматривать как СУБД и применять к ней Коддтовские правила. ===== P.S. Писано 08.04.2004 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2004, 18:29 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 beginner_7 sin - это встроенная функция ну как-то странно мне учить человека который вот стал IT консультантом ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2004, 19:00 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
>Ответ. ХП нужны того, что бы >1. Ограничить права юзера по работе с таблицами только тем, что ему >положено. >2. Изолировать реализацию логики приложения от клиентской части. Вы считаете что только с помощью ХП можно скрыть структуру таблиц от и ограничить права юзеров?.. ой как глубоко заблуждаетесь.)) ХП прежде всего выигрывают в производительности 1) используется предкомпиляция и оптимизация (хотя не только в ХП, но и вложенный SQL на это оч способен, причем вложенный SQL гораздо быстрее и легче писать) 2) увеличение производительности обработки информации за счет уменьшения накладных расходов на передачу данных между хранилищем (СУБД) данных и приложением (уменьшение трафика в сети) А вот тоже интересный вопрос: изолируем мы логику приложения от клиентской части, мы где тут получим выигрыш в производительности? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2004, 11:30 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
автор2) увеличение производительности обработки информации за счет уменьшения накладных расходов на передачу данных между хранилищем (СУБД) данных и приложением (уменьшение трафика в сети) Да что же вы к трафику то привязались? Да не играет он почти никакой роли в производительности при клиент-серверной архитектуре. Только время на передачу данных - но это не производительность, скорее время отклика. авторА вот тоже интересный вопрос: изолируем мы логику приложения от клиентской части, мы где тут получим выигрыш в производительности? Да везде. Хотя бы то, что для увеличения производительности нужно менять только сервер, а не 50 клиентов. Да вообще, странный какой-то разговор - все-равно что говорить, чем лучше круглые колеса вместо квадратных -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 11:52 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Вопрос- какие бывают велосипеды? 1)трехколесные 2)двухколесные 3)одноколесные 4)водный велосипед 5)воздушный (с пропеллером) 6)велосипед с моторчиком и т.д... к чему это я?... Да здравствуют изобретатели велосипедов! Еще не все велосипебы изобретены! изобретатели велосипедов всех стран, присоединяйтесь! *крик души* ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 12:16 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Дорогой Тигра. Ты не прав. Примерная цепочка рассуждений 1) Медленная сеть => данные дольше передаются на клиента 2) Данные дольше передаются => Ресурсы дольше освобождаются 3) Ресурсы дольше освобождаются => меньше свободных ресурсов 4) уменьшение свободных ресурсов в общем случае приводит к уменьшениию производительности Время отклика здесь следствие P.S. В больших системах IMHO сервер БД это узкое место. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 12:55 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Классные рассуждения, можно я тоже так попробую. 1. Когда человек стоит голова находится дальше от центра земли 2. голова находится дальше от центра земли => при беге она проходит большее расстояние 3. раз голова проходит большее расстояние => она имеет большую скорость 4. голова при беге она имеет большую скорость => при старте требуется большее усилие чтобы её разогнать 5. если лечь голова будет находиться ближе к центру земли => спортсменам-спринтерам легче было бы бежать лёжа ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 14:24 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Сейчас мне опять скажут - "если нечего сказать - промолчи".... но не могу я удержаться... авторВ больших системах сервер БД это узкое место ДАЕШЬ!!! уберем это "узкое место" нафиг!!!... ....и большой системы не станет вообще. Что касаемо хранимых процедур, то ИМХО надо понять, что, что данные, описывающие предметную область - это не только цифры и буквы, но и ...мммм... возможные зависимости между этими цифрами и буквами, а эти зависимости должны быть реализованы неким функционалом. То факт, что цифры и буквы храняться на сервере, а функционал - еще где-то, фактически означает, что на сервере хранятья НЕ ВСЕ данные о предметной области. Мне это не нравиться. Опять же, всем известно, что данные должны быть неизбыточны и непротиворечивы. Дык вот, система, где данные храняться в одном месте а обрабатываются в другом, (если рассматривать ее в целом) принципиально и вызывающе нарущает эти требования, поскольку на определенном этапе одно и то же может существовать в разных местах, причем в одном месте оно еще старое, а в другом мы его уже изменили. Хранимые процедуры позволяют избежать это. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 14:45 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Друзья U-gene, SergSuper во первых не надо передергивать. Что вы называете большими системами??? Давайте начнем с определений. Я нигде не говорил что клиeнт-сервер отстой и ему пора на свалку истории. Но в больших системах СУБД это узкое место так как его сложнее масштабировать в лоб: увеличивая мегагерцы, гигабайты и дисковые массивы. Если это не так давайте доказывайте. SergSuper, в твоих рассуждениях много правильно. Только разница про которую ты говоришь настолько мала что ей можно пренебречь. А сетевым трафиком в сильно нагруженной системе пренебречь нельзя. Так что ищи другой пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 18:28 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Нет проблем с маштабированием в лоб : добавляй процессоров, памяти сколько влезет (мы вот скоро получим новую технику, эххх заживем !!!:). А на Оракле еще лучше - там кластер можно наращивать, пока не надоест. В общем.... О чем это мы? :) -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 18:38 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Пардонте, а фраза xz321 P.S. В больших системах IMHO сервер БД это узкое место. чья? то есть Вы что-то сказали о "больших системах" , а мы теперь тут это дружно "определяй" давай? Фигушки!!! :). Кто первый сказал, тот пусть и "начинает с определения". Если честно, я тут мысль теряю. Точнее не то что бы теряю, но это что-то типа " я не говорю, что фон-неймановские машины - отстой, и им пора на свалку истории, но если на пентюхе запустить 250 разных программ, то он точно зависнет"... и что теперь говорить?... где тут причинно-следственная связь то?....смещались в кучу принципы и реализация, логика и технологии...я это "начинать с определния" не хочу...напрасный труд хуже пьянства. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 18:59 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
xz321 А сетевым трафиком в сильно нагруженной системе пренебречь нельзя. При правильно спроектированном клиент-сервере - можно. Во всяком случае у меня такая проблемма никогда не стояла, тормоза в основном из-за обработки на сервере. Если у тебя другой опыт - поделись. Я допускаю что в каких-то системах трафик может играть роль - допустим тысячи активно работающих клиентов. Но в таким случиях о файл-серверах никто даже и не задумывается. Да, в больших системах СУБД это узкое место, его сложнее масштабировать, но альтернатива - вместо одного узкого места сделать тысячи узких мест. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 19:36 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Да у меня другой опыт. Знали бы вы когда когда у тебя один запрос по хранилищу данных сжирает 1ТБ и ResultSet у него такой что Фокспрошникам даже и не снилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 20:10 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
уточнение 1 ТБ в temporary tablespace. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 20:11 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Код: plaintext
Если это в MSSQL, то у него такое случается иногда, если производятся запросы к таблицам, объёмы данных в которых могут очень сильно меняться в момент выполнения хранимой процедуры. Оптимизатор глючит и выбирает не самый оптимальный план. Самое смешное, что если заменить запрос на динамический exec('....'), то всё работает быстро и сжирает памяти мало. Всё равно это не повод отказываться от ХП - надо лишь немножко её доработать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 20:17 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 xz321 Что-то я уже читать разучился. Sorry. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 20:21 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2 xz321 Дык а что же это за задачи такие? И зачем клиенту слать 1 ТБ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 10:29 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2SergSuper >sin - это встроенная функция >ну как-то странно мне учить человека который вот стал IT консультантом Не вижу противоречий: Встроенная функция не является ХП? То есть она является процедурой (процедура здесь более широкое понятие и включает в себя: функию, процедуру, пакет, метод и т.д.) и её реализация хранится на сервере, по моему под определение ХП подходит. Заметьте, я не утверждал, что sin не является встроенной функцией. В данном случае Вы передернули. Странно слышать это от человека, работающего в IT и имеющего аналитический склад ума. :) >Дык а что же это за задачи такие? И зачем клиенту слать 1 ТБ? Вот аналогичное передёргивание. xz321 имел в виду, что как раз и нет необходимости слать клиенту 1ТБ... А на счет задач - знаете, встречаются и такие задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 16:02 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
> Встроенная функция не является ХП? А можно запись таблицей еще назвать, потому что запись это таблица из одной строки. Вот такой аналитический склад ума. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 16:06 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2fedd >А можно запись таблицей еще назвать, потому что запись это таблица из >одной строки. Вот такой аналитический склад ума Можно запись строкой назвать, списком аттрибутов. И это будет правильно. Почему определение - "Встроенная функция тоже попадает под определение ХП" вызывает столько недовольства? Попрание терминов к которым Вы привыкли? "Не дадим супостату называть наши любимые sin ХП!!!!! Если есть возражения, поправки, дополнения, всегда выслушаю, зачем ёрничать??? А на счет "Вот такой аналитический склад ума" - прочитайте чуть раньше, чем это вызвано и может будет понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 17:29 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Эх, начинающий_7, Вы бы хоть одну хранимую процедуру написали прежде чем свои копейки вносить. Но наверное консультант таким и должен быть. Встроенная функция не является ХП? Согласно MS A stored procedure is a group of Transact-SQL statements compiled into a single execution plan.. Думаю в Оракле похожее определение, а Ваши широкие понятия никого не интересуют. Надеюсь Ваш аналитический склад ума позволит отсюда сделать вывод может ли sin быть хранимой процедурой. Да и если просто почитать что люди обсуждали уже можно было бы понять что имелось под понятием "хранимая процедура". Вот аналогичное передёргивание. xz321 имел в виду, что как раз и нет необходимости слать клиенту 1ТБ... Тогда объясните чем же забивается трафик? Ну и надо сказать что то, что xz321 написал не даёт практически никого продставления о его задаче. Может при правильном подходе можно было бы temporary tablespace до одного Гига сократить? А на счет задач - знаете, встречаются и такие задачи. Знаете, говорят и снежные люди встречаются ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 17:37 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
SergSuper покажите мне пожалуйста хранилище данных > 1TБ сырых данных с 1 GB временного пространства :) Пояснения Как верно подметил begginer_7 я не говорил про пересылку 1TБ. Я не говорил что трафик забивается. Я говорил что его нужно учитывать. Ибо пропускная способность сети является косвенным тормозом системы. Задача называется аналитическое хранилище данных на DB2. DW как вы понимаете > 1TB. По поводу оптимизации не надо думать что мы новички в этом деле. Такаая задача и условия . (к сожелению в силу объективных причин не могу рассказывать о системе больше) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 18:09 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
beginner_7Почему определение - "Встроенная функция тоже попадает под определение ХП" вызывает столько недовольства? Попрание терминов к которым Вы привыкли? "Не дадим супостату называть наши любимые sin ХП!!!!! Если есть возражения, поправки, дополнения, всегда выслушаю, зачем ёрничать??? Есть. Во-первых, почему это нельзя поерничать? Что за комплексы? Обидеть не хотел, но обидеться можно на что угодно. Во-вторых, если не опредлиться с терминами, то невозможно разговаривать - не поймем друг друга (сюда же, в качестве добродушного занудства, замечание: слово "определение" тоже у нас, у тех кто в школу/институт ходил, употребляется в другом значении) А по теме мне нечего сказать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 18:28 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2SergSuper Много написал, и не на одной реализации SQL сервера. Вам как - в гистограме по тысячам строчек в разрезе SQL серверов? Что есть желание померяться "пиписьками"? Извините, у меня такого желания нет. На счет того, что >а Ваши широкие понятия никого не интересуют. Если бы Вас не интересовали мои "широкие понятия", то Вы бы не отвечали, и что за дурная привычка расписываться за всех? Вы точно всех спросили, кто читает это топик, никого не забыли? Почитал определение MS о stored procedure. Нормально, ничего не имею против. Вот что у Oracle: procedure: A set of SQL and PL/SQL statements grouped together as an executable unit to perform a very specific task. В данном случае "a single execution plan" из MS опрделения может вызвать еще большие противоречия, т.к. у Oracle "executable unit" (что на мой взгляд более правильно!) Также есть еще понятие external procedure: Function or procedure written in a third-generation language (3GL) that can be called from PL/SQL code. Only C is supported for external procedures. Также у него (Oracle) есть еще понятие Java stored procedure... Как видите, посложнее немного :) Но это не дает запрета отнести sin (которую реализовал Oracle) к ХП. Может до недавнего времени, когда Oracle различал SQL и PL/SQL машины, и наверное нельзя было отнести sin() в SQL машине к ХП, но уже в 9 версии эти машины были объеденены. Так что, дальше углубимся в теологические споры? P.S. Ничего личного! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 19:35 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
2fedd Да нет это не обида. А на счет терминов: Есть стандарты SQL, можно почитать. Есть глоссарии терминов фирм, которые реализовали SQL сервера. Есть еще реализация. Вот тут самое интересное и начинается... А есть еще форум на sql.ru :) Вот тут самое еще более интересное и начинается. Так вот у меня и возник вопрос - как будем определяться с терминами? Пусть модератор вывесит дополнения к "Правилам" про термины? Я с начала написал примерно следующее: даже "sin", "+", "-" являются ХП. Сейчас допишу следующее: Также они являются встроенными функциями, т.к. реализовала их фирма производитель. Причем количество этих функций, реализация, название и правила использования определяются конкретным SQL сервером. Так где противоречие? Заметьте, "+", "-" вообще - то правильнее назвать операторами. Не знаю, что-то тяжело идёт процесс "взаимопонимания" :) Хотя и оппонентов пока всего лишь двое. :) В следующий раз буду осторожней с "привычными" терминами. И вместе с тем, чтобы понять что-то глобальное по-моему надо выйти за рамки локального. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 20:08 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Если кто сказал, что в MySQL нет ХП - тот ошибается!!! Они были в MySQL всегда Например sin! Кстати под твое оракловое определение ХП sin не подходит. Или он у тебя вычисляется набором SQL инструкций ? PS: Насчет по-осторожнее с терминами это ты правильно сказал Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2004, 09:04 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Кстати под твое оракловое определение ХП sin не подходит. Или он у тебя вычисляется набором SQL инструкций ? да это не его определение. я понял, что он хочет расширить термин ХП и тем доказать, что без ХП нельзя: как же обойтись без "+"? однако это не отвечает на твой первоначальный вопрос, Марат. ведь ты не спрашивал, зачем нужен "+", а ты имел ввиду ХП так как их все понимают, зашоренные учебниками и определениями производителей... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2004, 09:41 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Кстати под твое оракловое определение ХП sin не подходит. Или он у тебя вычисляется набором SQL инструкций ? PACKAGE SYS.STANDARD : function SIN (N NUMBER) return NUMBER; Конечно, это не вычисления, а ссылка на функцию, но: КАКАЯ РАЗНИЦА? Не всегда ХП - "набор SQL инструкций". eNose ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2004, 10:39 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
beginner_7 Классная логика. Я вот считаю что Зенит - чемпион. По определению. У меня такое широкое понятие. Правда не удивляюсь что многих моё такое определение мало интересует. Надо так было и писать: по моему личному определению sin - это расширенная процедура, хотя и MS и Оракл считают иначе. beginner_7Если бы Вас не интересовали мои "широкие понятия", то Вы бы не отвечали, и что за дурная привычка расписываться за всех? Вы точно всех спросили, кто читает это топик, никого не забыли? Не льстите себе :) 2 xz321 Тоже классные аргументы. "База больше 1Г, в силу объективных причин не могу рассказывать о системе больше , но трафик надо учитывать" Может и надо, а может Вы неправильно что-то делаете. Я же не просил предметную область описывать, мне просто интересно чем можно забить трафик. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2004, 10:53 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
че-та обсуждение заехало в кукую-то непонятную облать. Давайте-ка четко сформулируем что такое процедура, а что такое функция. Функция - это п-программа, результатом выполнения которой является ОДНО скалярное значение, и которое естественно может быть подставлено в виде части в любое другое выражение. Если возвращаемый скалярныйрезультат отсутствует - то процедура. Процедура может также возвращать результаты через параметры, а функция этого делать не может. про табличные функции пока что говорить не будем, это вообще отдельная история и их можно приравнять к параметризированному запросу. А разговор идет как я понимаю о пользовательских функциях и процедурах. И давайте всякую лабуду типа sin(),avg(),sum() - рассматривать не будем. Да и вообще, топик похоже выдохся. Давайте его похороним!:-) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2004, 11:02 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Процедура может также возвращать результаты через параметры, а функция этого делать не может. да ладно гнать-то :-) Код: plaintext 1. 2. 3. 4. 5.
eNose ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2004, 11:31 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Функция распрекрасно может возвращать НЕ скалярное значение ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2004, 11:40 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Угу, теперь давай, всавь-ка эту "Функцию" в какой-нибудь select ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2004, 11:41 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
В фразу from запросто ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2004, 11:41 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
>Угу, теперь давай, всавь-ка эту "Функцию" в какой-нибудь select я ж с казал, что табличные и кортежные функции не рассматриваем. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2004, 11:43 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Я не видел этой оговорки в определении и это упрямый факт и в Oracle и в MSSQL код определенный как функция может возвращать не скалярное результирующее значение, что противоречит данному Вами определению. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2004, 11:53 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Сервера приложений, например основанные на J2EE могут использовать и очень эффективно MySQL и даже рекомендуют не использовать встроенные в СУБД поддержку транзакций, триггеров и хранимых процедур, а полагаться на СП. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2004, 11:55 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
Интересно, где это написано? Сколько занимаюсь многозвенками (и как раз средним слоем и БД), но ни разу не встречал книг/рекомендаций не использовать транзакции. Интересно, если полагаться на СП, то как делать восстановление после сбоев? Хотя каку MySQL с восстановлением после сбоев не знаю, я работал только с MSSQL и Oracle. Триггера - да, по возможности их лучше не использовать. ХП - использовать в случае если простые операции над даннными, которые удобнее и быстрее сделать на ХП. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2004, 12:03 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
SergSuperКлассные рассуждения, можно я тоже так попробую. 1. Когда человек стоит голова находится дальше от центра земли 2. голова находится дальше от центра земли => при беге она проходит большее расстояние 3. раз голова проходит большее расстояние => она имеет большую скорость 4. голова при беге она имеет большую скорость => при старте требуется большее усилие чтобы её разогнать 5. если лечь голова будет находиться ближе к центру земли => спортсменам-спринтерам легче было бы бежать лёжа да, наверное поэтому они начинают бег с позиции сидя, а потом плавно при разгоне начинают привставать... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2011, 21:48 |
|
Зачем нужны хранимые процедуры?
|
|||
---|---|---|---|
#18+
голос рассудка, Звезду Героя - некрофилу! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2011, 21:55 |
|
|
start [/forum/topic.php?all=1&fid=35&tid=1552669]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
160ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 250ms |
0 / 0 |