Ayuda en Consulta SQL

Ayuda en Consulta SQL

Postby evallejo » Mon Jan 16, 2012 1:42 pm

Fivewineros:
Una ayuda:
Tengo una tabla de movimientos (actualmente unos 5300 reg.), otra tabla donde estan las pendientes de pago (actualmente unos 23000 reg.).
La tabla de pendientes se relaciona con la de movimientos por el campo nota_original.
Al realizar el un pago, tengo que obtener las notas pendientes. En la consulta necesito mostrar datos de la tabla movimientos, el select lo tengo así:
"select pendientes_de_pago.*, movimientos.mv_date, movimientos.mv_vencimiento from pendientes_de_pago
left join movimientos on pendientes_de_pago.nota_original = movimientos.numero_de_nota order by pendientes_de_pago.numero_de_pendiente"

El problema es que la consulta dura una eternidad ... bueno mas de 15 minutos, es mucho para una consulta.
¿Cómo podré mejorarla? ¿alguna pista o idea?
De antemano muchas gracias a todos ...

Eduardo
evallejo
 
Posts: 13
Joined: Thu Feb 07, 2008 10:09 pm

Re: Ayuda en Consulta SQL

Postby evallejo » Mon Jan 16, 2012 1:45 pm

Pedón se me olvidó decir que estoy usando TDolphin y MySql 5. FWH 9.04
Gracias.

Eduardo.
evallejo
 
Posts: 13
Joined: Thu Feb 07, 2008 10:09 pm

Re: Ayuda en Consulta SQL

Postby Rick Lipkin » Mon Jan 16, 2012 1:53 pm

Eduardo

A couple of questions ..

1) Are you using relational constraints on the two keys you are joining ?
2) Do you have unique row id's from both of your tables regardless of any relationships ?

For me .. I do not use any relational constraints as indexes .. some people may argue that point, but I do know you need a NOT NULL unique field row id for each table and that row id I mark as my primary key.

Rick Lipkin
User avatar
Rick Lipkin
 
Posts: 2641
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: Ayuda en Consulta SQL

Postby Adolfo » Mon Jan 16, 2012 1:55 pm

Eduardo..

Publica la estructura de tus tablas y identifica los campos clave para ayudarte.

Desde Chile
Adolfo
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1650
User avatar
Adolfo
 
Posts: 846
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Re: Ayuda en Consulta SQL

Postby Daniel Garcia-Gil » Mon Jan 16, 2012 2:05 pm

Hola

has creado indices para nota_original y numero_de_nota??
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Ayuda en Consulta SQL

Postby evallejo » Mon Jan 16, 2012 2:23 pm

Gracias por responder,

nota_original no es un índice. (Creo que por ahí va la cosa).
numero_pendiente si es índice.

Voy a probar poniendo nota_original como índice.

Gracias una vez mas.
evallejo
 
Posts: 13
Joined: Thu Feb 07, 2008 10:09 pm

Re: Ayuda en Consulta SQL

Postby evallejo » Mon Jan 16, 2012 2:37 pm

Creo que algo estoy haciendo mal:

Tabla movimientos:
numero_de_nota (clave primaria)
fecha_de_nota
.
.

Tabla de Pendientes:
numero_de_pendiente (clave primaria)
fecha_de_pendiente
nota_original
.
.
-
Lo que estoy relacionaldo es nota_original (de pendientes) con numero_de_nota (de mnovientos)

a ver si me dan un tip
Gracias
Eduardo
evallejo
 
Posts: 13
Joined: Thu Feb 07, 2008 10:09 pm

Re: Ayuda en Consulta SQL

Postby pablovidal » Mon Jan 16, 2012 2:59 pm

En tabla pendientes create un indice en nota_original.. y problema resuelto :)
Saludos,

Pablo Alberto Vidal
/*
------------------------------------------------------
Harbour 3.2.0, Fivewin 17.02, BCC7
------------------------------------------------------
*/
User avatar
pablovidal
 
Posts: 401
Joined: Thu Oct 06, 2005 10:15 pm
Location: Republica Dominicana

Re: Ayuda en Consulta SQL (Solucionado)

Postby evallejo » Mon Jan 16, 2012 4:37 pm

Gracias a todos,

Creando el indice en nota_original.

Salu2
Eduardo
evallejo
 
Posts: 13
Joined: Thu Feb 07, 2008 10:09 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Jimmy and 72 guests