Bienvenido(a), Visitante. Favor de ingresar o registrarse.

Ingresar con nombre de usuario, contraseña y duración de la sesión

Foros del Club

Páginas: [1]   Ir Abajo
  Enviar tema  |  Imprimir  
Autor Tema: Optimizacion  (Leído 1720 veces)
0 Usuarios y 1 Visitante están viendo este tema.
CID
Administrador
Legend
*****

Prestigio: 22
Desconectado Desconectado

Sexo: Masculino
Estudiante de: Arte de la informática
Título universitario: Programador
Profesión: Desarrollador
Mensajes: 1136



WWW
Lenguajes:
Varios
Bases de datos:
Varios
« en: 23/11/2005, 04:17:15 »

Cada tanto "optimizo" el foro... si tan solo supiera que es lo que estoy haciendo.... Girar ojos
Eso mismo, internamente que implica la optimización de una base de datos mysql?
Como se logra, se trata de una sentencia?
En línea

Shadow
Visitante
« Respuesta #1 en: 25/11/2005, 22:32:30 »

Bueno hace un tiempo me vi en el mismo problema ya que mis consultas a bases con mas de 10 megas de información me tardaban mas de lo estipulado.
Buscando di con este artículo http://www.programacion.com/php/tutorial/mysql_indices/1/
La parte de los indices puede resultar obvia, pero tambien te hace una pequeña demostración de como hacer varias consultas en un solo query.
No creo que se pueda hacer mucho mas para optimizar una base de datos en MySQL.
Saludos.
En línea
CID
Administrador
Legend
*****

Prestigio: 22
Desconectado Desconectado

Sexo: Masculino
Estudiante de: Arte de la informática
Título universitario: Programador
Profesión: Desarrollador
Mensajes: 1136



WWW
Lenguajes:
Varios
Bases de datos:
Varios
« Respuesta #2 en: 25/11/2005, 23:29:51 »

Lo que yo se es para otros motores de base de datos, realizando un backup y posteriormente un restore, se logra eliminar basura. Eso reduce el tamaño de la base de datos, aunque deja inoperable el sistema el tiempo necesario para realizar dicha operacion. Pero al quitar basura (entiendase como datos que quedan de las operaciones comunes y no es necesario guardarlos) se logra cierta optimización.

Saludos.
En línea

Fernand0
Visitante
« Respuesta #3 en: 02/12/2005, 15:49:41 »

am.. perdon k sake a relucir mi ignorancia.. pero k vendria a ser esa "basura"? ._O.... ya se k son datos.. pero pretengo saber de donde salieron esos datos.. si son resultado de algo o kep...

saludos
En línea
CID
Administrador
Legend
*****

Prestigio: 22
Desconectado Desconectado

Sexo: Masculino
Estudiante de: Arte de la informática
Título universitario: Programador
Profesión: Desarrollador
Mensajes: 1136



WWW
Lenguajes:
Varios
Bases de datos:
Varios
« Respuesta #4 en: 07/12/2005, 04:58:54 »

am.. perdon k sake a relucir mi ignorancia.. pero k vendria a ser esa "basura"? ._O.... ya se k son datos.. pero pretengo saber de donde salieron esos datos.. si son resultado de algo o kep...

saludos

Bien, esa basura en realidad es la fragmentación que dejan los datos cuando son borrados. Es parecido a lo que sucede con el disco duro o la memoria de nuestras computadoras.
El proceso de optimización justamente lo que hace es desfragmentar esos datos maximizando el espacio disponible.

Por esto se recomienda que se desfragmenten/optimicen las tablas de mysql despues de realizar varias eliminaciones de registros, tablas, vistas, lo que sea (ya que todo lo que no son tablas del usuario se guardan en tablas del sistema o catálogos).

Optimizar equivale a maximizar el espacio libre y la velocidad de acceso a esos datos.

Saludos.
En línea

Arkngelus
Sage
*****

Prestigio: 0
Desconectado Desconectado

Sexo: Masculino
Mensajes: 16

Analista de Sistemas - www.netcirius.com.ar


« Respuesta #5 en: 07/12/2005, 13:21:24 »

