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
Форумы портала PHP.SU :: Версия для печати :: Хранимые процедуры
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Хранимые процедуры

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

1. petr - 25 Февраля, 2014 - 14:39:40 - перейти к сообщению
Собственно вопрос в том, имеет ли смысл их использовать(в MySQL в частности ну и в остальных СУБД) если имеет, то где?
Из плюсов я слышал, что это защита от sql-инъекций(насчет этого сомневаюсь) и быстродействие, якобы они работают быстрее обычных запросов.

На практике ни разу не сталкивался с ними, все проекты, которые видел были построены на формирующихся в коде запросах.

Да и вроде php фреймворки тоже их не используют

Спасибо.
2. esterio - 25 Февраля, 2014 - 15:08:06 - перейти к сообщению
не путать хранимые процедуры с подготовленные запросы
3. petr - 25 Февраля, 2014 - 15:10:22 - перейти к сообщению
нет я про хранимые процедуры говорю. в них какой плюс? или лучше просто запросы в php формировать и отправлять?
4. esterio - 25 Февраля, 2014 - 15:19:46 - перейти к сообщению
хранимые процедуры НЕ
petr пишет:
защита от sql-инъекций

petr пишет:
работают быстрее обычных запросо


они что-то наподобие функций (грубо говоря). Похоже Вы совсем запутались Радость Радость Радость
5. T1grOK - 25 Февраля, 2014 - 15:42:38 - перейти к сообщению
petr пишет:
нет я про хранимые процедуры говорю. в них какой плюс? или лучше просто запросы в php формировать и отправлять?

Производительность выше. В основном за счет того, что не нужно общаться через дополнительные драйвера.
6. esterio - 25 Февраля, 2014 - 15:53:23 - перейти к сообщению
petr, T1grOK
ребята вы о чем? какые драйвера. Вы хоть в курсе что вы обсуждаете?

http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]e-procedure[dot]html
вот это процедуры
7. T1grOK - 25 Февраля, 2014 - 22:31:14 - перейти к сообщению
Драйвер для "общения" с приложением, взять тот же ODBC, который заметно медленнее работает(приходится данные лишний раз гонять туда-назад), чем если бы вся обработка проходила на стороне Mysql.
8. caballero - 25 Февраля, 2014 - 23:42:00 - перейти к сообщению
Чушь
9. T1grOK - 26 Февраля, 2014 - 08:35:02 - перейти к сообщению
caballero пишет:
Чушь

Постараюсь в ближайшее время показать сравнительные тесты.
Сейчас мы работаем с Oracle, благодаря хранимым процедурам и функциям производительность порой на 10-15% выше, чем если бы все манипуляции производились на стороне приложения.
10. caballero - 26 Февраля, 2014 - 09:19:30 - перейти к сообщению
экономия на спичках. А трудозатраты на написание и отладку процедур посчитали?
перенос логики в хранимые процедуры - позавчерашний день
11. ПТО - 26 Февраля, 2014 - 09:28:08 - перейти к сообщению
caballero пишет:
экономия на спичках. А трудозатраты на написание и отладку процедур посчитали?
перенос логики в хранимые процедуры - позавчерашний день

СОГЛАСЕН НА ВСЕ 100% Хорошо
12. T1grOK - 26 Февраля, 2014 - 10:28:26 - перейти к сообщению
caballero пишет:
экономия на спичках.

На спичках, если цена вопроса 10-100 баксов, а когда вопрос становится о покупке дополнительных серверов для балансировки нагрузки, уже и спички целые дубинки.
13. Stierus - 26 Февраля, 2014 - 11:48:20 - перейти к сообщению
Мы в своих проектах запрещаем использовать хранимые процедуры. Причины 2:
1. Архитектурно, на мой взгляд, не правильно переносить логику приложения в mysql.
2. При желании шардировать данные будет меньше проблем.
14. Мелкий - 26 Февраля, 2014 - 12:38:06 - перейти к сообщению
T1grOK пишет:
о покупке дополнительных серверов для балансировки нагрузки

В том и проблема. Вы как РСУБД балансируете? Какую букву удаляете из CAP?
Сервера приложений, тем более PHP, масштабируются обычно сильно проще.

 

Powered by ExBB FM 1.0 RC1