Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #9  
Antiguo 26-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Cita:
Empezado por Puberta Ver Mensaje
Disculpa, no quiero ser grosera pero hace 2 semanas movieron un mensaje que escribí porque era tema repetido, por lo que esta vez opte por ingresar mi mensaje en este hilo porque es una duda sobre un query y hablan de Inner Join que es con respecto a lo que tengo duda...escribi mal el titulo? o se trata de todo mi mensaje?.
[sarcasmo on]
Pues se ve que no leiste la guía de estilo en aquel momento , así que viene al caso la recomendación de Neftali
[sarcasmo off]

Ya en serio, si repites hilos nos mareas a todos. Si no pones nombres descriptivos, no sirven para otro forista que use el buscador, etc.
Con 21 mensajes, ya deberías usar etiquetas sql o delphi en tu código....Todo eso se explica en la guía de estilo.

No te agobies con todas las "normas mencionadas", poniendo de tu parte, un día miras la guía de estilo, otro día las etiquetas, etc.

En cuanto a la pregunta, con todo respeto a tu jefe, le debes decir que no eres adivina. Si no sabes las claves primarias ni los índices ¿como quiere que agilices tu consulta? ¿puedes arreglar un coche si no te dan el coche?

Una consulta se agiliza sabiendo las claves primarias y creando índices por los campos más usados. Si no dispones de ellos, no puedes hacer nada, tan solo usar el método de prueba y error.

Yo uso una forma distinta de unir las tablas, a ver que tal:
Código SQL [-]
Select * FROM 
Tabla1 a 
   Inner Join tabla2 b on a.id_emp = b.id_emp
   inner join tabla3 c on a.id_emp = c.id_emp
   inner join tabla4 d on a.id_emp = d.id_emp
   inner join tabla5 e on (d.planta = e.planta and d.categoria = e.categoria)
   inner join tabla6 f on ( 'aquí ya me perdí  ')

- No dices la Base de datos que usas (Firebird, Interbase, MySql).
- Tampoco dices los nombres "reales" de las tablas por lo que es todo muy abstracto.
- Tampoco dices los nombres de todos los campos de las tablas, quizás por el nombre se intuya si es un índice, una clave primaria, etc.

Si no sabes estos datos, dilo en el mensaje, que quede claro que estas mostrando toda la información de que dispones.

Otra opción, es hacer el sql con 2 tablas nada más, y ver cuanto tiempo tarda, ahora vas añadiendo una tabla más, hasta ver la tabla que ralentiza todo el SP, al menos acotas el problema (yo lanzo mi profecía en cuanto a las tablas 5 y 6, por allí debe estar el problema, la unión de las 4 primeras deben ser en ...milisegundos). Las cuatro primeras al tener el mismo campo de unión, fijo que será clave primaria en una y clave ajena en el resto (muy posiblemente con índices).

Edito: El campo fecha no creo que vaya como unión de tablas, es normal que vaya en la parte del Where, pero esto, obviamente, es una conjetura.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 26-11-2007 a las 20:25:21.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 01-10-2007 23:19:44
Consulta de Query marceloalegre SQL 3 06-02-2006 16:38:37
Pregunta sobre Query silviodp Conexión con bases de datos 28 27-04-2004 23:17:57
Query sobre DataSource???? mguixot OOP 3 25-02-2004 21:26:59
Sobre Query pablo SQL 1 28-11-2003 05:07:14


La franja horaria es GMT +2. Ahora son las 18:02:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi