Jag har ett nyhetsscript som hämtar poster med getrows.
Nu vill jag kolla om tabellen "users" kolumn "f_expandnews" är true eller false.
Är det då smart att göra det i denna sql-sats eller skall jag skapa ett nytt recordset?
Om jag gör det med detta så kommer true/false loopas igenom allt ihopa och det kanske är lite onödigt, eller...?
Set RS = Conn.Execute("SELECT sn_title,sn_body,sn_date,u_expandnews FROM site_news,users ORDER BY sn_date")
If NOT RS.EOF Then arrayRS = RS.GetRows()
Som din fråga ser ut nu så får du tillbaka kryssprodukten för de båda tabellerna och det är aldrig bra. Det vore okej om du hade något villkor på users så att du bara hämtar data för en specifik användare. Du hämtar då visserligen onödigt mycket data men om du inte har väldigt mycket nyheter så tycker jag inte at det gör något.
Ok, det var inte riktigt sant att den såg ut så. Den ser ut så här:
Set RecSet = Connect.Execute("SELECT sn_id,sn_title,sn_body,sn_date,sn_count,u_expandnews FROM site_news,users WHERE now() between sn_from and sn_to AND sn_uid="& uid &" AND u_id="& uid &" ORDER BY sn_date")
Kanske inte förändrar läget ändå?
Är det smartare (om man plockar u_expandnews i samma fråga)att sätta en variabel av arrayRS(5,0) innan man stänger recordsettet än att plocka med det i loopen senare på sidan?