Ordre de requête SQL des opérations et délégation

L'ordre des opérations des requêtes SQL fait référence à la manière dont Spectrum Spatial (ou n’importe quel traitement de requête qui génère un plan d’exécution) résout les clauses dans la requête.

La délégation est un ensemble de règles qui expliquent quelles parties de la requête peuvent être transmises au fournisseur de données source pour que Spectrum Spatial n’ait pas à se charger de la totalité du traitement. Si le fournisseur de données source prend en charge l’opération, la requête peut être déléguée, à condition que cela soit conforme aux règles de délégation.

En comprenant l’ordre des opérations et la manière dont l’ordre des opérations d'une requête affecte la délégation auprès d'un fournisseur de données source, vous pouvez créer des requêtes puissantes sans compromettre les performances.

Une requête SQL type est écrite comme suit :
select city, avg(hhinc) FROM table WHERE state='ny' GROUP BY city ORDER BY city

L’exemple suivant illustre l’ordre des opérations qui se produit lors de l’évaluation de la requête.

[FROM table] [WHERE state='ny'] [SELECT city, avg(hhinc) GROUP BY city] [ORDER BY city]

Notez que le filtrage de state='ny' précède la sélection des lignes. Cet ordre est important lors de la délégation du travail auprès du fournisseur de données source.

Par exemple, si le fournisseur de données source ne prend pas en charge l’opérateur '=' de la clause WHERE, la clause SELECT ne peut pas non plus être déléguée conformément aux règles de Spectrum Spatial. Dans ce cas, Spectrum Spatial doit effectuer le travail.

Le plus gros avantage de la délégation provient d’une clause WHERE bien construite. Si la clause WHERE ne peut pas être déléguée, le reste de la requête ne peut pas être délégué. Pour plus d’informations sur les règles de la clause WHERE, voir Règles de délégation : Où Clause.