Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.lang.php > #15956
| From | Marek S <precz@spamowi.com> |
|---|---|
| Newsgroups | pl.comp.lang.php |
| Subject | Laravel ORM czy SQL? |
| Date | 2018-12-25 14:54 +0100 |
| Organization | ATMAN - ATM S.A. |
| Message-ID | <pvtcr2$dl3$1@node2.news.atman.pl> (permalink) |
Witam, Próbuję przekonać się do ORM. Ponoć jest to szybsze i wygodniejsze. Być może gdy robimy jakiegoś prostego inserta do jednej tabeli i czy selecta. Jednakże tu też mam wątpliwości czy jest to faktycznie szybsze niż pisanie w SQL. Nie bardzo potrafię zainfekować się tą ideą. Oto moje wątpliwości: 1. Pracując w ORM musimy nauczyć się SQL raz jeszcze - od nowa. Jest on zapisany w języku PHP za pomocą funkcji. Pytanie: po co? Jest z tego jakaś korzyść? W dodatku łapię się na tym, że staram się przekładać w myślach to co piszę w ORM na język zapytania SQL jakie z tego może powstać by uzyskać efektywność wykonania złożonego zapytania. Tymczasem szybciej byłoby zwyczajnie w SQL skrobnąć to samo zapytanie zamiast kombinować. 2. W ORM tracimy w pewnym zakresie kontrolę nad tym jaki SQL z tego się wytworzy. Nie wiem czy jest inny sposób monitorowania wygenerowana SQL przez ORM jak grzebanie w logach bazy danych - co mocno komplikuje development. Nie wiem czy da się zmusić ORM do generowania optymalnych struktur SQL charakterystycznych dla konkretnej bazy danych. Np. z tego co pamiętam, w MySQL JOINny mogły mieć tylko 1 argument a w niektórych przypadkach w PostgreSQL JOINy z wieloma argumentami potrafiły dramatycznie zwiększyć wydajność zapytania. Oczywiście to tylko jest przykład ad hoc. Zapewne jeśli się zastanowić, to wiele sytuacji można wymyślić. 3. Przy tworzeniu większych systemów rzadko zdarza się, że pracujemy z jedną tabelą w sensie aktualizacji zawartości. Np. aby móc zrobić inserta z kompletem potrzebnych danych, to nierzadko zachodzi potrzeba wydobycia informacji z innych tabel, przeliczenie czegoś tam i w zależności od wyników zmodyfikowanie rekordów w tej i innych tabelach. Tak więc traktowanie ORM jako "rekordu w pojedynczej tabeli" jest mocnym ograniczeniem. Model i tak musi grzebać w całym ekosystemie bazy danych. Jedyna korzyść jaką dostrzegam, to możliwość przenoszenia projektów między jedną z 4 baz danych jaką Laravel obsługuje. Ale czy to jest faktycznie takie istotne? Zazwyczaj nie ma potrzeby zmiany bazy. -- Pozdrawiam, Marek
Back to pl.comp.lang.php | Previous | Next — Next in thread | Find similar | Unroll thread
Laravel ORM czy SQL? Marek S <precz@spamowi.com> - 2018-12-25 14:54 +0100
Re: Laravel ORM czy SQL? Borys Pogoreło <borys@pl.edu.leszno> - 2018-12-26 17:50 +0100
Re: Laravel ORM czy SQL? Marek S <precz@spamowi.com> - 2018-12-26 21:28 +0100
Re: Laravel ORM czy SQL? Borys Pogoreło <borys@pl.edu.leszno> - 2018-12-26 23:26 +0100
Re: Laravel ORM czy SQL? Marek S <precz@spamowi.com> - 2018-12-27 22:05 +0100
Re: Laravel ORM czy SQL? Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-12-27 22:12 +0100
Re: Laravel ORM czy SQL? Marek S <precz@spamowi.com> - 2018-12-28 22:28 +0100
Re: Laravel ORM czy SQL? Borys Pogoreło <borys@pl.edu.leszno> - 2018-12-28 22:48 +0100
Re: Laravel ORM czy SQL? Marek S <precz@spamowi.com> - 2018-12-28 23:29 +0100
Re: Laravel ORM czy SQL? Borys Pogoreło <borys@pl.edu.leszno> - 2018-12-29 00:03 +0100
Re: Laravel ORM czy SQL? Marek S <precz@spamowi.com> - 2018-12-29 21:23 +0100
Re: Laravel ORM czy SQL? irq <ipluta62@gmail.com> - 2019-01-06 04:05 -0800
csiph-web