FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Optimización consulta SQL con EXISTS en Firebird 2.5
Hola. Quiero optimizar una consulta SQL para Firebird 2.5 en la que filtre los registros de una tabla obteniendo los máximos por fecha de cada grupo.
Me explico mejor con datos y la SQL que estoy utilizando. Simplificaré los datos y la tabla. La tabla tiene los campos siguientes: - numero - serie - fecha - referencia Quiero obtener por cada referencia el número/serie de mayor fecha que sea inferior a una dada. Suponiendo los datos siguientes, por ejemplo: Código:
2 A 30/10/2009 AX 3 B 25/11/2010 AX 4 A 12/08/2011 RT 5 T 04/03/2010 YU 8 D 09/08/2009 RT 5 A 23/10/2011 AX 2 B 01/10/2012 TD Código:
AX 3 B RT 4 A YU 5 T
Actualmente tengo índice por numero/serie (clave primaria), por referencia (porque es clave referencial a otra table y firebird crea un índice por ese campo automáticamente) y también hay un índice por fecha. La consulta resultante sale indexada, pero el problema es que tarda ya que debe recorrer todos los registros para ir quedándose con el último, lo que al final resulta en un montón de registros leídos. Quisiera si hay alguna otra manera de reescribir la consulta SQL de manera que usando índices (si hay que añadir alguno me lo indicáis) se limite el número de registros leídos y obtenga directamente los que se requieren. Gracias por vuestra ayuda. Un saludo. Última edición por Casimiro Notevi fecha: 05-11-2013 a las 14:03:21. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Proyecto, Monitoreo y Optimizacion de nuestra BD en Firebird | felipe88 | Firebird e Interbase | 35 | 07-05-2011 03:02:43 |
Resultado con exists dudoso | sierraja | SQL | 14 | 07-04-2010 23:34:26 |
Exists or not Exists that is the question | MaMu | SQL | 7 | 05-04-2009 19:29:55 |
Transaccion con if y con exists | zvf | SQL | 4 | 18-09-2007 19:52:44 |
Error en el Exists | Payola2011 | MySQL | 7 | 31-01-2006 20:17:47 |
|