webForumDet fria alternativet

Slå ihop SQL-satser samt optimering

3 svar · 256 visningar · startad av Bosse168

Bosse168Medlem sedan nov. 20031 019 inlägg
#1

Någon som kan hjälpa mig att slå ihop och optimera dessa SQL satser?

Set Rs = Connect.Execute("SELECT COUNT(username) As online FROM members Where status = 'online'")

online=Rs(0)

Rs.Close : Set Rs = Nothing

Set Rs = Connect.Execute("SELECT COUNT(id) As chatt FROM chatt_online")

chatt=Rs(0)

Rs.Close : Set Rs = Nothing

Set Rs = Connect.Execute("SELECT COUNT(messageid) As mess from mailin WHERE last=0 AND till='" & id & "'")
If not Rs.EOF Then
nytt=Rs(0)
End If
Rs.Close : Set Rs = Nothing

Set Rs = Connect.Execute("SELECT COUNT(ID) FROM gb As gb WHERE  last=0 AND till='" & id & "'")
If not Rs.EOF Then
nytt = nytt + Rs(0)
End If
Rs.Close : Set Rs = Nothing

Tusen tack i förväg.

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Vad är det som går långsamt?
Har du bra index?
Vad säger explain?

Bosse168Medlem sedan nov. 20031 019 inlägg
#3

Vad menar du med bra index?
Tänkte att det borde finnas något bättre sätt att lösa detta på något annat sätt än att öppna databasen massa gånger och bara göra det en gång i samma RecSet.
Eller tjänar man inget på innerjoin?

LarsGMedlem sedan dec. 200012 465 inlägg
#4

Det finns inget sätt att använda join här eftersom du frågar efter orelaterade saker. Du får inrikta dig på de frågor där du har villkor och se till att dessa utnyttjar index.

Genererad på 366 ms · cache AV · v20260730165559-full.f96bc7eb