Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Зачем нужны процедуры?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Esigns
Отправлено: 03 Декабря, 2013 - 16:54:51
Post Id


Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Привет.
Уже не первый задаю себе этот вопрос о процедурах - зачем они нужны?
Разве не проще написать тот же код на php? Как по мне поддержка приложения, которое активно использует процедуры гораздо сложнее чем приложение где все запросы написаны на ПХП.

Вроде как они работают быстрее чем обычные запросы. Это очень узкий круг задач где нужна максимальная производительность. Гораздо чаще(практически всегда) и проще можно написать более эффективный код/запрос, или как-то оптимизировать базу/кэш и выигрыш в производительности будет не 5-10% как в процедурах, а 100% - 200%. К тому же мне сложно представить обыденную задачу для пхп где эти 5% играют какую либо роль.

Еще говорят что код чище. Если не писать 1 большую соплю код будет всегда чистым. Разве что классов будет больше.

В чем я ошибаюсь? Какая выгода от процедур и почему их используют?
Спасибо за ваши мнения.
 
 Top
dXdYdZ
Отправлено: 03 Декабря, 2013 - 16:57:36
Post Id


Посетитель


Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013  


Помог: 11 раз(а)




Здравствуйте. Что ещё за процедуры такие? Объясните, пожалуйста, поподробнее.
(Добавление)
Что такое процедуры в Pascal - я знаю. Это функции, которые не возвращают значения. А вот что такое процедуры в PHP - не понятно.
(Добавление)
Вот тут тоже был вопрос про процедуры:
http://forum.php.su/topic.php?fo...1&topic=2781
 
 Top
Esigns
Отправлено: 03 Декабря, 2013 - 17:03:03
Post Id


Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Тут вроде как более менее не плохо написано. Можно нагуглить еще при желании.
http://www[dot]zoonman[dot]ru/library/mysql_sr_and_t[dot]htm
(Добавление)
Ну я спрашивал не о процедуре в самом ПХП, а о процедурах в sql ...
Может есть какие-то выгоды от их использования, которых я не вижу.
К тому же при использовании процедур иногда будут возникать проблемы с кэшированием запросов.
 
 Top
esterio
Отправлено: 03 Декабря, 2013 - 17:13:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




dXdYdZ
Имелось ввиду хранимые процедуры

Esigns
Если счас для Вас выгоды нет, значит они Вам не нужны. Но на все свое время, и они еще станут Вам в нагоде.

По сабжу: ИМХО логику БД лучше держать в самой БД (есть и исключения правда). Также в тригерах можна использовать их, что расширяет возможности.

(Отредактировано автором: 03 Декабря, 2013 - 17:15:03)

 
 Top
EuGen Администратор
Отправлено: 03 Декабря, 2013 - 17:15:21
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Всё зависит от используемой СУБД и решаемых задач. Если речь о MySQL - там stored procedures плохи по самому своему устройству, почти всегда стоит делегировать это приложению. Но если речь идёт о, например, Oracle - то нередко в таких приложениях значительная часть бизнес-логики поручается СУБД и весьма успешно. Приложения не только для веб бывают.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Esigns
Отправлено: 03 Декабря, 2013 - 17:16:31
Post Id


Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




esterio пишет:
Если счас для Вас выгоды для Вас нет, значит они Вам не нужны.

вот я и подумал что может она есть, эта выгода, но я ее не знаю. Понятно, спасибо.
 
 Top
esterio
Отправлено: 03 Декабря, 2013 - 17:26:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




EuGen пишет:
Если речь о MySQL - там stored procedures плохи по самому своему устройству

Можна поподробней?
 
 Top
caballero
Отправлено: 03 Декабря, 2013 - 17:29:57
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Уже не первый задаю себе этот вопрос о процедурах - зачем они нужны?
Разве не проще написать тот же код на php?

хранимые процедуры появились за много лет до PHP и интернета


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Мелкий Супермодератор
Отправлено: 03 Декабря, 2013 - 19:12:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Esigns пишет:
Разве не проще написать тот же код на php?

Postgres PL/PHP и ваш вопрос случайно зацикливается Подмигивание
Сама хранимка может быть написана на PHP.

PS: моё юбилейное 2^13 сообщение


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB