FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Cordial saludo. Puedes regalarnos los scripts SQL para generar esa parte de la base de datos, con algunos datos. Esto para poder reproducir la consulta.
Personalmente al trabajar un proyecto de una base de datos, hago scripts para llenar las tablas con el estimado de información de 10 años. Allí me doy cuenta de que optimizaciones se deben hacer.
__________________
Luis Fernando Buelvas T. |
#2
|
|||
|
|||
Bueno, de lo que alcanzo a observar, la parte
hace que la operación cast tenga que hacerse en todos los registros convirtiendo el valor a fecha y luego ver si se encuentre en el rango fechaini y fechafin, por tanto hará un recorrido natural de la tabla. Si un campo es para almacenar una fecha lo mejor es que sea del tipo correspondiente, es decir, Date; ahora, si es un timestamp no es necesario hacer el cast.
__________________
Luis Fernando Buelvas T. |
#3
|
|||
|
|||
Sobre el código
Decir que de si las llaves foráneas son "not null" (es decir que debe ir un valor para esos campos) utilizar LEFT JOIN en lugar de INNER JOIN puede hacer que el plan de la consulta utilice mejor los índices. Con Firebird llevo años usando LEFT JOIN sobre INNER JOIN.
__________________
Luis Fernando Buelvas T. |
#4
|
|||
|
|||
Si envías el script de esa parte del proyecto con algunos datos personalmente te podría colaborar un poco más.
__________________
Luis Fernando Buelvas T. |
#5
|
||||
|
||||
Cita:
Y además debe verificar que ambas bases de datos son realmente iguales. |
#6
|
|||
|
|||
Cita:
Disculpa la demora.. Saludos; |
#7
|
||||
|
||||
No, eso no esta bien. Eso altera los resultados (semantica diferente!)
__________________
El malabarista. |
#8
|
|||
|
|||
Ciertamente....
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#9
|
||||
|
||||
#10
|
|||
|
|||
Ya hicieron la prueba ? Si la llave foránea es "not null" funciona como un inner join. Sigo trabajando con bases de datos Firebird 1.5 y el preprocesador (el que define el plan de la consulta) no selecciona algunos índices como uno esperaría. Mis consultas funcionan como espero que funcionen. En Firebird 3 he tratado de usar inner join pero si no toma el índice que espero paso a usar left join siempre y cuando la llave foránea tenga valor (definiéndola not null). Lo que pasa es que trabajo casi exclusivamente con Interbase y luego Firebird desde el año 1998. Firebird 1.5 es suficiente para todo, pero ahora Windows 10 cada vez que hace una actualización importante desinstala el motor de base de datos por el defecto que tiene el instalador de Firebird 1.5 que el Applet que se adiciona al panel de control hace que éste cuando se abre se cierra inmediatamente. Para instalar Firebird 1.5 toca cambia el nombre del instalador pero de tanto en tanto Windows 10 lo desinstala. Estoy moviéndome a Firebird 3 pero los componentes IBX no van bien con este motor por lo que adquirí UniDac y estamos pasando de VCL a uniGui y de IBX a uniDac.
__________________
Luis Fernando Buelvas T. |
#11
|
|||
|
|||
Ciertamente Si...
egostar, Casimiro, mamcx es un gran privilegio que lean mi post ayudadome como siempre.. Bendiciones Totales.... Por cierto uso el inner join porque se que cada fila de la tabla A exista una fila en la tabla B. bueno en teoría. Provaré la sugerencia de lbuelvas del uso del CAST.. Saludos y les informo |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta update desde una consulta select | jafera | SQL | 3 | 08-05-2015 19:56:02 |
Consulta SQL basada en otra consulta anterior | jafera | SQL | 5 | 19-11-2013 01:07:37 |
Optimizando velocidad de mis páginas | lucasarts_18 | PHP | 2 | 25-09-2008 19:42:47 |
Optimizando Creación de Formularios MDI | nelostanley | OOP | 20 | 08-01-2008 03:00:36 |
Realizar una consulta sobre los registros que devuelve otra consulta | Borjaserrano | Firebird e Interbase | 12 | 01-10-2007 23:19:44 |
|