hoi,
ben bezig met het maken van een forum als project. nu zit ik een beetje vast met een sql query wat zut uit verschillende tabellen moet ophalen.
dat ding moet de forumnaam, omschrijving, aantal posts, aantal topics en datum van laatste posting ophalen.
op dit moment zijn het # posts en # topics nog als db veld in de forum table. ik weet namelijk niet hoe het met de performance van select count zit als je duizenden records hebt.
de select query die ik al heb:
recset2=conn.Execute("SELECT forums.posts, forums.id, forums.forum, forums.omschrijving, forums.topics FROM forums WHERE forums.groep_id = "+recset("id")+" AND forums.zichtbaar = 1 ORDER BY forums.plaats ASC");
nou moet ik 'postdatum' uit de table replies hebben met het hoogste id.
nou heb ik de volgende query bedacht:
SELECT replies.postdatum, forums.posts, forums.id, forums.forum, forums.omschrijving, forums.topics FROM forums,replies WHERE forums.groep_id = 3 AND forums.zichtbaar = 1 AND replies.id = last_insert_id() ORDER BY forums.plaats ASC
tot zover werkt het ok in een sql client. ik krijg netjes de rows terug die ik wil hebben inclusief de laatste datum.
copy/paste ik de sql rechtstreeks in m'n asp source code dan geeft tie geen enkele row terug
, terwijl mascon mysql client de goeie rows terug geeft. iemand een idee?
is het trouwens zo dat select count zwaar je systeem belast. de manier is nu namelijk dat ik in de table forum een record bij houd wanneer er een reply / topic gepost word. dit is nou niet echt efficient. hoe doen ze dat hier op de frontpage van GoT?
ben bezig met het maken van een forum als project. nu zit ik een beetje vast met een sql query wat zut uit verschillende tabellen moet ophalen.
dat ding moet de forumnaam, omschrijving, aantal posts, aantal topics en datum van laatste posting ophalen.
op dit moment zijn het # posts en # topics nog als db veld in de forum table. ik weet namelijk niet hoe het met de performance van select count zit als je duizenden records hebt.
de select query die ik al heb:
recset2=conn.Execute("SELECT forums.posts, forums.id, forums.forum, forums.omschrijving, forums.topics FROM forums WHERE forums.groep_id = "+recset("id")+" AND forums.zichtbaar = 1 ORDER BY forums.plaats ASC");
nou moet ik 'postdatum' uit de table replies hebben met het hoogste id.
nou heb ik de volgende query bedacht:
SELECT replies.postdatum, forums.posts, forums.id, forums.forum, forums.omschrijving, forums.topics FROM forums,replies WHERE forums.groep_id = 3 AND forums.zichtbaar = 1 AND replies.id = last_insert_id() ORDER BY forums.plaats ASC
tot zover werkt het ok in een sql client. ik krijg netjes de rows terug die ik wil hebben inclusief de laatste datum.
copy/paste ik de sql rechtstreeks in m'n asp source code dan geeft tie geen enkele row terug
is het trouwens zo dat select count zwaar je systeem belast. de manier is nu namelijk dat ik in de table forum een record bij houd wanneer er een reply / topic gepost word. dit is nou niet echt efficient. hoe doen ze dat hier op de frontpage van GoT?