Para mejorar de forma óptima el rendimiento de la optimización de SQL, preste atención a los siguientes puntos de esta sección.
Orden de flujo. La generación de SQL se puede detener cuando la función del nodo no tiene ningún equivalente semántico en SQL porque la funcionalidad de minería de datos de SPSS Modeleres más rica que las operaciones de proceso de datos tradicionales soportadas por SQL estándar. Cuando esto sucede, la generación de SQL también se suprime para cualquier nodo posterior en la ruta. Por tanto, es posible que pueda mejorar significativamente el rendimiento al reordenar los nodos para colocar las operaciones que detengan SQL en el nivel más inferior de la ruta posible. El optimizador de SQL puede realizar una determinada cantidad de reordenación automáticamente, pero es posible realizar mejoras adicionales. Un buen candidato para ello es el nodo Seleccionar, que se puede adelantar. Consulte Nodos que dan soporte a la retrotracción de SQL para obtener más información.
Expresiones CLEM. Si un flujo no se puede reordenar, puede cambiar las opciones de nodo o las expresiones CLEM, o bien puede volver a distribuir la forma de realizar la operación, para que no inhiba la generación de SQL. Normalmente, los nodos Derivar, Seleccionar y similares se pueden representar en SQL, siempre y cuando todos los operadores de expresiones CLEM tengan equivalentes en SQL. La mayoría de los operadores se pueden representar, pero hay algunos que inhiben la generación de SQL (en especial, las funciones de secuencia o [“@ funciones”]). En ocasiones, la generación se detiene porque la consulta generada se vuelve demasiado compleja para que la base de datos la controle. Consulte Expresiones y operadores CLEM que dan soporte a la retrotracción de SQL para obtener más información.
Varios nodos de entrada. Cuando un flujo tiene varios nodos de importación de datos, la generación de SQL se aplica a cada rama de la importación de forma independiente. Si la generación se detiene en una rama, puede continuar en otra. Cuando dos ramas se fusionan (y ambas pueden expresarse en SQL hasta la fusión), la propia fusión puede a menudo sustituirse por una unión de base de datos y la generación se puede continuar por debajo de la ruta.
Modelos de puntuación. La puntuación interna de la base de datos es compatible con algunos modelos al representar el modelo generado en SQL. Sin embargo, algunos modelos generan expresiones SQL extremadamente complejas que no siempre se evalúan de forma eficaz en la base de datos. Por este motivo, la generación de SQL se debe habilitar por separado para cada nugget del modelo generado. Si detecta que un nugget del modelo inhibe la generación de SQL, abra los valores del nugget del modelo y seleccione Generar SQL para este modelo (en algunos modelos es posible que tenga más opciones que controlen la generación). Ejecute comprobaciones para confirmar que la opción es beneficiosa para la aplicación. Consulte Nodos que dan soporte a la retrotracción de SQL para obtener más información.
Al probar nodos de modelado para ver si la generación de SQL para modelos funciona eficazmente, se recomienda guardar primero todos los flujos de SPSS Modeler. Tenga en cuenta que es posible que algunos sistemas de bases de datos se cuelguen al intentar procesar el SQL generado (potencialmente complejo).
Almacenamiento en caché de base de datos. Si utiliza una caché de nodo para guardar datos en puntos críticos del flujo (por ejemplo, tras un nodo Fusionar o Agregar), asegúrese de que el almacenamiento en caché de base de datos está activado con la optimización de SQL. Esto permite almacenar los datos en caché en una tabla temporal en la base de datos (en lugar de en el sistema de archivos) en la mayoría de los casos.
SQL específico del proveedor. La mayor parte del SQL generado se ajusta a los estándares (SQL-92), aunque algunas características específicas del proveedor no estándar se explotan en los casos donde son prácticas. El grado de optimización de SQL puede variar en función del origen de base de datos.