Article View: pl.comp.programming
Article #215776Re: Serializacja obiektów w bazie danych - jakie podejście jest zalecane?
From: M.M.
Date: Mon, 02 Sep 2019 12:56
Date: Mon, 02 Sep 2019 12:56
21 lines
3905 bytes
3905 bytes
On Thursday, August 1, 2019 at 1:41:58 PM UTC+2, Maciej Sobczak wrote: > > Skąd Wasze opory przed robieniem takich automatów jeśli oszczędzają one > > 90% czasu na klepanie SQL-i?!? > > Stąd, że przy prostych systemach pisanie SQLi prawie w ogóle nie zajmuje czasu, więc nie ma sensu inwestować, żeby tam coś zaoszczędzić; a przy skomplikowanych systemach niczego się nie zaoszczędzi automatyzacją. > Co więcej, nawet przy Twoim rozwiązaniu z dziedziczeniem klas możesz napotkać na opór programisty przed wprowadzaniem optymalizacji - wyobraź sobie, że jakiemuś SQLowi bardzo by pomogło jedno dodatkowe słowo (np. hint na użycie konkretnego indeksu, co jest częstym przypadkiem) - w Twoim rozwiązaniu, żeby to jedno słowo dopisać do zapytania, trzeba stworzyć dodatkowy byt w postaci klasy dziedziczącej. Zależnie od polityki zarządzania kodem, to może być konieczność dodania nowego pliku. Dalej być może zmiana skryptu budującego. Itd. Znam przypadek, kiedy to właśnie programista stawiał opór po tym, jak wcześniej sam poprosił admina o zdiagnozowanie słabej wydajności programu i admin po diagnozie zarekomendował drobną zmianę SQLa a na tą drobną zmianę programista nie miał procesu, bo mu framework (akurat w Javie) wszystko "automatyzował". > > Napisz uczciwie SQLa. Nawet krótkiego. > > -- > Maciej Sobczak * http://www.inspirel.com Pracowałem zarówno na sqlu osadzanym bezpośrednio w kodzie (z różnym zestawem funkcji wspomagających, rzecz jasna, nie chodzi o to aby łączyć się z bazą po soketach), jak i na różnych maperach i warstwach pośrednich. Nie wyrobiłem sobie zdania że jedno z tych rozwiązań jest wyraźnie lepsze lub gorsze. Na pewno w przypadku gdy pracowałem blisko sqla w kodzie, to łatwiej mogłem dopisać funkcje które z punktu widzenia projektu były przydatne, a jakiś framework/biblioteka niekoniecznie je oferował. Pozdrawiam
Technical Details
Message-ID:
<75c0a0bd-20a0-49be-a2e2-8b0bd7cc64ce@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.eu.feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!85.12.16.69.MISMATCH!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!o24no2720458qtl.0!news-out.google.com!d29ni364qtg.1!nntp.google.com!o24no2720453qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<3RZ_E.825905$w82.303616@fx33.am4> <b5a5eba3-5dcd-4ee9-acf6-4ee728a19a5f@googlegroups.com> <U02%E.324013$Lu7.252596@fx13.am4> <qhm60a$1j7l$1@gioia.aioe.org> <SUD%E.1982843$hWc.88937@fx15.am4> <26f6ef8b-e2f7-4f48-b690-3a55af9683ff@googlegroups.com> <mwj0F.956841$j33.883367@fx26.am4> <92e6d2a7-d95f-47ed-bda6-9ec57a84fc1d@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:45c9:: with SMTP id e9mr28871221qto.133.1567429002404; Mon, 02 Sep 2019 05:56:42 -0700 (PDT) X-Received: by 2002:ac8:7612:: with SMTP id t18mr6048127qtq.94.1567429002186; Mon, 02 Sep 2019 05:56:42 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.eu.feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!85.12.16.69.MISMATCH!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!o24no2720458qtl.0!news-out.google.com!d29ni364qtg.1!nntp.google.com!o24no2720453qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Mon, 2 Sep 2019 05:56:41 -0700 (PDT) In-Reply-To: <92e6d2a7-d95f-47ed-bda6-9ec57a84fc1d@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=31.0.44.18; posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj NNTP-Posting-Host: 31.0.44.18 References: <3RZ_E.825905$w82.303616@fx33.am4> <b5a5eba3-5dcd-4ee9-acf6-4ee728a19a5f@googlegroups.com> <U02%E.324013$Lu7.252596@fx13.am4> <qhm60a$1j7l$1@gioia.aioe.org> <SUD%E.1982843$hWc.88937@fx15.am4> <26f6ef8b-e2f7-4f48-b690-3a55af9683ff@googlegroups.com> <mwj0F.956841$j33.883367@fx26.am4> <92e6d2a7-d95f-47ed-bda6-9ec57a84fc1d@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <75c0a0bd-20a0-49be-a2e2-8b0bd7cc64ce@googlegroups.com> Subject: Re: Serializacja obiektów w bazie danych - jakie podejście jest zalecane? From: "M.M." <mmarszik@gmail.com> Injection-Date: Mon, 02 Sep 2019 12:56:42 +0000 X-Received-Bytes: 4104 X-Received-Body-CRC: 2668908356 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit