![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Prosta rzeczy, ile różnych obliczeń, operacji itp. robicie w bazie, a ile w tym czym programujecie (bo do PHP nie musimy się ograniczać)?
Bo ja dość sporo operacji, jeśli mogę przerzucam na bazę, z prostego powodu zrobi to szybciej, nie tylko że można sobie funkcje pisać w czym się podoba (prawie) ale też że niektóre rzeczy są optymalizowane. Wiadomo count() itp. rzeczy robi się na bazie, ale czasem można o wiele więcej, np. system trigger'ów które robią odpowiednie akcje zależne, zamiast pisania tego w kodzie aplikacji. Różne obliczenia na danych z bazy, gdzie zwraca się tylko wynik. Jak to u Was wygląda, bo kiedyś spotkałem się z opinią że lepiej nie używać niczego co oferują bazy, bo przy wdrążeniu na inną bazę robią się schody. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jedyne wnioski jakie ja wyciągam, że użycie triggerów po części wiąże aplikacje z konkretną bazą - tak samo jest z procedurami.
Osobiście mi się to nie podoba, gdyż lubię mieć pełną logikę biznesową w całości po stronie programistycznej. Mówiąc prościej używałbym Ich gdybym był zmuszony : 1. Pisać aplikację pod już istniejącą bazę. 2. Zapytania wykonywane przez triggery byłyby dla aplikacji transparentne. Pozdrawiam, Alan |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
2. Zapytania wykonywane przez triggery byłyby dla aplikacji transparentne. ? To ja nie wiem jaką masz definicję transparentne... Cała sprawa rozbija się o parę spraw: - przenośność aplikacji, wiadomo im więcej korzystamy z specyficznych rzeczy tym trudniej - tym że baza potrafi niektóre rzeczy zoptymalizować, tak jak na poziomie kodu się nie da, bo może Wam się wydaje, że mowa tylko o trigger'ach czy procedurach, ale chodzi też o sortowanie, filtrowanie itd. przecież też da się to zrobić w kodzie, ale jakoś nikt tego nie robi (tylko początkujący), więc może macie apatię do pewnych rzeczy. - czasami baza jest i tak przeciążona, więc czy zawsze jest to na korzyść pod względem wydajności - sytuacje kiedy z bazy korzysta wiele aplikacji, jeśli czegoś się nie zrobi na poziomie bazy, trzeba uwzględnić wszędzie. - nawet przy bezpośrednich operacjach na bazie, jest utrzymywany pewien porządek. bo chyba o to się cała sprawa rozbija. (wiadomo, że dużo zależy od przypadku, ale można omówić poszczególne i co w nich lepiej wychodzi) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 00:07 |