Foros del Web » Programando para Internet » PHP »

demasiadas consultas a la base de datos, necesito consejos

Estas en el tema de demasiadas consultas a la base de datos, necesito consejos en el foro de PHP en Foros del Web. Me gustaría que vieran esta página: http://nfs-s.com/nfsw/PERFECT10N ese es el perfil de un jugador. Yo hice practicamente lo mismo, pero mi código tiene DEMASIADAS consultas... ...
  #1 (permalink)  
Antiguo 26/05/2013, 05:47
 
Fecha de Ingreso: febrero-2013
Mensajes: 163
Antigüedad: 11 años, 2 meses
Puntos: 1
demasiadas consultas a la base de datos, necesito consejos

Me gustaría que vieran esta página: http://nfs-s.com/nfsw/PERFECT10N ese es el perfil de un jugador.
Yo hice practicamente lo mismo, pero mi código tiene DEMASIADAS consultas... ustedes, mirando esa página, como creen que está estructurada? (base de datos y consultas)... no se si tendré que optimizar todo mi código o no hay de otra... o tal vez mi base de datos.
Para que tengan una idea en mi código para cada "pista-event" debo hacer una consulta.. y son 91 pistas... me parece una exageración y que yo lo estoy haciendo mal
  #2 (permalink)  
Antiguo 26/05/2013, 05:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: demasiadas consultas a la base de datos, necesito consejos

Mirando una página no se puede saber cómo está estructurada una base de datos. Para eso hay que conocer los requisitos del sistema, y toda la lógica de negocio subyacente a la vista.
No se puede, sólo mirando una web saber qué hay detrás, porque muchísimas estructuras de BBDD son totalmente invisibles (transparentes) al usuario. Puedes tener una decena de tablas, o bien tener centenares. No se ve porque la estructura de datos es inaccesible desde una vista.
Para ver si estás haciendo demasiadas consultas, por otra parte, deberíamos ver el total de las consultas que haces y conocer tu sistema, es decir, lo miso que para el otro.
Lo que sí puedo decirte es que si tu sistema tiene problemas de performance pueden deberse a la consultas, o no. Pueden ser problemas de programación ineficiente también.
Lo de las consultas a la base se puede resolver optimizando. El tema es ajeno a la programación y deberías resolverlo en el Foro de Bases de Datos o el subforo del DBMS que usas.
En cuanto a la programación... con lo que describes no hay ni por dónde empezar.
¿Ya has diagnosticado algún problema puntual en tu aplicación? ?Cuál?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 26/05/2013, 06:21
 
Fecha de Ingreso: febrero-2013
Mensajes: 163
Antigüedad: 11 años, 2 meses
Puntos: 1
Respuesta: demasiadas consultas a la base de datos, necesito consejos

Entiendo... No tengo ningun problema hasta ahora, hace más de 91 consultas sin problemas. Mi tabla tiene estas columnas: idjugador, nick, pistamulti1, pistamulti2, pistamulti3 ... hasta pistamulti91.. pistasingle1, pistasingle2, pistasingle3 ... hasta pistasingle91.. cochemulti1, cochemulti2, cochemulti3 ... hasta cochemulti91 y lo mismo con cochesingle
Desde una API de ese juego obtengo los tiempos de cada jugador en cada pista en multiplayer y singlepayer, y las agrego a cada campo según la pista...
Cuando el jugador accede a su perfil, se hace esta consulta: select * from pilotos where nick='xxxxxx' luego tiene que comparar si su mejor tiempo se hiso en multiplayer o singleplayer y se imprime su mejor tiempo de cada pista y con que coche lo hiso, después compara con todos los tiempos de los demás jugadores para determinar cuantos tienen un tiempo más bajo para definir su posición... y otros cálculos..
Todavía no puse en marcha esa función pero ya tengo el código, y antes quiero contactar con mi proovedor, ya les envié un ticket. Es que uso un servidor compartido y no se si consumiría demasiados recursos, es la primera vez que uso un hosting. Creo que posteé esto en la categoria equivocada

Última edición por mathiasmontiel; 26/05/2013 a las 06:42
  #4 (permalink)  
Antiguo 26/05/2013, 07:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: demasiadas consultas a la base de datos, necesito consejos

Más allá de que como descripción es poco técnica e insuficiente, lo que se alcanza a percibir de esto:
Cita:
pistamulti1, pistamulti2, pistamulti3 ... hasta pistamulti91.. pistasingle1, pistasingle2, pistasingle3 ... hasta pistasingle91.. cochemulti1, cochemulti2, cochemulti3 ... hasta cochemulti91
Es que tienes un espantoso diseño de datos, completamente ineficiente y de muy difícil optimización.
Y si esto es una muestra de las consultas que haces:
Cita:
select * from pilotos where nick='xxxxxx'
Se puede inferir que desperdicias enormemente los recursos de la base de datos, y congestionas de forma innecesaria el tráfico de datos.
Sobre la aplicación no puedo opinar porque lo que describes no alcanza para inferir la lógica del codebehind, y por tanto es imposible saber si es o no eficiente. Pero desde ya, la base no lo es.
Es muy probable que si tu web tiene éxito te veas obligado a rediseñar al menos el modelo de datos antes de que pase un año.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 26/05/2013, 07:41
 
