webForumDet fria alternativet

blev ingen bra optimering

ASPur ASP

6 svar · 215 visningar · startad av strevor

Medlem sedan maj 20029 inlägg
Frågan#1

Hm..
Jag har gjort en sajt med ett litet bilspel..
och nu efter att ha läst en del om optimering här på det tjusiga forumet... så tänkte jag skulle optimera lite kod.

Tror dock inte det blev så bra då varje gång jag kör scriptet så överbelastas servern :(
Jag kör med asp och mysql.

Det jag vill göra är ett script som kollar om ett IDnr är upptaget i tre olika tabeller..
det jag har testat med är följande:

KOD:
----------------------------------------------------------------------

IDfinns = False

sql = "SELECT Count(*) FROM tbl1, tbl2, tbl3 WHERE tbl1.ID = " & nyttID & " OR tbl2.ID = " & nyttID & " OR tbl3.ID = " & nyttID

Set RecSet = Connect.Execute(sql)

   If RecSet(0) \> 0 then IDfinns = True

RecSet.Close
Set RecSet = Nothing

-----------------------------------------------------------------------

Hm.. när jag kör detta lokalt så funkar det utmärkt men inte på webhotellet.. :l

Så nu undra jag om det finns någon som kan hjälpa till och reda ut lite kod?

Medlem sedan nov. 20017 144 inlägg
#2

Välkommen till WF
Är det problem med rättigheter på severn?
Vad blir det för felmeddelande?

MVH Jesper

Medlem sedan maj 20029 inlägg
#3

Tack! :)

Vet ej om det är problem med rättigheterna på servern dock.
När jag kör koden så händer inget mer än att sidan bara laddar, laddar och laddar.

När jag sedan kollar på belastningen på servern via telnet så stiger den och blir skyhög :(

När jag kollar trafiken genom mysqlFont så står det upp emot 30-40 sqlfrågor med status: "locked" hmm..

inget felprogrammerat i själva koden då lr?

Medlem sedan juli 20003 825 inlägg
#4

Majoriteten av alla asp-snubbar kör Axccess eller möjligen MS SQL Server.

Det finns ett SQL-forum som du kan ta en titt i. Om inte det hjälper skulle jag råda dig att flytta diskussionen till PHP-forumet. Dom har över lag bättre koll på MySQL.

Personligen skulle jag inte avstå från att posta ASP-kod i PHP-forumet, snarare råda till det om det kan komma dig ett steg närmare en lösning.

Medlem sedan dec. 200012 464 inlägg
#5

Jag förstår att den frågan kan ta lite tid.

Om du skriver den såhär

q = "select 1 from tbl1 where id = " & nyttid & " union all "
q = q & "select 1 from tbl2 where id = " & nyttid & " union all "
q = q & "select 1 from tb3 where id = " & nyttid 
set rs = connect.execute(q)
if not rs.eof then
'posten finns i någon av tabellerna

Det förutsätter att du har MYSQL 4 (kommer inte ihåg exakt i vilken subrelease som union infördes.) Annars så får du skriva tre separata frågor.

Medlem sedan juni 20008 205 inlägg
#6

Fast jag tycker det låter som om relationerna i databasen är lite kajko. Borde du inte kunna slå samman dem med relationer på något vis?

Medlem sedan maj 20029 inlägg
#7

Ah.. härligt!

Det löste sig med LarsGs tips. Tack så mycket!!
Fungerar finfint nu :)

Tack för era svar boys

135 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)