The primary XML index is a B+tree and is useful because the optimizer creates a plan for the entire query.
It is always better to split the entire XML columns into relational rows and columns.
The primary XML index contains one row for each node in the XML instance.
The secondary XML indexes can be created to enhance the performance.
There are the types of secondary indexes:
PATH secondary XML index
If the use of path expressions on XML columns is prominant, the PATH secondary XML index can speed up the task.
VALUE secondary XML index
The VALUE index can be used if your task involves quering unknown attribute names.
PROPERTY secondary XML index
Clustering paths within each XML instance in the PROPERTY index can be beneficial when multiple values are retrieved from individual XML instances.