Hjælp til optimering af kode. Den maxer CPU'en på min server
Hejsa,Jeg har brug for lidt hjælp til denne kode. Det er tilsyneladende den der maxer CPU'en på min server:
Partial Class starnews
Inherits System.Web.UI.Page
Public Function countImages(ByVal strUniqueKey As String)
Dim mySqlConn5 As New MySqlConnection("Database=imagecrack;Data Source=localhost;User Id=root;Password=x")
mySqlConn5.Open()
Dim cmd As MySqlCommand = New MySqlCommand("SELECT COUNT(*) AS records FROM images WHERE unique_key = '" & strUniqueKey & "'", mySqlConn5)
'cmd.ExecuteNonQuery()
Dim reader As MySqlDataReader = cmd.ExecuteReader
reader.Read()
Return "<span style=margin-left:3px;>" & reader("records") & " images</span>"
reader.Close()
mySqlConn5.Close()
mySqlConn5.Dispose()
End Function
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Master.Page.Header.Title = "celebz.info"
Dim strStarID As String = Request("id")
Dim mySqlConn As New MySqlConnection("Database=celebz;Data Source=localhost;User Id=root;Password=x; pooling=false;")
mySqlConn.Open()
Dim cmd As MySqlCommand = New MySqlCommand("SELECT COUNT(*) AS records FROM posts WHERE star_id = '" & strStarID & "'", mySqlConn)
'cmd.ExecuteNonQuery()
Dim reader As MySqlDataReader = cmd.ExecuteReader
If reader.Read() Then
Dim intRecords As Integer = reader("records")
Dim intPage As Integer = Request("page")
If Request("page") = "" Then
intPage = 1
Else
intPage = intPage
End If
Dim intPageSize As Integer = 16
Dim intStart As Integer = intPage * intPageSize
intStart = intStart - intPageSize
Dim intPages As Integer = intRecords / intPageSize
Dim mySqlConn2 As New MySqlConnection("Database=celebz;Data Source=localhost;User Id=root;Password=x; pooling=false;")
mySqlConn2.Open()
Dim cmd2 As MySqlCommand = New MySqlCommand("SELECT * FROM posts WHERE star_id = '" & strStarID & "' ORDER BY post_id DESC LIMIT " & intStart & ", " & intPageSize & "", mySqlConn2)
Dim reader2 As MySqlDataReader = cmd2.ExecuteReader
mainLabel.Text = "<div id=""container_div"" style=""width:560px; position:relative; padding-left:10px;"" align=""left"" >"
While reader2.Read()
Dim strCreated = reader2("created")
mainLabel.Text &= "<span class=header_span><h3><a href=""post.aspx?id=" & reader2("post_id") & """>" & reader2("header") & "</a></h3></span>" & strCreated.ToLongDateString() & "<br />" & reader2("content") & "<br />"
Dim strImageCrackUniqueKey As String = reader2("imagecrack_unique_key")
If strImageCrackUniqueKey = "0" Then
mainLabel.Text &= ""
Else
strImageCrackUniqueKey = reader2("imagecrack_unique_key")
Dim mySqlConn3 As New MySqlConnection("Database=imagecrack;Data Source=localhost;User Id=root;Password=x; pooling=false;")
mySqlConn3.Open()
Dim cmd3 As MySqlCommand = New MySqlCommand("SELECT * FROM images WHERE unique_key = '" & strImageCrackUniqueKey & "' ORDER BY image_id ASC LIMIT 0,3", mySqlConn3)
Dim reader3 As MySqlDataReader = cmd3.ExecuteReader
mainLabel.Text &= "<div id=""images_div"">"
While reader3.Read
mainLabel.Text &= "<a href=""image.aspx?i=" & reader3("title") & "&s=" & reader3("short_key") & """><img class=img src=""http://www.imagecrack.com/publicimages/tn_" & reader3("image_filename") & """></a>"
End While
mainLabel.Text &= "<br /><a href=""post.aspx?id=" & reader2("post_id") & """ > " & countImages(reader3("unique_key")) & "</a></div><hr />"
reader3.Close()
mySqlConn3.Close()
mySqlConn3.Dispose()
End If
End While
Dim i As Integer
labelPaging.Text = "<div id=""pager_div""><span class=""paging"">"
For i = 1 To intPages
labelPaging.Text &= "<a href=?page=" & i & ">" & i & "</a>"
Next
labelPaging.Text &= "</span></div>"
mainLabel.Text &= "</div>"
reader.Close()
reader2.Close()
mySqlConn.Close()
mySqlConn.Dispose()
mySqlConn2.Close()
mySqlConn2.Dispose()
End If
End Sub
End Class
