Skip to content

Commit 1dd1445

Browse files
committed
feat: fastQuery
1 parent 58d91b9 commit 1dd1445

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

docs/guide/optimize.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,18 @@
9797

9898
`A > C[id='x'] <<n D[id='y'] <<n E`, 其中的 `C[id='x'] <<n``D[id='y'] <<n` 都可以使用局部快速查找
9999

100+
如果使用 `||`, `&&` 连接多个选择器时, 快速查询为它们的并集
101+
102+
如果选择器被 `!(xxx)` 包裹, 则不符合快速查询格式, 也就是 `!` 会取消其内部所有的快速查询
103+
104+
- `(A + B[id='b']) || (C + D[id='d'])` 的快速查询为 `id='b'`, `id='d'`
105+
- `(A + B[id='b']) && (C + D[id='d'])` 的快速查询为 `id='b'`, `id='d'`
106+
- `(A + B[id='b']) && !(C + D[id='d'])` 的快速查询为 `id='b'`
107+
108+
需要注意的是它们内部的 局部快速查找 仍然独立成立
109+
110+
- `(X[id='x'] <<n A + B[id='b']) && !(Y[id='y'] <<n C + D[id='d'])` 的快速查询为 `id='b'`, 局部快速查询分别是 `id='x'`, `id='y'`
111+
100112
> [!NOTE] 注意
101113
> 如果选择器不存在满足快速查找的格式, fastQuery 是否开启都不影响查询复杂度
102114

0 commit comments

Comments
 (0)