grote sql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jan R

Jan R

14/03/2016 19:17:01
Quote Anchor link
Hi,

Ik heb zonet een sql lijntje aangepast. het viel me op dat deze nogal groot begon te worden.(voor mij dan toch :))
met 36 lijnen is die toch al groot hoewel niet mijn grootste.
Wat is bij jullie zowat de grootste sql?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
SELECT
    uitslag,
    p.opmerking,
    DATE_FORMAT(datum, "%d/%m/%Y"),
    s1.naam ,
    s2.naam ,
    s1.id,
    s2.id,
    COALESCE(p.uitsteller, "")as uitsteller
FROM trn_partijen p
join trn_spelers s1
    on s1.id=speler1
join trn_spelers s2
    on s2.id=speler2
WHERE
    p.id_toernooi=8 and
    uitslag not in(".") and
    datum>=(
        select
            max(datum)
        from trn_partijen
        where
            id_toernooi=8 and datum=(
                select
                    max(datum)
                from
                    trn_partijen
                where
                    id_toernooi=8
                    and (weekday(datum) =
                        (SELECT (speeldag-1) FROM trn_toernooien WHERE id = 8) )))
            
    order by
        datum,
        s1.naam,
        s2.naam

Deze query is oorspronkelijk wel met hulp van sommigen van jullie in elkaar gebokst waarvoor nog steeds mijn dank.
Deze haalt alle partijen op welke gespeeld zijn sinds de laatste officiële speeldag, dus ook deze welke op uitzonderings dagen gespeeld zijn.

Jan
Gewijzigd op 14/03/2016 19:17:38 door Jan R
 
PHP hulp

PHP hulp

27/11/2024 21:32:59
 
Jan R

Jan R

16/03/2016 09:18:26
Quote Anchor link
Niemand :(
 
Randy vsf

Randy vsf

16/03/2016 09:23:40
Quote Anchor link
Op het werk werken we met veel grotere queries.
En ik heb zelf gemerkt dat je een hoop door de database kan oplossen, dat is vele malen sneller dan bepaalde dingen in PHP op te lossen.
Dus grote queries zijn niet zo erg :-)
 
Thomas van den Heuvel

Thomas van den Heuvel

16/03/2016 14:36:21
Quote Anchor link
Brevity is the soul of wit.

Simpelweg omdat iets lang(er) is, wil dat niet zeggen dat het krachtiger is en/of veel (meer) werk verzet.

Daarnaast is het aantal regels niet zo'n goede maatstaf, daar je een query, uit oogpunt van leesbaarheid, over meerdere regels kunt verdelen.

Evenmin is het aantal karakters een goede maatstaf, want je kunt alle op te vragen kolommen uitschrijven in plaats van simpelweg SELECT *, en ook kun je aliassen hele lange namen geven. Terwijl de query effectief niets extra's doet.

In den beginne van het computertijdperk werden naar verluid ontwikkelaars betaald per K-LOC (1000 regels aan code). Ik hoef je waarschijnlijk niet uit te leggen wat voor gedrochten van programma's dat soms opleverde.

De kunst lijkt mij juist alles zo simpel (en kort) mogelijk te maken, maar niet simpeler (of korter). Tevens moet code ideaal gesproken zichzelf uitleggen en er zinnig uitzien. En zo zijn er nog meer aspecten die je hiermee zult moeten balanceren (leesbaarheid, onderhoudbaarheid, veiligheid, performance et cetera). Dit zal altijd een tradeoff zijn.

Lengte of aantal regels lijken mij echter geen zinnig criterium.

Of zoals iemand anders mij ooit zei: je moet niet tellen, maar wegen.
Gewijzigd op 16/03/2016 14:57:29 door Thomas van den Heuvel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.