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

Como optimizar base de datos

Estas en el tema de Como optimizar base de datos en el foro de Mysql en Foros del Web. Hola amigos, Tengo Una base de datos en la cual una tabla tiene 13222781 registros y tiende a crecer mas, se tiene registros desde el ...
  #1 (permalink)  
Antiguo 09/02/2016, 09:58
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Como optimizar base de datos

Hola amigos,

Tengo Una base de datos en la cual una tabla tiene 13222781 registros y tiende a crecer mas, se tiene registros desde el 2013, las consultas se realizan por producto_id,fecha y para obtener el ultimo registro insertado.

Que debo de hacer para optimizar las consultas?

Tabla datos
+----------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+---------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| producto_id | int(11) | NO | MUL | NULL | |
| fecha | datetime | NO | | NULL | |
| registro | varchar(1000) | NO | | NULL | |
+------------+---------------+------+-----+---------+----------------+
  #2 (permalink)  
Antiguo 09/02/2016, 10:39
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Como optimizar base de datos

que indices tiene la tabla??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 09/02/2016, 10:44
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Como optimizar base de datos

Libras gracias por responder, me entregaron la base sin indices,

cada 10 segundos se realizan inserciones a esa tabla.

sobre esa tabla se realizan consultas de datos de la ultima hora, hace un dia, una semana, un mes, 6 meses, un año de cada producto_id .

que debo de hacer para optimizar esa tabla? las consulta?
  #4 (permalink)  
Antiguo 09/02/2016, 10:52
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Como optimizar base de datos

Primero ya tienes un indice cluster sobre la llave primaria que es el id, ahora create un indice non cluster sobre el campo fecha incluyendo el campo id :) y tambien hay que ver como estan las consultas, lo otro que podrias hacer si tu tabla tiene tantos registros es ver el uso de particiones..
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 09/02/2016, 10:58
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Como optimizar base de datos

LIbras gracias por responder, voy a crear el indice que me indicas.

Tengo una pregunta en la parte :
Cita:
lo otro que podrias hacer si tu tabla tiene tantos registros es ver el uso de particiones
particionar por fecha(año? mes? dia?) o por producto?
  #6 (permalink)  
Antiguo 09/02/2016, 11:19
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Como optimizar base de datos

en tu caso seria conveniente particionar por fecha por mes ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 09/02/2016, 11:36
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Como optimizar base de datos

Libras, ese proceso de particionar por fecha por mes consiste en que debo de crear cada mes la tabla y migrar los datos o mysql ofrece algun mecanismo para realizarlo?

Etiquetas: fecha, registro, registros, tabla
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 19:27.