0 / 0
Retourner à la version anglaise de la documentation
Conseils relatifs à la maximisation de la fonctionnalité SQL Pushback
Dernière mise à jour : 04 oct. 2024
Optimisation SQL (SPSS Modeler)

Pour obtenir les meilleures performances possibles au niveau de l'optimisation SQL, prenez en considération les éléments suivants.

Ordre des flux. La génération SQL peut être interrompue lorsque la fonction du noeud n'a pas d'équivalent sémantique dans SQL car la fonctionnalité d'exploration de données de SPSS Modelerest plus riche que les opérations de traitement de données traditionnelles prises en charge par SQL standard. Dans ce cas de figure, la génération SQL est également supprimée pour les noeuds en aval. Par conséquent, vous pouvez améliorer considérablement les performances du système en réorganisant les noeuds et en plaçant les opérations qui bloquent le code SQL le plus en aval possible. L'optimiseur SQL peut effectuer une certaine réorganisation automatique, mais d'autres améliorations peuvent être possibles. Le noeud Sélectionner s'applique parfaitement à ce cas ; il est souvent possible de le déplacer vers l'avant du flux. Pour plus d'informations, voir Noeuds prenant en charge les répercussions SQL .

Expressions CLEM. Si un flux ne peut pas être réordonné, vous pouvez modifier des options de noeud ou des expressions CLEM ou refondre le mode d'exécution de l'opération, de façon à ce que cette dernière n'entrave plus la génération SQL. Les noeuds Calculer, Sélectionner, et tout noeud semblable, peuvent généralement être convertis en code SQL, à condition que tous les opérateurs d'expression CLEM présentent des équivalents SQL. La plupart des opérateurs peuvent être convertis, mais certains d'entre eux entravent la génération SQL (en particulier, les fonctions séquentielles [“@ functions”]). Parfois, la génération est arrêtée car la requête générée est devenue trop complexe pour une prise en charge par la base de données. Pour plus d'informations, voir Expressions et opérateurs CLEM prenant en charge les répercussions SQL .

Plusieurs noeuds d'entrée. Lorsqu'un flux comporte plusieurs noeuds d'importation de données, la génération SQL est appliquée indépendamment à chaque branche d'importation. Si la génération est arrêtée sur une branche, elle peut se poursuivre sur une autre. Lorsque deux branches fusionnent (et qu'elles peuvent toutes deux être exprimées en code SQL jusqu'au point de fusion), la fusion elle-même peut être souvent remplacée par une jointure de base de données ; la génération peut ainsi continuer en aval.

Scoring de modèles. Le scoring dans la base de données est pris en charge pour certains modèles par conversion du modèle généré en code SQL. Toutefois, certains modèles génèrent des expressions SQL extrêmement complexes qui ne sont pas toujours évaluées efficacement au sein de la base de données. C'est la raison pour laquelle la génération SQL doit être activée séparément pour chaque nugget de modèle généré. Si vous constatez qu'un nugget de modèle empêche la génération SQL, ouvrez les paramètres du nugget de modèle et sélectionnez Générer SQL pour ce modèle (certains modèles peuvent offrir des options supplémentaires qui contrôlent la génération). Exécutez des tests pour confirmer que l'option présente des avantages pour votre application. Pour plus d'informations, voir Noeuds prenant en charge les répercussions SQL .

Lorsque vous testez des noeuds de modélisation pour voir si la génération SQL pour les modèles fonctionne efficacement, nous recommandons d'abord d'enregistrer tous les flux à partir de SPSS Modeler. Certains systèmes de base de données peuvent se bloquer lors des tentatives de traiter le SQL généré (potentiellement complexe).

Mise en cache de la base de données. Si vous utilisez un cache de noeud pour sauvegarder les données au niveau des points critiques du flux (par exemple, après un noeud Fusionner ou Agréger), vérifiez que la mise en cache de base de données est activée conjointement avec l'optimisation SQL. Dans la plupart des cas, les données peuvent ainsi être mises en cache dans une table temporaire de la base de données (plutôt que dans le système de fichiers).

Code SQL propre au fournisseur. La plupart du code SQL généré est conforme aux normes (SQL-92), mais certaines fonctionnalités non standard, propres au fournisseur, sont utilisées le cas échéant. Le degré d'optimisation SQL peut varier en fonction de la source de base de données.

Recherche et réponse à l'IA générative
Ces réponses sont générées par un modèle de langue de grande taille dans watsonx.ai en fonction du contenu de la documentation du produit. En savoir plus