You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
142944: vecindex: avoid scanning leaf vectors in insert operations r=drewkimball a=andy-kimball
Insert and SearchForInsert operations do not need to scan leaf vectors. Normally, insert operations do not even attempt to load leaf partitions. However, leaf vectors are scanned in the case where the root partition is also a leaf partition (e.g. when there are < ~128 vectors in the K-means tree). This is because, until we read its metadata record, we don't know that the root is a leaf partition.
In order to avoid the contention caused by scanning leaf vectors, this commit adds the partition's level into the encoding for each of the KV keys of vectors in that partition:
Index Prefix | Prefix Columns | PartitionID | Level | Child PartitionID
Encoding the level allows insert operations to skip over leaf vectors by scanning the [prefix/partitionID/2/... - prefix/partitionID/...] span.
Epic: CRDB-42943
Release note: None
Co-authored-by: Andrew Kimball <[email protected]>
Copy file name to clipboardExpand all lines: docs/generated/metrics/metrics.html
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1868,7 +1868,7 @@
1868
1868
<tr><td>APPLICATION</td><td>sql.update.started.count.internal</td><td>Number of SQL UPDATE statements started (internal queries)</td><td>SQL Internal Statements</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
1869
1869
<tr><td>APPLICATION</td><td>sql.vecindex.fixups_added</td><td>Total number of vector index fixups that have been added to the processor</td><td>Vector Index Fixups Added</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
1870
1870
<tr><td>APPLICATION</td><td>sql.vecindex.fixups_processed</td><td>Total number of vector index fixups that have been processed</td><td>Vector Index Fixups Processed</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
1871
-
<tr><td>APPLICATION</td><td>sql.vecindex.splits</td><td>Total number of vector index partitions split without error</td><td>Vector Index Splits</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
1871
+
<tr><td>APPLICATION</td><td>sql.vecindex.successful_splits</td><td>Total number of vector index partitions split without error</td><td>Vector Index Splits</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
1872
1872
<tr><td>APPLICATION</td><td>sqlliveness.is_alive.cache_hits</td><td>Number of calls to IsAlive that return from the cache</td><td>Calls</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
1873
1873
<tr><td>APPLICATION</td><td>sqlliveness.is_alive.cache_misses</td><td>Number of calls to IsAlive that do not return from the cache</td><td>Calls</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
1874
1874
<tr><td>APPLICATION</td><td>sqlliveness.sessions_deleted</td><td>Number of expired sessions which have been deleted</td><td>Sessions</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
0 commit comments