Article View: pl.comp.lang.php
Article #232435Re: Symfony 4 - jak projektować bazę danych pod Doctrine?
From: Marek S
Date: Thu, 25 Apr 2019 21:14
Date: Thu, 25 Apr 2019 21:14
72 lines
4285 bytes
4285 bytes
W dniu 2019-04-24 o 20:01, Wojciech Bancer pisze:
> Nie, nie, nie, nie. Nie zrozumiałeś. To co napisałem to:
> Zamiast przyspieszyć _moze_ 2x procesy w bazie np. przez dołożenie trigerów,
> wolę mieć opcję stabilnej obsługi zarówno 10, 100 jak i 1000+ userów "na raz")
> bez straty wydajności, w zależności od potrzeb, przez auto-skalowalne rozwiązania.
Ok, czuję intencję.
BTW
Jak tworzysz podkreślenia? Próbowałem _ przed i za, próbowałem __ i
kiszka. Być może więcej wyrazowych wyrażeniach próbowałem. Nie pamiętam już.
>> Ja preferuję inne podejście:
>> zoptymalizować bazę, a gdy już więcej się nie da - wtedy zająć się
>> infrastrukturą sprzętową. Tego nie zmienię w sobie.
>
> No i właśnie. Projektujesz system który "ma ścianę" i to dość blisko.
Czy jest coś w tym nagannego, że z wyciskam z serwera max. ilość
operacji/s? Może inaczej: proponujesz pousuwać wszelkie optymalizacje z
bazy, jak np. indeksy, po to by być daleko od ściany i mieć świadomość,
że można dużo poprawić w tejże bazie?
> Problem w tym, że na razie "beztroski" to wydajesz się Ty, w angażowaniu
> ORMa bez zrozumienia idei za nim stojących.
Nie beztroski lecz uczący się. Jednakże już w tym wątku dostałem
wytyczne jak "naprawić" ideę ORM w zakresie usuwania/aktualizacji
rekordów poprzez banalnie proste zabiegi na udostępnionych przez ORM
mechanizmach. Mam na myśli łatanie niedostatków poprzez stosowanie
querybuildera etc.
> I nawet nie chciało Ci się zajrzeć do manuala tegoż ORMa, prawda?
> Bo byś znalazł rozdziały dot. wydajności, batch processingu itp.
Jestem w trakcie czytania dokumentacji. Na bieżąco pytam o to, czego nie
rozumiem. Wyssałeś z palca moje podejście pomimo iż w poprzednich
wątkach wyraźnie pisałem iż raczkuję dopiero i potrzebuję podpowiedzi.
Otrzymałem, doczytam i wdrożę w testowym projekcie.
>> To ja wiem. To jest korzystanie z SQLa, do którego z awersją podchodzisz
>> r=traktując go jako raka w ORMie.
>
> Gdzie Ty tam widzisz SQL? o.O
> To jest wg Ciebie SQL?
> ---
> $qb = $em->createQueryBuilder();
> $qb->delete('Services', 's');
> $qb->where('s.project = :project');
> $qb->setParameter('project', $project);
> ---
Kompletnie nie znam querybuildera a widzę (być może fałszywie) to, co
poniżej. Zgaduję, że Services odnosi się do nazwy entity a ta do tabeli
o tej samej nazwie. Więc:
"DELETE FROM services s WHERE s.project=$project"
Czy źle odczytuję powyższe?
> Ciekawe. Jaki dialekt wiesz może?
Coś w rodzaju mowy od tyłu: niby słowa są znane... ale takie trochę inne.
Ale zgodziłem się już wcześniej, że jest to użyteczne narzędzie, które
pozwoli mi na unikniecie kosztownych DELETE'ów. Oczywiście po zapoznaniu
się wcześniejszym z batch processingiem. Bo być może to też będzie
świetnym mechanizmem do optymalizacji zapytań hurtowych.
--
Pozdrawiam,
Marek
Technical Details
Message-ID:
<q9t7vj$4ol$1@node2.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<q9foak$p72$1@node2.news.atman.pl> <slrnqboo9s.e87.wojciech.bancer@pl-test.org> <5cbf10a8$0$482$65785112@news.neostrada.pl> <q9ngu2$rla$1@node2.news.atman.pl> <szccfmi95el5$.xlp4ie6tp398.dlg@40tude.net> <q9nrgf$d0c$1@node1.news.atman.pl> <slrnqbuueh.2ui0.wojciech.bancer@pl-test.org> <q9q6ee$a2s$1@node2.news.atman.pl> <slrnqc194m.2amm.wojciech.bancer@pl-test.org>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: Marek S <precz@spamowi.com> Newsgroups: pl.comp.lang.php Subject: Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Date: Thu, 25 Apr 2019 23:14:18 +0200 Organization: ATMAN - ATM S.A. Lines: 72 Message-ID: <q9t7vj$4ol$1@node2.news.atman.pl> References: <q9foak$p72$1@node2.news.atman.pl> <slrnqboo9s.e87.wojciech.bancer@pl-test.org> <5cbf10a8$0$482$65785112@news.neostrada.pl> <q9ngu2$rla$1@node2.news.atman.pl> <szccfmi95el5$.xlp4ie6tp398.dlg@40tude.net> <q9nrgf$d0c$1@node1.news.atman.pl> <slrnqbuueh.2ui0.wojciech.bancer@pl-test.org> <q9q6ee$a2s$1@node2.news.atman.pl> <slrnqc194m.2amm.wojciech.bancer@pl-test.org> NNTP-Posting-Host: 89-70-94-204.dynamic.chello.pl Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1556226867 4885 89.70.94.204 (25 Apr 2019 21:14:27 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Thu, 25 Apr 2019 21:14:27 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 In-Reply-To: <slrnqc194m.2amm.wojciech.bancer@pl-test.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit