webForumDet fria alternativet

Hämta kolumn ifrån annan tabell med getrows?

ASP

4 svar · 202 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1

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()
Medlem sedan dec. 200012 464 inlägg
#2

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.

Medlem sedan nov. 20017 144 inlägg
#3

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?

Medlem sedan dec. 200012 464 inlägg
#4

om u_id finns i users och är unik så duger det.

Fråga 2

Du menar alltså om

expand = arrayrs(5,0)
for ... 
   ...
   if expand ...
next

är bättre än

for i = lbound to ubound
  if arrayrs(5,i) ...

?

Det är (nog) marginell skillnad. Mät.

Medlem sedan nov. 20017 144 inlägg
#5

Det var presix så jag menade.
-"(Mät)"
Jag tycker att "timer()" funkar så kasst så jag vet inte om det är lönt.
Tack LarsG!

354 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
214 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
215 ms — ändringar (db)