Le déterminisme est une idée selon laquelle pour un ensemble d'entrées valides donné, une procédure va toujours renvoyer le même résultat. Avant SQL Server 2000, le déterminisme n'était pas très important, mais avec l'arrivée de l'indexation des vues et des colonnes calculées, cette notion devient capitale. Pour construire un index
Comprendre le déterminisme
sur quelque chose, SQL Server a besoin de définir avec déterminisme (définir
avec certitude) l’élément qui sera indexé.
Les UDF peuvent être déterministes ou non déterministes. C’est le rôle de la fonction,
plus que de ses paramètres, qui définit son déterminisme. SUM() est une fonction
intégrée déterministe : la somme de 3, 5 et 10 reste toujours 18, à chaque fois
que la fonction est invoquée avec ces valeurs. GETDATE(), à l’inverse, est non
déterministe : la valeur que renvoie la fonction change pratiquement à chaque
appel.
Pour être déterministe, une fonction doit remplir trois critères. Premièrement,
la fonction doit être liée à un schéma. Tout objet dont dépend la fonction possède
une dépendance répertoriée et aucune modification de cet objet n’est permise (via
une instruction ALTER par exemple) à moins que l’on n’exécute la fonction DROP
au préalable sur la fonction dépendante. Ensuite, toutes les autres fonctions
auxquelles la fonction fait référence, qu’elles soient programmées par l’utilisateur
ou par le système, doivent aussi être déterministes. Enfin, la fonction ne peut
pas faire référence à un objet non déterministe (ce qui élimine tous les objets
à l’exception des autres fonctions) en dehors de l’étendue de la fonction.
Si on construit une vue ou une colonne calculée faisant référence à une fonction
non déterministe, on ne peut pas construire d’index sur cette vue ou colonne calculée.
Cette limitation n’est pas la fin du monde en soi, mais il faudra déterminer si
une fonction est déterministe ou non avant de créer des index sur des vues ou
des colonnes utilisant cette fonction.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- IA et cybersécurité : les entreprises françaises acceptent plus de risques qu’elles ne savent les contrôler
- Infrastructures critiques : la France redoute les attaques dopées à l’IA, mais peine à unifier sa sécurité IT/OT
- Les Assises 2026 : encore plus d’énergie pour poursuivre le chemin
- Agents IA : arrêtons de leur confier nos secrets
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
