Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL otimizado para estruturas em árvore


Depende muito de como você vai acessar a árvore.

Uma técnica inteligente é dar a cada nó um id de string, onde o id do pai é uma substring previsível do filho. Por exemplo, o pai poderia ser '01' e os filhos seriam '0100', '0101', '0102', etc. Dessa forma, você pode selecionar uma subárvore inteira do banco de dados de uma só vez com:
SELECT * FROM treedata WHERE id LIKE '0101%';

Como o critério é uma substring inicial, um índice na coluna ID aceleraria a consulta.