bien por mi parte creo que la optimizacion de una base de datos, se da en el momento en que ena base es diseñada o debe rediceñarce. ya que por medio de la normalizacion nuestra base obtendra la mejor estructura posible. (sabemos que hay casos en los que es nesesario no respetar la normalizacion pero eso es aparte).
asi como tambien que a la hora de implemantar las Query se debe usar la mejor logica posible. para obtener los datos que nos interezan.
por lo tanto para mi los puntos mas importatantes a lo hora de optimizar una DB son:
-. la normalizacion de la estructura.
-. la logica de las Querys.

ensi eso seria para mi optimizar una base.
aludiendo a la respuesta de SHADOW el manejo de indices es muy importante. pero de antemano se sabe que a medida que nuestra base crece las consultas seran mas lentas. por lo que aveces se debe considerar el uso de consultas muy grandes. por lo que aveces es recomendable abstraer los datos sobre los que se ba a trabajar y recien ahi aplicar la consulta que filtre los datos que nescesitamos, si ese fuese el caso.




Quien Reniega de la verdad, Vive en una mentira...
En línea

Quien cree saber, se da cuenta que no sabe nada..

- <<< I am in The Darkness Waiting For You >>> -
CID
Administrador
Legend
*****

Prestigio: 22
Desconectado Desconectado

Sexo: Masculino
Estudiante de: Arte de la informática
Título universitario: Programador
Profesión: Desarrollador
Mensajes: 1136



WWW
Lenguajes:
Varios
Bases de datos:
Varios
« Respuesta #6 en: 07/12/2005, 13:43:53 »

Claro Ark, eso es parte del diseño de todo sistema.
Pero mi post se refiere a la orden de optimización que soporta MySql.
Aún no sé que comando/sentencia/consulta se debe ejecutar para realizarla, tan solo sé qué es lo que hace (Lee mi otro post arriba).

Saludos.
En línea

CID
Administrador
Legend
*****

Prestigio: 22
Desconectado Desconectado

Sexo: Masculino
Estudiante de: Arte de la informática
Título universitario: Programador
Profesión: Desarrollador
Mensajes: 1136



WWW
Lenguajes:
Varios
Bases de datos:
Varios
« Respuesta #7 en: 29/04/2006, 04:36:05 »

Bueno, ha pasado el tiempo y nunca hubo una respuesta práctica sobre éste tema, trataré de dar una completa:

Código:
-- Esa sentencia optimiza las tablas: Tabla1, Tabla2 y Tabla3
OPTIMIZE TABLE Tabla1, Tabla2, Tabla3

Cuando usar OPTIMIZE TABLE?

  • Si se han realizado muchos borrados o eliminaciones de filas (DELETE FROM)
  • Si se han realizado muchas modificaciones en tablas con filas de longitud variable (tablas con columnas de tipo VARCHAR, VARBINARY, BLOB o TEXT)

Porque usar OPTIMIZE TABLE?

Las filas borradas son mantenidas en una lista enlazada y las operaciones INSERT subsecuentes  reutilizan las posiciones de las viejas filas. Se puede usar OPTIMIZE TABLE para recuperar el espacio no utilizado y para defragmentar el archivo de datos.

Con que tipo de tablas funciona OPTIMIZE TABLE?

  • MyISAM
  • BDB
  • InnoDB

Con ésta información parece suficiente para entender la sentencia OPTIMIZE TABLE, de todas formas para información más técnica ir a la página de documentación de mysql.
En línea

Ge0Ks
Technocrat
*********

Prestigio: 3
Desconectado Desconectado

Mensajes: 131



« Respuesta #8 en: 26/06/2008, 15:26:52 »

para mi la mejor optimizacion esta primero en optimizar el codigo en el que se programe, dsp diseñar bien bien las tablas para lograr una mejor consulta y por ultimo preocuparse en esas cosas, si se puede usar cache mejro Cheesy mientras menos consultas se hagan a una BD mejor andaria la gueb Cheesy
En línea




Gracias Mari -- germanb@hotdesign.com.ar --
                  -- germanazo@papadedios.com.ar --
Foros del Club
   

 En línea
Páginas: [1]   Ir Arriba
  Enviar tema  |  Imprimir  
 
Ir a: