Predator446
31.10.2008, 19:50:29
Co jest szybsze i bardziej efektywne wykonanie kodu w triggerach (MySQL) czy może z poziomu kodu PHP? Czy lepiej napisać triggera czy darować sobie i napisać w PHP to co ma zrobić trigger?
Pozdrawiam...
tomek_
12.11.2008, 14:16:47
Jak na mój gust lepiej przerzucić część przetwarzania już na bazę i używać triggerów i procedur składowanych.
Choć jak prawie zawsze zależy jakiego typu miało by to byc przetwarzanie
nevt
12.11.2008, 16:25:11
ogólnie rzecz ujmując triggery będą wydajniejsze i bezpieczniejsze - dobrze napisane gwarantują spójność danych i zachowanie relacji między tabelami. do tego kod PHP a także kod SQL w zapytaniach do bazy będzie prostszy i czytelniejszy.
jednak bywają specyficzne sytuacje, gdzie zastąpienie triggera przez kod w php może przynieś pewne korzyści. np. dość częsta sytuacja przy zewnętnym hostingu który obsługuje wiele serwisów www z dostępem do wspólnego serwera bazy danych, jeżeli wydajność serwerów nie jest dobrze zbalansowana, wtedy baza czasami zwyczanie 'nie wyrabia'. wtedy warto przenieść część zadań związanych z obróbką danych na serwer PHP. inny przykład to skomplikowane operacje które mogą przekroczyć narzucone limity na obsługę zapytania w bazie (czas trwania, zajętość pamięci / procesora, itp.), wtedy rozdrobnienie zadań w php pozwala obejść limity, oczywiście kosztem wydajności.