Qui, en termes de performances de requête, est plus efficace? Considérant que T est une table, et PK est la clé primaire dans la table T. Sont-ils différents ou sont-ils juste une question de choix?Comparaison de requêtes SQL dans ProC avec et sans curseur
select col1, col2 into :var1, :var2
from T
where PK = a
... ou:
- EXEC CURSEUR SQL DECLARE aCursor POUR select col1, col2 dans: var1,: var2 de T où PK = a;
- EXEC SQL OUVERT aCursor
- EXEC SQL FETCH aCursor
Je pense que la déclaration d'un curseur pour récupérer une seule ligne à partir d'une table en fonction de clé primaire faire moins de sens que si la ligne unique pourrait être récupérée directement à la place?
Oui Je suis d'accord avec vous, mais le point ici est: Est-ce que cela a un sens si d'autres points comme la performance, l'effectivité sont considérés. Je préfère toujours NE PAS UTILISER LE CURSEUR si j'ai besoin de sélectionner des valeurs basées sur la clé primaire. La seule rangée sera libérée car l'enregistrement a été récupéré sur la base de la clé primaire. –