Wpis z mikrobloga

pobieram sobie w #symfony #doctrine dwie kolumny w taki sposób: http://pastebin.com/d2Y9zG0v jak zrobić żeby rozbić te dwie kolumny na oddzielne tablice, tj w jednej tablicy mam wszystkie lastName a w drugiej wszystkie companyName ? da radę to jakoś sprytnie bez pętli ? czy lepiej po prostu zrobić dwa zapytania i się nie męczyć ?
#webdev #php
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Jurigag: A dlaczego wykonanie dwóch zapytań miałoby być szybsze :P? Dwa razy odpalasz parser DQL, dwa razy doctrine przetrawia to do DBAL, dwa razy leci zapytanie do bazy, dwa razy wyniki trafiają do Doctrine i dwa razy są obrabiane przez Doctrine. Raczej brzmi to wolniej :P
  • Odpowiedz
@InnyKtosek: bo indeksy itp itd, nie ma pętli itd ? :P wydaje mi się że szybciej będzie pobrać z bazy takie coś uszeregowane niż robić pętle wszystkich wynikach i dodawać elementy do oddzielnych tablic, ale sprawdzę oba rozwiązania :P
  • Odpowiedz
@Jurigag: Jak pobierasz wszystko jak leci to indeksy raczej niewiele pomogą. Po drugie i tak wyniki są ładowane do RAM a przetrawienie tablicy mającej kilkadziesiąt tysięcy wartości to dla PHP kilka mikrosekund. Poza tym gdyby Doctrine oferowało taką funkcję to przecież tak czy owak robiłoby to się w PHP tylko byś tego nie widział.
  • Odpowiedz
@Jurigag:

1. Jak często chcesz te dane wyciągać? Im częściej, tym szybciej to musi działać. Ale jeśli dosyć rzadko to nie ma znaczenia i dowolna metoda będzie ok – nawet jeśli nie będzie za szybka.
2. Jak dużo musisz tych danych wyciągać? Bo jeśli bardzo dużo (w tysiącach) to jednak wypada się zastanowić nad wydajnością. Jeśli mniej, to znów: można olać – dowolna metoda będzie wystarczająco szybka.
3. Zrób dwa
  • Odpowiedz