Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.lang.php > #16206
| Newsgroups | pl.comp.lang.php |
|---|---|
| From | Wojciech Bancer <wojciech.bancer@gmail.com> |
| Subject | Re: Symfony 4 - jak projektować bazę danych pod Doctrine? |
| References | (5 earlier) <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> <q9t7vj$4ol$1@node2.news.atman.pl> |
| Organization | None |
| Date | 2019-04-26 09:32 +0200 |
| Message-ID | <slrnqc5d19.27vm.wojciech.bancer@pl-test.org> (permalink) |
On 2019-04-25, Marek S <precz@spamowi.com> wrote:
>> 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ż.
Przez dodanie _ na początku i na końcu wyrazu (bez spacji).
>>> 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?
Wygląda jak klasyczna niepotrzebna optymalizacja.
Zamieniasz też " na ', żeby zyskać 2 sekundy czasu serwera w rok?
> 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?
Wszysktie? Nie. Nadmiarowe, stworzone "na wszelki wypadek"? Tak.
To co robisz nosi wszelkie znamiona premature optimization i unnecessary
optimization. Niby jest wydajnej, ale różnicy nikt tak realnie nie zobaczy,
a Ty tracisz na tym czas.
>> 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.
Query builder *nie* jest żadnym łataniem, ani też żadnym SQLem.
Jest narzędziem do budowania zapytań.
Jak chciałbyś odpytywać bazę inaczej?
Nie wszystko na bazie sprowadza się do robienia pojedynczych zapytań
i działania na pojedynczych obiektach.
>>> 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"
No nie. Query builder zbuduje zapytanie DQL:
https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/dql-doctrine-query-language.html
Uwalnie Ciebie od znajomości struktury (nazw kolumn kluczy, nazw tabeli),
bo sam to ogarnia na podstawie otworzonej przez Ciebie relacji z obiektami
Entities.
A potem ten DQL zostanie przetworzony na coś w stylu:
DELETE FROM services s WHERE s.project_id = " . $project->getId(); // jeśli $project to obiekt
DELETE FROM services s WHERE s.project_id = " . $project; // jeśli $project to prymityw (liczba lub string)
ale już bez Twojego udziału.
Ale tak g gdzieś ostatecznie pod spodem jest wynik w postaci SQL.
Przecież musi być, bazy danych inaczej nie gadają.
Zauważ, że:
- nie znasz tej nazwy tabeli (doctrine sam ją "ogarnia"
na podstawie tego jak zdefiniowałeś entity)
- do $project wstawiasz obiekt entity lub id, a doctrine
sam sobie poradzi z tym by to miało dla niego sens
sam też zna nazwę kolumny, na podstawie relacji jaka
była utworzona w entity
--
Wojciech Bańcer
wojciech.bancer@gmail.com
Back to pl.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar
Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-20 20:27 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-21 14:25 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-21 17:34 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-21 19:49 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-22 20:58 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-22 21:14 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-22 23:18 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-23 08:26 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-23 18:37 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-23 19:21 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-23 22:01 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-23 22:31 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Roman Tyczka <noemail@because.no> - 2019-04-24 08:54 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-24 09:20 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? ww <ww@o2.pl> - 2019-04-23 15:18 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-23 17:13 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? ww <ww@o2.pl> - 2019-04-24 08:20 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-24 15:13 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-24 18:28 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-24 20:18 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-25 00:08 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-25 21:26 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-26 01:57 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-26 10:17 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-26 12:58 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-26 17:18 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-26 20:04 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-26 23:26 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-26 20:09 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-26 22:26 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-27 10:27 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-27 13:58 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-27 15:39 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-27 16:44 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Roman Tyczka <noemail@because.no> - 2019-04-28 13:16 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-28 14:18 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-28 15:06 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-28 15:31 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-26 11:21 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-26 13:16 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-23 19:10 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-23 19:51 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-23 22:10 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-23 22:38 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-24 19:03 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-24 21:19 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-25 22:49 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-26 01:50 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-26 23:58 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-30 15:35 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-23 22:47 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-24 19:29 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-24 20:01 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-25 23:14 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-26 09:32 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-27 00:37 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-28 14:50 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-30 01:16 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-30 10:38 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? ww <ww@o2.pl> - 2019-04-24 08:24 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-24 19:41 +0200
csiph-web