hoi ik kom er niet uit: ik heb een query die een selectie van Objects toont, met daaraan gekoppeld per Objects-record een reeks files. het aantal files per object kan van 0 tot oneindig - zeg 100 - oplopen. van de files wil ik de eerste 10 tonen. Ik wil per pagina max 100 Objects tonen.
dus:
tabel Objects
tabel Files - 1 op veel relatie met Objects
probleem: ik kan limit niet gebruiken om het aantal objecten te beperken, bijv. geef mij alle objecten van 101 t/m 200, want de limit werkt op rows en per row kan ik meerdere keren hetzelfde object maar telkens een nieuwe bijbehorende file krijgen.
vanwege mysql 3.23 waar ik mee werk, kan ik geen group_concat gebruiken om de eerste 10 files te bundelen als 1 string zodat ik netjes per row een object terugkrijg.
hoe pak ik dit in godsnaam - netjes - aan? moet ik dit clientside - lees: in php - oplossen, waardoor ik een huge recordset terugkrijg en vervolgens in php dan maar moet gaan tellen ("he een nieuw object: objcount++... he objcount > 100: break!") 't lijkt me performance-wise zeer onverstandig gewoon maar alles op te vragen en dan clientside te gaan bepalen van waar tot waar ik records uit de set toon...
als laatste kom ik er ook niet uit om in m'n query het aantal gekoppelde files te limiteren, stel er hangen 100 files aan een object, dan krijg ik middels die leuke left join ook 100 rows terug, terwijl ik maar de eerste 4 nodig heb....
na uren rondzoeken op got en mysql.com kom ik er nog niet uit! ben ik dan echt noodgedwongen naar mysql 4.x te upgraden??
dus:
tabel Objects
tabel Files - 1 op veel relatie met Objects
probleem: ik kan limit niet gebruiken om het aantal objecten te beperken, bijv. geef mij alle objecten van 101 t/m 200, want de limit werkt op rows en per row kan ik meerdere keren hetzelfde object maar telkens een nieuwe bijbehorende file krijgen.
vanwege mysql 3.23 waar ik mee werk, kan ik geen group_concat gebruiken om de eerste 10 files te bundelen als 1 string zodat ik netjes per row een object terugkrijg.
hoe pak ik dit in godsnaam - netjes - aan? moet ik dit clientside - lees: in php - oplossen, waardoor ik een huge recordset terugkrijg en vervolgens in php dan maar moet gaan tellen ("he een nieuw object: objcount++... he objcount > 100: break!") 't lijkt me performance-wise zeer onverstandig gewoon maar alles op te vragen en dan clientside te gaan bepalen van waar tot waar ik records uit de set toon...
als laatste kom ik er ook niet uit om in m'n query het aantal gekoppelde files te limiteren, stel er hangen 100 files aan een object, dan krijg ik middels die leuke left join ook 100 rows terug, terwijl ik maar de eerste 4 nodig heb....
na uren rondzoeken op got en mysql.com kom ik er nog niet uit! ben ik dan echt noodgedwongen naar mysql 4.x te upgraden??
[ Voor 7% gewijzigd door js303 op 09-02-2005 23:18 ]