Страница 1 из 1
триггеры MySQL
Добавлено: 2009-04-30 1:16:24
ProFTP
мало что понял
они для чтого чтобы делать автоматически функции... напрмиер для подсчета чего-то? (для подсета количесва каки-то единиц)
но эти функции вызвать нельзя, если я правильно понимаю? они встраиваються в таблицу?
кто их использовал и для чего?
Re: триггеры MySQL
Добавлено: 2009-04-30 5:00:57
zg
ProFTP писал(а):напрмиер для подсчета чего-то? (для подсета количесва каки-то единиц)
триггеры срабатывают на определённое условие, например, на вставку записи в таблицу. То есть ты можешь дополнительно контролировать целостность базы, используя не только ключи, но и более сложные схемы.
ProFTP писал(а):но эти функции вызвать нельзя, если я правильно понимаю?
а нафиг их вызывать, если можно создать процедуру? у них другая задача - сидеть в засаде и ждать определённого события
ProFTP писал(а):кто их использовал и для чего?
с учётом того, что пятый мускул далеко не на всех хостинга стоит, то лично я пока нигде не использовал. Да и грузят они базу не подетски.
Re: триггеры MySQL
Добавлено: 2009-04-30 6:07:52
ProFTP
а толк от процедур в SQL кто-то заметил?
я вот нагуглил, оно полезное может быть, но все таки не знаю зачем, или это стиль кодинга где половину писать в SQL процедуре?
но там наверное тоже проблема при переходе на дургую версии СУБДнадо переделывать всё
Re: триггеры MySQL
Добавлено: 2009-04-30 10:31:50
hizel
ну например log-ирования
да и вобще мускульные тригеры и процедуры печальные чуть менее чем полностью, лучше смотреть как это выглядит в postgresql и для чего используется
у мя например в одной базке при вставке в octets делается insert or update в тобличку ostets_day
Re: триггеры MySQL
Добавлено: 2009-04-30 10:34:20
ProFTP
hizel писал(а): в postgresql и для чего используется
а зачем используються?
ну я имел ввиду и триггеры и процедуры... но они не надо, у меня ORM используется, процедуры не надо
Re: триггеры MySQL
Добавлено: 2009-04-30 10:40:58
hizel
я привел пример
не надо не пользуйся, мне понадобилось я воспользовался
некоторые используют для переноса части логики на СУБД
и ORM тут не причём

Re: триггеры MySQL
Добавлено: 2009-08-03 22:20:32
ProFTP
на MySQL все таки УЖЕ не плохо выглядят процедуры и триггеры, вот тут вот пример с постгре и с мусей, выглядит не плохои
http://habrahabr.ru/blogs/mysql/63883/ http://habrahabr.ru/blogs/postgresql/63416/, логику теперь можно ставить в процедуры SQL так как в Firebird, например...
Re: триггеры MySQL
Добавлено: 2009-08-04 8:57:42
hizel
хз чо там в фаербирд, а в мускули можно было писать где то с 5.0.15
Re: триггеры MySQL
Добавлено: 2009-08-04 11:48:54
ProFTP
hizel писал(а):в мускули можно было писать где то с 5.0.15
но они не такие как в оракл например, там можно вообще все писать в самом SQL
Re: триггеры MySQL
Добавлено: 2009-08-04 12:09:16
hizel
ProFTP писал(а):hizel писал(а):в мускули можно было писать где то с 5.0.15
но они не такие как в оракл например, там можно вообще все писать в самом SQL
и что?
Re: триггеры MySQL
Добавлено: 2009-08-04 12:30:16
ProFTP
в оракл больше овзможностей...
Re: триггеры MySQL
Добавлено: 2009-08-04 15:20:31
hizel
ProFTP писал(а):в оракл больше овзможностей...
америку открыл! тебе они нужны эти возможности? ты хоть ставил хотябы тестовый 10g - он сжирает сразу 1 Гб оперативы и продолжает хавать дальше.

Re: триггеры MySQL
Добавлено: 2009-08-04 15:37:22
ProFTP
ну например для деревовидных структур, и если таблицы большая, в MySQL решений нет...
Re: триггеры MySQL
Добавлено: 2009-08-04 15:57:36
hizel
Re: триггеры MySQL
Добавлено: 2009-08-04 16:05:24
ProFTP
решения есть, но если ты например хочешь переместить раздел, то ты сможегь это сделать только чтобы изменить все поддерево, и если в переносимом разделе 10 000 поразделов и вложений, то выдержит ли MySQL 10 000 UPDATE запросов вместе и все вермя их делать?
Re: триггеры MySQL
Добавлено: 2009-08-04 16:41:29
hizel
не прднозначено реляционное хранилище для хранение деревьев, ваш К.О.
Re: триггеры MySQL
Добавлено: 2009-08-04 16:49:01
ProFTP
там надо на уровне самого хранилица работать, но не на уровне SQL, потомучто нету опреатором для работы с деревом (иначе не правильная архитектура программы) но можно функцию написать для MySQL они там сишное АПИ предоставляет кажется
там что-то вроде бы есть на PostgreSQL
Re: триггеры MySQL
Добавлено: 2009-10-05 8:45:06
ProFTP
подскажите где есть статьи полные про процедуры и триггеры
http://www.google.com.ua/#hl=uk&q=%D0%B ... 4c8c5f5ddc
я что-то не нашел, посмотрел - ничего не понял
желательно на русском
кто разбирался?
Re: триггеры MySQL
Добавлено: 2009-10-06 22:29:27
buryanov
ProFTP писал(а):а толк от процедур в SQL кто-то заметил?
я вот нагуглил, оно полезное может быть, но все таки не знаю зачем, или это стиль кодинга где половину писать в SQL процедуре?
но там наверное тоже проблема при переходе на дургую версии СУБДнадо переделывать всё
Движок вашего приложения может быть написан с использованием и\или sql. Если вы обновляете или правите возможности вашего приложения, то вам необходимо будет у всех переставлять приложение, что при достаточно большом колличестве клиентов, может быть проблематично. А так вы обновили логику на сервере и у всех поменялся функционал, грубо говоря, аналогия с вебом. Пример использования тригеров я писал в статье:
Защита exim от DDoS
Re: триггеры MySQL
Добавлено: 2009-10-07 15:20:30
buryanov
как вариант использования тригеров - подсчёт трафика, вы загоняете в таблицу данные, а в таблице настроен тригер, который срабатует на каждую строку и обновляет в другой таблице статистику.
Процедуры очень полезны при использовании запросов со множеством запросов внутри, мускул, по сравнению с oracle тяжелее переносит их, особенно при загруженном сервере. Вы создаёте процедуру и разбиваете свой запрос на несколько, можете спокойно написать логику и тд
Re: триггеры MySQL
Добавлено: 2009-10-15 13:21:21
weec
а на стороне скрипта эту логику нельзя реализовать?
mysql вообще слабовато с логикой работает
для нескольких мелких задач эти триггера сойдут, а если хотите всю логику на mysql взваливать тогда уж лучше заюзать Oracle или че другое хорошо работающее с логикой