Re : informix alter table avec erreur de syntaxe sous unix
Posted in 2003
Topics:
Performance & Tuning
Translated from English by DrWatson
— View original
> Si vous ajoutez vous-même la valeur NULL, votre problème sera résolu :
> check ((field_a IS NULL ) OR (field_a IN ('A' ,'B' ,'C' )))
>
Mais n'oubliez pas que l'utilisation d'un opérateur OR peut dégrader considérablement les performances des requêtes !
↪ replying to Iztok Bofulin
Iztok Bofulin a écrit :
>> Si vous ajoutez vous-même la valeur NULL, votre problème sera résolu :
>> check ((field_a IS NULL ) OR (field_a IN ('A' ,'B' ,'C' )))
>>
>
> Mais n'oubliez pas que l'utilisation d'un opérateur OR peut dégrader
> considérablement les performances des requêtes !
Pas dans le cas d'une contrainte, surtout dans ce contexte. Il s'agit simplement d'une expression en ligne appliquée pour tester la valeur d'un champ. Aucun accès aux tables ni aucune exécution de requête n'a lieu lors de l'évaluation de cette expression : elle s'exécutera donc à pleine vitesse CPU, en quelques dizaines de cycles d'horloge, comme on peut s'y attendre.