Fecha de Ingreso: febrero-2013
Mensajes: 163
Antigüedad: 11 años, 2 meses
Puntos: 1
Respuesta: demasiadas consultas a la base de datos, necesito consejos

ok tomaré en cuenta tu respuesta... a mi me falta aprender mucho de php y base de datos, todo lo que sé aprendi mirando otros códigos y asi no más a lo ligero xD... me falta mucho
  #6 (permalink)  
Antiguo 26/05/2013, 07:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: demasiadas consultas a la base de datos, necesito consejos

En PHP puedes aprender bastante en tutoriales y manuales. Pero lo que no puedes aprender bien allí, sin hacer un buen curso, es lógica de programación... Te lo digo por experiencia.
Y no importa mucho en qué lenguaje sea. La lógica de análisis para programación es esencialmente la misma así trabajes en PHP, C, C++, .Net, Ruby, o hasta Smalltalk (si, es un lenguaje).
En cuando a Bases de Datos... es algo distinto. Son visiones completamente diferentes de los sistemas y necesitas dedicarle bastante tiempo y mucha guía para comprender lo básico. en ese punto mi sugerencia es que busques un colaborador que tenga cierto dominio, para evitar meterte en temas que te van a confundir.
Y no lo digo como exageración.
Bases de datos es una especialidad, donde puedes trabajar toda tu vida sin jamás escribir una sola linea en ningún lenguaje de programación.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 26/05/2013 a las 08:06
  #7 (permalink)  
Antiguo 26/05/2013, 07:52
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 3 meses
Puntos: 20
Respuesta: demasiadas consultas a la base de datos, necesito consejos

Bueno si tienes problemas con el rendimiento/performance de tu pagina, puedes usar Benchmarks o profilers y ver donde tienes el problema. Pero si tienes tables como estas.... ya me hago una idea :P Tambien puedes usar caches para mejorar el rendimiento.
Pero como dijo gnzsoloyo

Cita:
Es que tienes un espantoso diseño de datos, completamente ineficiente y de muy difícil optimización.
  #8 (permalink)  
Antiguo 26/05/2013, 08:00
 
Fecha de Ingreso: febrero-2013
Mensajes: 163
Antigüedad: 11 años, 2 meses
Puntos: 1
Respuesta: demasiadas consultas a la base de datos, necesito consejos

jeje y si, a mi tambien me parece espantoso e ineficiente, y todo lo que programo a lo desordenado XD sé que no debería ser así... cuando ya es algo un poco complejo para mi y no lo entiendo hago todo un rollo... definitivamente tendré que rehacer correctamente mi base de datos, pero lo haré y rápido xD a estudiar. gracias por sus respuestas

Última edición por mathiasmontiel; 26/05/2013 a las 08:10
  #9 (permalink)  
Antiguo 26/05/2013, 10:25
 
Fecha de Ingreso: febrero-2013
Mensajes: 163
Antigüedad: 11 años, 2 meses
Puntos: 1
Respuesta: demasiadas consultas a la base de datos, necesito consejos

bueno investigando un poco, estoy pensando en rehacer mi base de esta manera: creando una tabla de usuarios y una tabla para cada pista, y relacionar esas tablas. así está más aceptable? claro que voy a estudiar bien todo lo que me falta, pero es que esto quiero hacerlo lo antes posible
  #10 (permalink)  
Antiguo 26/05/2013, 14:08
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: demasiadas consultas a la base de datos, necesito consejos

Cita:
creando una tabla de usuarios y una tabla para cada pista, y relacionar esas tablas.
No.
Es una tabla de Usuarios, una tabla Pista, una más de Coche, y tablas para relacionar Usuario pista y coche...
Lo que necesitas en este puto es leer, estudiar y comprender los principios básicos del modelo Entidad-Relación (ver en el link).
Posiblemente esto te lleve a tener que leer y tratar de comprender lo que es una Base Relacional de Datos (porque ESO es lo que estás creando), para lo cual te conviene leer el link que te pongo.

Una vez que hayas hecho una somera lectura de eso, posiblemente termines de entender a qué me refiero cuando te digo:
Cita:
en ese punto mi sugerencia es que busques un colaborador que tenga cierto dominio, para evitar meterte en temas que te van a confundir.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: consejos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:42.