|
|
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
собственно всё началось тут 14576289 и как я понял многие против их использования, хотелось бы знать причину. мой опыт говорит, что есть только плюсы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 16:33:05 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
вадяи как я понял многие против их использованияДа не "против", а просто инструмент должен быть по задаче. Бывают ситуации, когда без них никак. А бывают, что с ними плохо. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 16:36:37 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
Да никто не против. Просто в mysql это не настолько хорошо развитая возможность и как-то не сложилась практика их использования. Те же пхпшники настолько преуспели в фильтрации данных, что это теперь обязательная часть любого "набора развивающих кубиков программиста" (framework-а). им и не нужно фильтровать еще в pl/sql и городить логику ограничения доступа. А кроме них остаются только мигранты с оракла. Вот и пусть идут в постгресс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 16:46:24 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
вот бы и хотелось знать когда с ними плохо и что значит фильтрация у php? сервер все равно быстрее фильтрует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 17:22:24 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
вадя, ну это вы там начали расписывать как удобно в хранимых процедурах организовывать дополнительные логические ограничения для доступа к данным. Вот на пхп тоже удобно. А проблема sql-иньекций настолько всех достала, что борьбу с ними максимально механизировали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 17:55:39 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
netwindДа никто не против. Просто в mysql это не настолько хорошо развитая возможность и как-то не сложилась практика их использования. 5.5 использую, делаю всё на процедурах. Пока НИКАКИХ проблем нет. Я доволен. А я в этом деле (использование процедур) очень искушён и привередлив. Выходные параметры, множественные наборы данных возвращаемые из процедур, и всё такое прочее. Есть только одна странность с выходными параметрами, терпимая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 17:59:25 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
и как я понял многие против их использования, хотелось бы знать причину. Родной, 95% людей -- идиоты. Помни всегда об этом, когда читаешь интернет. мой опыт говорит, что есть только плюсы. В общем в исползовании процедур нет минусов, если только сервером (СУБД) они нормально поддерживаются. Минус небольшой может быть только в немного более сложной разработке, чем просто запросом. И ещё есть существенное ограничение -- невозможно делать ad-hoc queries. Но на самом деле ad-hoc queries -- это вообще по жизни зло, их не должно быть по хорошему в системе. Я борюсь с невозможностью писать ad-hoc queries путём генерации кода хранимых процедур -- генерирую их на все случаи жизни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 18:04:05 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
Все, кто используют в mysql хранимые процедуры - жлобье решившее экономить на лицензиях оракла. Обсудите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 18:34:24 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
netwindВсе, кто используют в mysql хранимые процедуры - жлобье решившее экономить на лицензиях оракла. Обсудите.Ну я понял бы еще PostgreSQL. А MySQL слишком далек от того Оракла, имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 18:36:40 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
перношу сюда слова devart, авторMySQL никогда не позволял и не обязывал делать ни какой принудительной компиляции процедуры, в отличии, например, от Оракла. и прошу уточнить (раставить точки над i) mysql однозначно не компилирует процедуры? как это делает mssql и оракл? и приведенные мной ссылки - только слова? т.е. хранимки не обеспечивают увеличение скорости? почему меня волнует вопрос по использованию хранимок? однажды работал в одной IT конторе, пришлось работать с ораклом, после наслаждения работой с хранимками mssql, решил их использовать и в оракле. Реакция начальства меня шокировала - запретили использовать хранимки, но никаких боле-менее значимых довоов не смогли привести, нет и всё. вот и мучаюсь - что в ни плохое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 18:39:57 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
miksoft, мало того что жлобье, так еще и не потрудились поискать субд, о которой у энтерпрайзных программистов будет меньше шока. Вообще, кто все эти люди? Есть ли хоть один проект, где возможности pl/sql в mysql используют не по традиции или ошибке ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 18:40:50 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
вадяоднажды работал в одной IT конторе, пришлось работать с ораклом, после наслаждения работой с хранимками mssql, решил их использовать и в оракле. Реакция начальства меня шокировала - запретили использовать хранимки, но никаких боле-менее значимых довоов не смогли привести, нет и всё.Думаю, там дело было не столько в хранимках, сколько в других, скорее даже нетехнических, проблемах. Например, никто годами ими не умел пользоваться, а тут вдруг появился какой-то умник, который чуть ли не революцию предлагает. Чтобы кабы чего не вышло легче запретить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 18:54:05 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
авторДумаю, там дело было не столько в хранимках, сколько в других, скорее даже нетехнических, проблемах. Например, никто годами ими не умел пользоваться, а тут вдруг появился какой-то умник, который чуть ли не революцию предлагает. Чтобы кабы чего не вышло легче запретить. я тоже склояюсь со временем к этой мыли.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 19:04:45 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
вадя, Вам miksoft уже правильно ответил: никто специально - не запрещает, инструмент должен соответствовать задаче. Точка. Далее, уже идут "нюансы": 1. ХП в оракле или где ещё - это по своей сути мощный инструмент, превращающий сервер БД - в практически полноценного сервера приложений... вы можете всю, без исключения логику взаимодействия с конкретной БД запихнуть в ХП и "непущать" клиента с его доморощенным (а хоть бы сторонним и даже покупным) фреймворком непосредственно к данным. И правильно, нефиг туды лазить шаловливыми ручками... но... ваша БД - фактически превращается в ... обыкновенное приложение с интерфейсом в виде ХП (API), нет? Оборотная сторона: что-то добавить/удалить переструктурировать... зови спеца по конкретно этой базе... или кто-то сторонний должен в этом Г-коде ХП (сколько программистов, столько способов писать и каждый свой - конечно же лучший!) сесть и сломать себе шею... или озолотиться. 2. ХП в Мускуле - это "приблуда" не обладающая таковым же набором достоинств что и в нормальных СУБД... так, залепуха "только отстаньте" (можете покидаться камнями :)... а самое главное, что Мускуль ориентирован на хорошее исполнение разовых запросов... и, спрашивается "нафига попу баян"? И часто, ХП лепят в Мускуль из-за ... курсоров. "а как же мне последовательно пройтись по записям"... РМД - по определению не знает ничего о "последовательностях" записей. Это аналог ассоциативного хранилища. Код, требующий последовательности хранения(!) или зависящий от неё - неверен в своей основе. В принципе не верен. Это типовые обработки в ЯП и их привычка. Ничего более. 3. Курсоры. Это зло по определению. И в Мускуле - тормоза, просто расчудесные... и это - правильно. Ибо нефиг. Подозреваю, потому что Мускуль был изначально только ассоциативным хранилищем - это СУБД по клиентскому управлению данными. Нефиг из сервера БД с ассоциативным доступом делать конченое приложение. Клиент должен уметь делать с хранилищем - всё что ему вздумается. Как-то так. ХП - хороши там, где они полноценны и реально помогают. А Мускуль - для других целей. Модератор: Не волнуйтесь так :) чуток поправил орфографические ошибки, а то глаз режут :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 19:15:59 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
Arhat109, :) да просто устал ужо и глаза плохо видют и пальцы мимо клавы пролетают да и на клаве - половина буков ужо стерта и не прожимаетси... Кстати, не все: "конченое" - читать как "конечное". Это тоже "промах". :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 19:29:41 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
т.е. хранимки не обеспечивают увеличение скорости? Конечно же, обеспечивают, уже потому, что нет round trip с клиентов на сервер и обратно. почему меня волнует вопрос по использованию хранимок? однажды работал в одной IT конторе, пришлось работать с ораклом, после наслаждения работой с хранимками mssql, решил их использовать и в оракле. Реакция начальства меня шокировала - запретили использовать хранимки, но никаких боле-менее значимых довоов не смогли привести, нет и всё. вот и мучаюсь - что в ни плохое? Не мучайся, просто начальство дурное попадалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 19:56:58 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
но... ваша БД - фактически превращается в ... обыкновенное приложение с интерфейсом в виде ХП (API), Так и замечательно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 20:01:07 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
MasterZiv, по задаче - и инструмент. Это далеко не всегда "полезно", хотя и замечательно. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 20:08:21 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
2Arhat109 отчасти соглашусь с твоими взглядами я б тож считал так пункт1/абзац2 но есть счас такой инструмент как dbForge, который позволяет работать с хранимками, как с любым языком прогрммирования - наглядно и доступно подключаться к базам вместо phpAdmin. даннае в курсоле - результат того же селекта с нужной сортировкой, заполние данных на сайтах и пр. - тот же проход по данным, что и курсор и то что php пройдется по записям и кучу раз обратится к серверу ...что тоже времяёмко о быстродействии надо судить по системе в целом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 20:38:46 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
вадя, не вкурил... можно "развернуть" мыслю к народу (мне, к примеру)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 20:53:13 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
по теме: как-то в серьезной компании разгорелась баталия куда мигрировать биллиард (чтоб не соврать) Про-С линий кода: на С# или на жабу. И чтоже вы думаете? начальство поступило мудро -- не нашим, не вашим -- проект переписали на Пл/СКЛ. И автор этих строк за несколько лет написал милиард линий ПЛ/СКЛ кода -- весь бек-енд платежной системы крупной страховой компании. Всли не надо выдрючиваний, хранимки, ПЛ -- вполне нормальный язык для бизнесс логики и прямого работы к данным. В архитектуре средних и больших проектов всегда есть ветикальные слои. Для примера -- 1. клиентский код (хамл, жквери) 2. сервер, бизнес логика (жаба, бины и всекая другая фигня) 3. слой работы с базой (хибернат) 4. база (dDase) два средних слоя можно написать практически на любом современом языке. Причем варинаты есть не только на логическом-бизнес уровне, но и на системных требований. Например: -- хранимки обеспечивают безопасность и строгое соблюдений неких правил (сложных констрейнов). ОК, задвинуть базу в сторону и перекрыть ее веб сервисом. никаких клиентских конектов кроме как веб сервис. -- хранимка -- вообше удобная вешь, легко кодировать, дебагить итд. давайте морду писать на ПХП а логику на ПЛ. ОК, а то что получаются две линии кода, две сорсе репоситори, все линии деплоймента, два набора навыков. Я не против ХП и вижу их преимушества, но современые фреймворки сильно облегчают доступ к данным... Т.е. ХП в новом проекте я бы предложил как исключение чем правило...(IMHO) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2013, 21:29:04 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
Arhat109вадя, не вкурил... можно "развернуть" мыслю к народу (мне, к примеру)? а я не кури то, что ты не вкурил... по применению хранимок в инете много вопросов по получению последнего вставленного id в хранимке это решается просто LAST_INSERT_ID(); для особо боязливых это можно завернуть в транзакцию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2013, 10:13:44 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
вадяв инете много вопросов по получению последнего вставленного id в хранимке это решается просто LAST_INSERT_ID(); для особо боязливых это можно завернуть в транзакциюLAST_INSERT_ID() прекрасно работает и в SQL-запросах, и даже выведен в клиентский API. Так что это не аргумент за/против ХП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2013, 10:41:57 |
|
||
|
Хранимые процедуры: за и против
|
|||
|---|---|---|---|
|
#18+
miksoftвадяв инете много вопросов по получению последнего вставленного id в хранимке это решается просто LAST_INSERT_ID(); для особо боязливых это можно завернуть в транзакциюLAST_INSERT_ID() прекрасно работает и в SQL-запросах, и даже выведен в клиентский API. Так что это не аргумент за/против ХП. только люди боятся что между двумя обращениями к базе, может быть обращение со стороны и этот id уже будет не верным... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2013, 11:24:58 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38334725&tid=1836428]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 310ms |

| 0 / 0 |
