Grundliggende mener jeg at din SQL er korrekt og at MySQL optimizer ikke er snu nok!
Men hvis din kode ikke skal porteres til en anden database (og med mysqli kald, saa er den ikke portabel anyway), saa proev og drop index paa parent_id og sort - og lav et nyt index paa (parent_id,sort).
Hej Arne, når min første løsning var ikke korrekt. Det var min: $stmt->bind_result($content,$sort,$parent_id); Som fejlede og dermed gav den "gode" tid.
Men jeg kan se forskellen er:
SELECT content,sort,parent_id FROM items = 2,7sek.
SELECT sort,parent_id FROM items = 0sek.
Så hvordan udtrækker man mediumtext i "stor" stil uden at gå ned på performance?
Hvordan ser jeg størrelsen af en mediumtext ? Altså jeg startede med at have content som text, der blev det i nogle tilfælde "clipped" derfor måtte jeg hæve den et niveau.
Jeg skal vise det hele. Jeg lavede dog en lille "optimering".
Systemet var bygget sådan op:
AGENDA AGENDA_PUNKT AGENDA_UNDERPUNKT
I udtrækket vil der altid være en AGENDA. 1-X AGENDA_PUNKTER 1-X AGENDA_UNDERPUNKTER
Da jeg gerne ville kunne styre opsætningen af hver underpunkt 100% i "runtime", gemte jeg dem i en række hver.
Nu har jeg så samlet alle underpunkter og gemmer dem formatteret i AGENDA_PUNKT, så dermed et AGENDA_UNDERPUNKTER tabellen droppet og dermed mister jeg lidt formatteringsmuligheder.
Men jeg gik fra ~3 sekunder -> 0.5 sekund. Så det er ok her og nu.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.