Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Sobrecarga Cpu (optimización)

Estas en el tema de Sobrecarga Cpu (optimización) en el foro de Bases de Datos General en Foros del Web. Hola a Todos, hace dias pregunte como optimizar los campos de una tabla, mas o menos consegui que todo andará mas rapido, pero claro, al ...
  #1 (permalink)  
Antiguo 30/09/2004, 09:04
 
Fecha de Ingreso: septiembre-2003
Mensajes: 49
Antigüedad: 20 años, 7 meses
Puntos: 0
Sobrecarga Cpu (optimización)

Hola a Todos, hace dias pregunte como optimizar los campos de una tabla, mas o menos consegui que todo andará mas rapido, pero claro, al andar mas rapido mas visitas. Entonces os quiero hacer uas preguntillas.

En la web se muestran imagenes, de esas imagenes se dan estadisticas, tipo tamaño y dimensiones .. entonces que le sentaria mejor al server que esos datos los tuviera almacenados en el BD o que lo sacara cada vez que se muestra esa imagen.

-**--------------------**-
La Tabla:

Id _ Nombre _ Ruta _ Dim _ Peso _ fec _ hits _ votos _ media _ total _ who

con 40.000 entradas

-**--------------------**-

La carga de la Cpu seria menor si elimara los campos dim y peso y los calculara en el momento de mostrar la imagen filesize() y GetImageSize() ?¿

Tb me han comentado por ejemplo, los nombres de las imagenes se muestran o por listado o haciendo una busqueda, me han comentado que dividiento la tabla en dos las busquedas y los listado irian mas rapido, ejemplo.

Tabla1
Id _ Id.imagen _ Nombre

Y
Tabla2
Id.Imagen _ ruta _ Dim _ Peso _ fec _ hits _ votos _ media _ total _ who

Las busquedas se harian en la tabla 1 y cuando la imagen va a ser mostrada (se enviaria con variables el nombre y la Id de la imagen).

Esto haria que fuera mejor ?¿

Como lo hariais vosotros .. antes de liarme programandolo todo de nuevo quiero estar seguro...

Gracias de antemano !!
  #2 (permalink)  
Antiguo 30/09/2004, 21:50
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Hola VerderoL
Cita:
entonces que le sentaria mejor al server que esos datos los tuviera almacenados en el BD o que lo sacara cada vez que se muestra esa imagen.
Si las imagenes nunca van a cambiar seria mejor que lo coloques dentro de la BD, esto agilisaria la lectura y por ende seria mas rapido.

Cita:
La carga de la Cpu seria menor si elimara los campos dim y peso y los calculara en el momento de mostrar la imagen filesize() y GetImageSize()
Pues seria mas lento la lectura, por que tendria que esperar que la función filesize() y GetImageSize(), terminara su trabajo.

Cita:
Tb me han comentado por ejemplo, los nombres de las imagenes se muestran o por listado o haciendo una busqueda, me han comentado que dividiento la tabla en dos las busquedas y los listado irian mas rapido
Pues si deseas tener consultas mas eficientes tienes que optimizarla,
ejemplo
Select * from tabla1 -> esto demorar mas, porque la BD tendrá que recuperar todos los campos
Select campo1, campo2 from tabla1 -> esto será de menor tiempo, ya que solo recuperara 2 campos

Por lo general se divide la tabla cuando hay campos que son muy pesados, tales como BLOB, TEXT, etc, campos donde generalmente se almacena gran cantidad de informacion, como imagenes, textos, sonidos, etc

tambien es bueno crear indices, si haces la busque sobre un campo que es indice es mas rapido que del campo que no lo es, pero tienes que tener un poco de cuidado ya que esto incrementa un poquitin mas la BD

Cada sistema de BD tiene sus tips de como aumentar el rendimiento.
lo que te mencione se aplica a la gran mayoria

saludos!

Última edición por Genetix; 30/09/2004 a las 21:51
  #3 (permalink)  
Antiguo 30/09/2004, 21:59
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
por las funciones filesize() y GetImageSize(), dedusco que estas usando php, y sobre la BD en cuestion que usas imagino que es MYSQL, de todos modos aqui te dejo un enlace donde hablan como optimizar uan BD MYSQL
http://www.mysql-hispano.org/page.php?id=29

Saludos!
  #4 (permalink)  
Antiguo 01/10/2004, 07:30
 
Fecha de Ingreso: septiembre-2003
Mensajes: 49
Antigüedad: 20 años, 7 meses
Puntos: 0
GRacias Genetix, sip tenias razon esta en php y con mysql, las consultas las tengo depuradisiiisiisiisiiiimas, jejej, nada * y de devolver campos innecesarios, solo me cabe pensar en algun desajuste del servidor o que le deja poca RAM para mover la Mysql ...ma da que me tocara migrarrr. he estado leyendo bastante y he leido algo de darle prioridad a la lectura que a la escritura del mysql. vamos que si tiene muchas peticiones da paso antes a las que son de lectura que las que son de escritura ... probare a dar prioridad a los select y quitarle a los update ... ave lo que consigo.

SAludoss y gracias nuevamente.
  #5 (permalink)  
Antiguo 09/10/2004, 08:54
 
Fecha de Ingreso: abril-2004
Ubicación: Zipaquira
Mensajes: 5
Antigüedad: 20 años
Puntos: 0
Optimizacion

Yo tenia un problema similar y el problema lo resolvi indexsando el campo donde guardo la imagen, verifique como se crea el indice, si mas no recuerdo, lo hice al go como así:

create index "nombre del campo" (10) donde 10 son los caracteres indexados del campo, pues a mi me funcio con 10, claro esta que mi campo era tipo medium-blob y estaba almacenando imganes en este campo, pero si tus registros son caracteres de texto puede variar mucho, si utilizas un blob ó medium-blob tienes que mirar bien por hay unos 50, si tus campos son varchar por hay de 25 pues dale por hay con 25.
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 18:29.