• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

MySql - procedury składowane i dlaczego są złe

Object Storage Arubacloud
+1 głos
457 wizyt
pytanie zadane 25 sierpnia 2021 w SQL, bazy danych przez User007 Bywalec (2,400 p.)
Witam.

Tytuł trochę jak clickbait bo spotkałem się ze stwierdzeniem że są złe bo nie są w ogóle skalowalne i nie powinno się ich używać. Jako że pierwszy raz spotkałem się z tym terminem stąd poniższe pytania.

Czym są procedury składowane i czy naprawdę są złe?

Dziękuję

2 odpowiedzi

+2 głosów
odpowiedź 25 sierpnia 2021 przez Wiciorny Ekspert (270,110 p.)

Procedura składowana (ang. stored procedure) jest nazwanym zbiorem poleceń w języku SQL, który jest przechowywany na serwerze baz danych i jest kompilowany przy pierwszym wykonaniu. Procedury wnoszą do środowiska bazodanowego przetwarzanie warunkowe i możliwości programistyczne.

pierwsze źródło masz cały temat nawet http://math.uni.lodz.pl/~bleja/asb/ITA-101-Modul_09_v2.pdf

Zastosowanie

  • uporządkowanie/centralizacja operacji na bazie danych
  • wprowadzanie reguł bezpieczeństwa (klient ma prawo wykonać procedurę, a nie wykonać dowolne zapytanie)
  • zmniejszenie liczby interakcji z bazą danych

 Więc umiejętne stosowanie nie jest złe, wręcz uważam żę jest to bardzo dobre rozwiązanie więc chyba coś pomyliłeś. 
A wszystko co nieumiejetnie używane jest złe. 

komentarz 26 sierpnia 2021 przez User007 Bywalec (2,400 p.)
Dzięki.
+2 głosów
odpowiedź 25 sierpnia 2021 przez mokrowski Mędrzec (155,460 p.)
Oprócz znanych zalet, można wymienić oczywiście i wady.

Wiązanie "w dół" do warstwy persystencji a nie w górę do warstwy domeny/logiki biznesowej...

Uzależnianie się od dostawcy i rodzaju bazy danych uniemożliwiające w przyszłości jej zastąpienie.

Implementowanie logiki domenowej na nieadekwatnym poziomie i jawne tworzenie anemicznej domeny.

Pokusa łączenia kontekstów domeny nie na poziomie interfejsów/serwisów/... a poprzez warstwę persystencji.

itp...
komentarz 25 sierpnia 2021 przez Wiciorny Ekspert (270,110 p.)
to mi na myśl torchę przychodzi jak z dziedziczeniem w językach, fajna rzecz- ale w rozsądnej ilości i w odpowiednim do tego celu a nie na zaś "na wypadek"
komentarz 26 sierpnia 2021 przez User007 Bywalec (2,400 p.)

@mokrowski, dzięki

komentarz 26 sierpnia 2021 przez mokrowski Mędrzec (155,460 p.)

@Wiciorny, no tak. Dziedzicznie "spawa kod". Często okazuje się że pierwotny wybór zależności dziedziczenia w trakcie rozwoju aplikacji, okazuje się błędny. A wycofać się .. nijak... Poza tym (co do pierwotnego pytania), abstrakcja bazy danych ma się nijak do rzeczywistych zależności reguł domenowych które nie operują na np. złączeniach kartezjańskich.

Rynek zna wiele przypadków negatywnych konsekwencji wyboru procedur składanych (choćby przypadek Allegro czy ... Naszej Klasy :) ) ( z tych znanych...). Ogólnie architekci unikają tego rozwiązania oprócz trywialnych aplikacji które nie wyrosną poza model CRUD. IMHO to w 80% zły pomysł.

Podobne pytania

0 głosów
3 odpowiedzi 4,692 wizyt
pytanie zadane 9 czerwca 2015 w SQL, bazy danych przez niezalogowany
–1 głos
1 odpowiedź 501 wizyt
pytanie zadane 26 kwietnia 2017 w SQL, bazy danych przez Ugari Nowicjusz (200 p.)
0 głosów
0 odpowiedzi 472 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...