Surveillance des performances du pilote OData. SAP BusinessObjects
Pour un élément EntitySet spécifique, le schéma de résultat est obtenu après la fusion d'un type général. Le diagramme suivant affiche la table Employé telle que représentée dans le modèle relationnel.
La table Employé du modèle relationnel contiendra des informations provenant de deux entités, c'est-à-dire des colonnes du type parent et des types dérivés. Pour éviter tout conflit d'attribution de nom, les colonnes déclarées dans les types dérivés ont pour préfixe le nom de l'élément EntityType. Ils peuvent également contenir la valeur nulle.
6.3.10 Surveillance des performances du pilote OData
Il peut s'avérer utile de considérer les comportements suivants du pilote OData pour améliorer les performances de la connexion lors de l'exécution de la requête.
Guide d'accès aux données
Informations de référence sur le pilote d'accès aux données
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
81
Exécution des opérations côté client ou fournisseur
Lors de la création d'une connexion, vous pouvez exécuter certaines opérations de la requête SQL au niveau du pilote ou du fournisseur. Le tableau suivant présente les paramètres de l'Assistant de connexion qui contrôlent ce comportement.
Si un paramètre est sélectionné, le fournisseur de services OData traite l'opération correspondante s'il peut la prendre en charge. Il s'agit du comportement par défaut Dans le cas inverse, c'est le pilote OData qui traite l'opération.
Attention
SAP recommande de ne pas utiliser le pilote d'accès aux données pour exécuter ces opérations, car celui-ci risquerait de réduire les performances de connexion. Comme l'intégralité de l'ensemble de données doit être transférée au client, le temps de réponse s'accroît. Utilisez-le uniquement si le fournisseur de services OData ne prend pas en charge l'opération ou la prend en charge partiellement .
Paramètre
Sélection de colonnes
Opération Incidence sur les performances
SELECT
(Sélection ner)
Si le paramètre est désélectionné, le pilote OData traite la projection
SQL, ce qui augmente de manière significative le trafic de données.
Conditions de filtres prises en charge
WHERE
(Où)
Vous pouvez exécuter certaines opérations de filtrage au niveau du pi lote si les normes OData ne les prennent pas en charge. Cependant, les filtres au niveau du fournisseur réduisent généralement la durée d'exécution de la requête.
La couche d'accès aux données applique la logique suivante pour amé liorer les performances : toute condition de filtrage compatible avec les normes OData est poussée vers le fournisseur OData. Le pilote
OData exécute tout autre filtre incompatible que la clause WHERE peut contenir. Reportez-vous à l'exemple suivant.
Tri
ORDER BY
(Trier se lon)
Le fournisseur OData exécute l'opération ORDER BY si aucune expres sion DISTINCT ou GROUP BY n'est utilisée dans la requête. Si une re quête contient une expression DISTINCT ou GROUP BY, le pilote doit exécuter l'opération de tri, ce qui accroît la durée d'exécution.
Remarque
● L'opération ORDER BY dépend du paramètre SBO Bucket Split Size lorsqu'elle est exécutée par le pilote.
● L'opérateur BETWEEN est mappé aux fonctions de comparaison OData, puis exécuté par le fournisseur
OData.
● Les opérateurs LIKE et NOT LIKE sont généralement exécutés sur le client. Ils sont cependant convertis en fonctions OData startsWith et endsWith, si un seul modèle % est respectivement placé à la fin ou au début de la valeur de filtre.
82
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
Guide d'accès aux données
Informations de référence sur le pilote d'accès aux données
Exemple
Prise en charge des expressions de filtre
La requête suivante contient deux conditions de filtre dans la clause WHERE :
SELECT * FROM T1 WHERE col1='San Francisco' AND col2 LIKE 'S%n'
Le fournisseur OData peut traiter la première partie de la clause, mais pas la seconde. Le pilote OData exécute ensuite col2 LIKE 'S%n', tandis que le fournisseur exécute col1='San Francisco'.
Exemple
Mappage des fonctions startsWith et endsWith
La requête SQL suivante renvoie les employés Sales qui habitent sur des boulevards.
SELECT * FROM EMPLOYEES WHERE EMPLOYEES."Title" LIKE 'Sales %' AND
EMPLOYEES."Address" LIKE '% Blvd.'
Elle correspond à l'URL suivante : http://services.odata.org/Northwind/Northwind.svc/Employees?
$filter=startswith(Title,'Sales')&endswith(Address,'Blvd.')
Exécution des fonctions d'agrégation
La fonction de base de données COUNT est la seule fonction d'agrégation prise en charge par le protocole OData
2.0. Les autres fonctions de regroupement et d'agrégation déclenchées par la clause GROUP BY sont exécutées sur le client. Cependant, si le pilote effectue des calculs qui modifient le résultat avant que le total ne soit calculé, la fonction COUNT doit également être exécutée sur le client. Cela peut réduire les performances de la connexion.
Définition du paramètre d'expiration de la connexion
Vous pouvez choisir la valeur du paramètre
Expiration de la connexion
dans l'Assistant de connexion afin d'ajuster les performance du pilote. Cela spécifie la durée, exprimée en secondes, durant laquelle une connexion reste active en cas d'absence de réponse de la source de données.
Vous devez choisir la meilleure valeur de paramètre pour obtenir les meilleures performances. Par exemple, si vous vous connectez à une source de données dont le délai de réponse est élevé, vous choisirez une valeur élevée d'
Expiration de la connexion
pour attendre la réponse du serveur et éviter qu'une erreur soit détectée de façon précoce. Si votre source de données est habituellement rapide, vous choisirez une valeur réduite afin de ne pas attendre trop longtemps qu'une erreur soit détectée si le serveur ne répond pas.
Guide d'accès aux données
Informations de référence sur le pilote d'accès aux données
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
83

Enlace público actualizado
El enlace público a tu chat ha sido actualizado.