SQL vs SQL -- curiosidad
Hola a todos:
Esta nota es sólo para exponer una
curiosidad que me ha surgido al utilizar SQL. Os explico.
He construido una sentencia SELECT
no muy complicada que toma datos de cuatro ficheros, dos de ellos con
15 millones y casi 100 millones de registros. Mi método de trabajo
consiste en probar primero los resultados desde una sesión interactiva
de SQL (STRSQL). Después de intentar optimizar en varias ocasiones la
sentencia, desde STRSQL no he conseguido que termine la ejecución (en
todas las ocasiones esperé más de una hora, hasta que cancelé el
proceso).
Esta situación me desesperó un poco.
En equipos anteriores la ejecución de trabajos por lotes ha ido siempre
más rápida (hablamos de programas no interactivos). Cogí la misma
sentencia SELECT y la ejecuté con el mandato RUNSQLSTM en batch. ¡Oh,
que sorpresa! La ejecución terminó en no más de un minuto. Como la
sentencia SQL la tuve que cambiar para dejar los resultados en un
fichero pensé que podría tener algo que ver. Luego intenté ejecutar
RUNSQLSTM en interactivo y, ¡qué casualidad!, el resultado fue el mismo
(o casi): entre un minuto y dos en ejecutarse.
Hice una prueba más, para disipar
alguna duda. Utilicé la misma sentencia SELECT en QM y los resultados
fueron similares.
Finalmente, incluí el SQL en el
programa RPG desde donde debía trabajar con las filas devueltas y su
ejecución no fue más allá de los dos minutos.
¿Es esto sólo una curiosidad?
¿Alguien tiene o se le ocurre una explicación? Desde mi punto de vista,
una sentencia SQL debería ejecutarse a través de los mismos recursos
desde STRSQL o cualquier otra utilidad. ¿Estoy equivocado?
Un saludo
Javier Mora
__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400