Bases de Datos - Consulta en PhpmyAdmin

 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 5 puestos en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Consulta en PhpmyAdmin

Publicado por Fabian (2 intervenciones) el 08/02/2020 20:54:19
Buen dia para todos, bueno escribo aqui para consultar si alguien me puede ayudar.

Tengo una tabla en mysql (phpmyadmin) que contiene mas de 8000 registros, inicialmente las consultas salian rápido, pero a medida que se le van agregando registros se va ralentizando al punto que una consulta puede tardar 1 a 2 minutos y este tiempo podría incrementar si se le sigue agregando filas, lo cual es lo ideal.

Mi pregunta es como agilizar la consulta, cabe mencionar que no tengo indices creados, pues no le tengo mucho conocimiento a esto, por tal motivo escribo aquí, ya que mirando en web, esto podría ayudarme. La consulta que tengo es la siguiente:

1
SELECT mov_fehcavto, mov_cantidad, mov_lote, mov_bod_des, inv_nombre, inv_item, bod_numero, bod_nombre FROM CXN_MOVIMIENTO  INNER JOIN CXN_INVENTARIO ON CXN_MOVIMIENTO.Mov_Item = CXN_INVENTARIO.Inv_Codigo  INNER JOIN CXN_BODEGAS ON CXN_MOVIMIENTO.Mov_Bod_Des = CXN_BODEGAS.Bod_Numero  WHERE CXN_MOVIMIENTO.Mov_FechaVto BETWEEN '2020/02/08' AND '2020/12/31'   AND  CXN_MOVIMIENTO.Mov_Cantidad <> '0'  ORDER BY CXN_MOVIMIENTO.Mov_Lote, CXN_MOVIMIENTO.Mov_Bod_Des

La consulta involucra 3 tablas y el filtro se hace por fechas, conectando las tablas a través de una columna tipo int en cada una. Como podría realizar un indice de consulta en este caso, ademas que tengo otro problema con otras búsquedas de la misma magnitud pero con columnas tipo int que no incluyen fechas. /estas columnas que menciono tipo int no son la PK).

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 3
Ha aumentado su posición en 5 puestos en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Consulta en PhpmyAdmin

Publicado por Fabian (2 intervenciones) el 08/02/2020 22:02:30
Hize yo mismo la pregunta pero ya di como hacerlo, de igual forma lo plasmo por si a alguien le sirve.

1
2
ALTER TABLE cxn_movimiento ADD INDEX Item (mov_item);
ALTER TABLE cxn_inventario ADD INDEX Item (inv_codigo);

y la consulta quedo asi:

1
2
3
4
5
6
SELECT Mov_Id, Mov_Bod_Des, Bod_Nombre, Inv_Nombre, Inv_Observacion, Mov_Item, Mov_Lote, Mov_Fechavto, Mov_Cantidad FROM CXN_MOVIMIENTO M
          INNER JOIN CXN_INVENTARIO I ON M.Mov_Item = I.Inv_Codigo
          INNER JOIN CXN_BODEGAS B ON M.Mov_Bod_Des = B.Bod_Numero
          WHERE M.Mov_FechaVto > ('" & Format(Date, "yyyy/mm/dd") & "')
          AND  M.Mov_Cantidad <> '0'
          ORDER BY M.Mov_Lote, M.Mov_Bod_Des

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar