![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola a todos,
el tipo de consultas que propone Caro creo que no aparece en ningún manual. Sí aparece algo en la ayuda de Firebird , no recuerdo como lo llama ( tablas derivadas creo). Ahora bien, estas consultas son TERRIBLEMENTE funcionales, y generalmente TERRIBLEMENTE inificientes en cuanto a velocidad de respuesta, ya que exprimen al motor de base de datos a tope ya que no son 'naturales'. Esto quiere decir que no se utilizan índices ni nada parecido ( generalmente ) y lo que hace el motor es generar una tabla temporal recorriendose las tablas que intervienen de cabo a rabo. Para confirmarlo es conveniente mirar el plan de ejecución, y además es conveniente medir si es mejor ahorrarse un procedimiento almacenado que cuajar el servidor unos segundos. Sobre todo cuando nuestra base de datos tiene muchos registros. Casimiro, tus aplicaciones de tropecientos gigas que sueles comentar funcionan estupendamente tanto tiempo y con esos volúmenes porque no conoces estas consultas enrevesadas. Y que conste, que a mi me gustan , ya que como Caro, me reto a ver si se puede hacer en una sola consulta o no.Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#2
|
||||
|
||||
|
Tienes razón, en parte, porque si el servidor es linux y tienes más de una cpu, cuando lanzas la consulta ocupa una de las cpu, pero las demás siguen libres para seguir antendiendo a los restantes usuarios.
He hecho una prueba con una pequeñita, poco más 500 Mb. y efectivamente el primer select lo recorre entero "natural", aunque de todas formas, el tiempo requerido ha sido 1 segundo. Cita:
Cita:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Noteví fecha: 26-03-2010 a las 22:37:54. |
|
#3
|
||||
|
||||
|
Solo comentar que la consulta correcta debería ser con una Union All ya que en realidad segun el requerimiento de Jucho69 es que por cada cliente salga cada importe efectuado más (+) la suma de todos los importe, lo cual significa que la cantidad de registro(tuplas)devueltas en la consulta general deben ser :
Cita:
Quizás los parentesis estan demás pero creo que es mejor ponerlo para una mejor comprensión de lo que se está haciendo. .Saludos... ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 Última edición por rgstuamigo fecha: 29-03-2010 a las 20:54:37. |
|
#4
|
||||
|
||||
|
De esa forma ha sido más rápido incluso, de 2 segundos a 1 seg.
Cita:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
|||
|
|||
|
Hola
Gracias a todos por la ayuda, muy atento rgstuamigo, ya creo que contigo habia visto algo parecido, con Union All se pueden enlazar varias consultas previas incluso desde la propia base de datos. Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Subtotales de Excel | adfa76 | Servers | 1 | 11-06-2007 17:05:24 |
| subtotales en un grid | federicorl | OOP | 4 | 10-12-2006 20:34:32 |
| Subtotales al comienzo | yusnerqui | Varios | 6 | 08-06-2006 16:02:20 |
| Subtotales en Excel | tutuk | Servers | 4 | 04-06-2005 00:56:58 |
| Subtotales en QuickReport | raugadel | Impresión | 3 | 12-05-2004 16:13:49 |
|