![]() |
1
4
查询优化器团队正在尝试处理不改变事情顺序的场景。例如,
所以…处理祖先实际上就像在字符串的开头使用like运算符。它不会改变你的顺序,而且你仍然可以摆脱这些东西。 |
![]() |
2
2
您是正确的-HierarchyID和几何/地理都是查询优化器能够识别和重写计划以生成优化查询的“神奇”类型-这不像只识别可搜索的运算符那么简单。无法用其他UDT模拟等效行为。 对于hierarchyID,类型的二进制序列化是特殊的,以便以二进制顺序的方式表示层次结构。它类似于SQL XML类型所使用的机制,并在一篇研究论文中进行了描述。 ORDPATHs: Insert-Friendly XML Node Labels . 因此,尽管使用isDescendant和getAncestor转换查询的QO规则是特殊的,但实际的底层索引是二进制hierarchyID数据的常规关系索引,如果您愿意编写原始查询来执行范围查找而不是调用简单方法,则可以实现相同的行为。 |
![]() |
Jack Skeletron · T-SQL三表求和 7 年前 |
![]() |
CSK · 列出sql server中存储过程中的存储过程 7 年前 |
![]() |
DRT · 从文本字段中提取多个日期 7 年前 |
![]() |
ihatemash · 确定可以合并哪些行的SQL查询 7 年前 |
![]() |
Shawn · 使用WinZip命令行的SQL Server作业 7 年前 |