$PARTITION |
Partition |
| SQL Server |
Microsoft SQL Server |
Syntaxe
|
[ database_name. ] $PARTITION.partition_function_name(expression)
|
Paramètres
| Nom |
Description |
| database_name |
Ce paramètre permet d'indiquer le nom de la base de données contenant la fonction de partition. |
| partition_function_name |
Ce paramètre permet d'indiquer le nom de toute fonction de partition existante sur laquelle un ensemble de valeurs de colonne de partitionnement est appliqué. |
| expression |
Ce paramètre permet d'indiquer l'expression dont le type de données doit correspondre à celui de la colonne de partitionnement correspondante ou être implicitement convertible en celui-ci. Ce paramètre peut également être le nom d'une colonne de partitionnement actuellement associée à partition_function_name. |
Description
Cette fonction permet de retourner le numéro de partition dans lequel un ensemble de valeurs de colonne de partitionnement serait cartographié pour toute fonction de partition spécifiée dans SQL Server.
Remarques
- Fonctionnalité principale de $PARTITION : La fonction $PARTITION permet de déterminer à quel numéro de partition appartient une valeur donnée, selon
une fonction de partitionnement définie. Cela est utile pour comprendre comment les données seraient réparties, même sans accéder physiquement à une table partitionnée. Elle
agit donc comme un outil de diagnostic et de planification des partitions.
- Retourne toujours un numéro de partition valide : Même si la valeur testée n'est pas réellement présente dans une table ou un index partitionné, $PARTITION
retourne quand même le numéro de la partition dans laquelle cette valeur serait stockée. Cela signifie qu'on peut utiliser cette fonction pour prévoir l'emplacement
potentiel d'une donnée, ce qui est précieux pour les requêtes d'analyse.
- Liaison avec une fonction de partition définie par l'utilisateur : $PARTITION ne fonctionne que si une fonction de partition
(partition_function_name) a été définie au préalable dans la base. Cette fonction détermine la manière dont les valeurs sont réparties dans les différentes
partitions. Il est donc essentiel de bien comprendre cette fonction pour interpréter correctement le résultat retourné.
- Flexibilité avec les types de données grâce à l'expression : Le paramètre expression peut être une valeur constante, une variable, ou même une colonne, à
condition que son type soit compatible avec celui attendu par la fonction de partition. SQL Server autorise même les conversions implicites, ce qui donne une
certaine flexibilité lors de son utilisation dans les requêtes.
- Utilisation possible sans table partitionnée : On peut utiliser $PARTITION sans avoir besoin de créer une table partitionnée. Cela permet aux développeurs
et administrateurs de tester la logique de leur fonction de partition avant de l'appliquer sur des objets physiques. C'est donc un excellent outil de simulation et de
planification.
- Utile pour le débogage et la compréhension des performances : En cas de performances anormales sur des tables partitionnées, $PARTITION peut être utilisée
pour identifier les valeurs tombant dans des partitions inattendues. Cela permet de corriger une mauvaise définition de la fonction de partition ou une erreur dans le
type de données utilisé.
- Intégration dans les requêtes SQL classiques : La fonction $PARTITION peut être appelée dans des requêtes SELECT, par exemple pour
afficher la partition correspondant à chaque ligne d'un jeu de données. Cette capacité rend la fonction facilement intégrable dans des scripts d'administration ou
d'audit.
- Numérotation des partitions commence à 1 : Contrairement à certains index ou tableaux où la numérotation commence à 0, $PARTITION retourne toujours un
numéro de partition à partir de 1. Cela peut prêter à confusion si l'on ne connaît pas bien cette convention, surtout pour les développeurs habitués à des environnements
où les indices débutent à zéro.
Dernière mise à jour : Jeudi, le 23 Septembre 2021