Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL optimisé pour les arborescences

Cela dépend vraiment de la façon dont vous allez accéder à l'arborescence.

Une technique astucieuse consiste à donner à chaque nœud un identifiant de chaîne, où l'identifiant du parent est une sous-chaîne prévisible de l'enfant. Par exemple, le parent pourrait être '01', et les enfants seraient '0100', '0101', '0102', etc. De cette façon, vous pouvez sélectionner un sous-arbre entier de la base de données à la fois avec :

SELECT * FROM treedata WHERE id LIKE '0101%';

Étant donné que le critère est une sous-chaîne initiale, un index sur la colonne ID accélérerait la requête.