Tengo un foro pequeño, que lo tnego dividido en tres tablas, por un aldo los datos del usuario, por otro las preguntas y por ultimo las respuestas.
Mi duda y problema es que cuando quiero ver un pregunta con sus respectivas respuestas y existen más de 20 respuestas la espera se hace insoportable.
A la hora de visualizar lo hago de la siguiente forma recibe la pagina el id de la pregunta y luego busca el id en la tabla preguntas. De esa tabla coge el id del usuario y busca sus datos para visualizarlos. Y asi tambien hace con al tabla respuesta. Por esto si tiene muchas respuestas tarda muchisimo pq tiene que buscar los datos de cada usuario y mostrarlo.
He hecho una prueba haciendo k no me muestre los datos del usuario y la verdad es que va como un tiro.
El codigo que tengo es el siguiente. Espero k me podais ayudar a mejorar el codigo.
(Solo muestro el codigo de las respuestas, y he kitado el html, igual ahy fallo de sintaxis sobre algun %> o falta)
Código:
Lo dicho espero k me podais ayudar a mejorar el coido para que sea menos lento. <% Set rsrespuesta = Server.CreateObject ("ADODB.RecordSet") sql3="select Titulo,Autor,Mensaje,Fecha from Respuesta where Dequien=" &vid&" ORDER BY id asc" rsrespuesta.Open sql3,conn,3,1 do while not rsrespuesta.eof %> <%=rsrespuesta("Autor")%> <% quien=rsrespuesta("autor") sqlnivel2="select Usuario,Email,Web,Ver,puntos,nivel,fecha from usuario where Usuario= '" &quien&"'" set rsnivel2=Conn.Execute(sqlnivel2) %> <%=rsnivel2("nivel")%> Nº Mensajes:<%=rsnivel2("puntos")%> Alta: <%=rsnivel2("fecha") rsnivel2.close Set rsnivel2=nothing %> <td height="10%" class="texto" valign="top"><span class="escritoporforo"><%=rsrespuesta("titulo")%></span><br> <span class="escritopor">Enviado el: <%=rsrespuesta("fecha")%><br> <br> <% descsalto4 = replace(rsrespuesta("mensaje"),chr(13),"<br>") %> <%=descsalto4%> <% rsrespuesta.movenext loop %>