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

