FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Rapidez en consulta
Hola amigos, estoi teniendo hartos problemas con las consultas SQL, se estan demorando demasiado.
Espongo el codigo que utilizo, a ver si me pueden ayudar.
La tabla Estructura, como su nombre lo dice, contiene la estructura de mi centro de costo, la tabla compras estan alojadas las compras, en donde el campo "estado", hace referencia a lo que necesito consultar. Esta consulta esta demorando unos 10 segundos mas o menos, el asunto es que si cambio el LEFT JOIN, po INNER JOIN, anda de maravilla, instantaneo, pero solo me arroja las area de la tabla estructura y que ademas cohincida que tiene algun registro con el campo area. Bueno lo que acabo de escribir es que realmente hace la funcion INNER JOIN, pero la que me interesa a mi es LEFT JOIN. Alguien tiene alguna otra idea de como hace esta consulta de otra manera, y que vaya mas rapido. Gracias |
#2
|
||||
|
||||
¿Tienes los índices adecuados? Por ejemplo, tu tabla compras debería tener índices en los campos que la relacionan con la de estructura.
// Saludos |
#3
|
|||
|
|||
nunca he utilizado los indices, utilizo IBExpert y Firebird 2.0.
Con el codigo que señalo, los indices en que tabla debieran ir? en estructura o compras? Como debiera agregarse, que tipo de indice necesitare? Ojala me puedan guiar para poder resolver este asunto. Gracias |
#4
|
|||
|
|||
Amigos, no hay caso con este tema, por mas que busco e intento soluciones con logro aumentar la velocidad de la busqueda.
ALguna idea de como mejorar esto, lo que me interesa es que me arroje una lista con todas las distintas area, la suma del presupuesto y suma de compras. El asunto es que si utilizo inner join, funciona perfecto, pero no me arroja la totalidad de las areas, y al utilizar left join si que me arroja todas las areas, pero leeento. He intentado con indices, vistas, etc. y no he podido mejorar esto. Creo que no es algo tan complejo de realizar, mas bien, debiera ser un tema comun en consultas... 2 columnas una con las distintas area y la segunda la sumatoria de algo, indistintamente si hay o no registros en la segunda tabla. Bueno amigos, espero me puedan ayudar ya que este tema me esta volviendo loko. Muchas gracias |
#5
|
|||
|
|||
Amigos, no hay caso con este tema, por mas que busco e intento soluciones con logro aumentar la velocidad de la busqueda.
ALguna idea de como mejorar esto, lo que me interesa es que me arroje una lista con todas las distintas area, la suma del presupuesto y suma de compras. El asunto es que si utilizo inner join, funciona perfecto, pero no me arroja la totalidad de las areas, y al utilizar left join si que me arroja todas las areas, pero leeento. He intentado con indices, vistas, etc. y no he podido mejorar esto. Creo que no es algo tan complejo de realizar, mas bien, debiera ser un tema comun en consultas... 2 columnas una con las distintas area y la segunda la sumatoria de algo, indistintamente si hay o no registros en la segunda tabla. Bueno amigos, espero me puedan ayudar ya que este tema me esta volviendo loko. Muchas gracias |
#6
|
||||
|
||||
Coloca la estructura de las 2 tablas, a ver si podemos ayudar en algo. por lo pronto te digo que con indices podes mejorar mucho, podrias tambien modificar el PLAN. Para firebird yo utilizo el Interbase PLANalyzer y me ha servido mucho.
|
#7
|
|||
|
|||
Hola creo que por la cantidad de datos, deberias realizar un procediemto almacenado
Luego de esto podrias hacer un sql con el resultado del procedimiento
Agrega dos indices en la Tabla ESTRUCTURA campo ESTADO ascendente y descendente respectivamente, asi como los campos que estan despues del ON (E.EMPRESA, P.EMPRESA, E.AREA...) Espero que te sirva Última edición por cdac901 fecha: 22-03-2009 a las 21:13:26. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Rapidéz Mental | egostar | Humor | 0 | 28-07-2006 19:56:48 |
Rapidez de las Tablas y Aplicacion | Carliviris | Varios | 4 | 17-07-2006 10:52:54 |
Rapidez de consulta | estebanx | MS SQL Server | 13 | 03-07-2006 23:41:36 |
dar rapidez a una base de datops access | joanajj | Conexión con bases de datos | 6 | 21-07-2005 12:30:00 |
dar rapidez a la apertura de Tablas | jhges | Conexión con bases de datos | 2 | 29-03-2004 10:09:00 |
|