Vector indexes page: say which Cloud plans support them, and that a non-prefix filter skips the index
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 88/100
- Tipo di issue
- Documentazione
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- sql
- Ambito
- documentation
Direzione di ricerca
Inizia dalla pagina Vector indexes, in particolare dalla sezione "Define prefix columns", e rivedi le misurazioni e i piani di query riportati per il cluster Basic. Aggiorna la pagina per indicare quali piani Cloud supportano Vector indexes e spiegare che i filtri non di prefisso, incluso un controllo IS NOT NULL su una colonna vettoriale, possono causare una scansione completa, con una coppia di EXPLAIN che mostri entrambi i casi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Page: https://docs.cockroachlabs.com/docs/stable/vector-indexes
Two things I had to measure while building on a CockroachDB Cloud Basic cluster that the page could answer directly.
1. Which Cloud plans support vector indexes. The page doesn't say whether they work on Basic, Standard and Advanced. On a Basic cluster running v26.2.1, on 2026-08-03, SHOW CLUSTER SETTING feature.vector_index.enabled returned true and CREATE VECTOR INDEX completed. A line on plan availability, and on whether the setting is already on for Basic, would save the next person the experiment.
2. What a filter on a non-prefix column does to the plan. The page says an index is only used when each prefix column is constrained, and lists "Index acceleration with filters is only supported if the filters match prefix columns" as a limitation. I read that limitation as "the filter won't be accelerated" and expected a vector search followed by filtering. What I measured was the index skipped entirely. Same Basic cluster, August 2026, statistics freshly collected:
| Filter | Index | Plan |
|---|---|---|
| none | (embedding vector_cosine_ops) |
vector search |
WHERE evicted_at IS NULL |
(embedding vector_cosine_ops) |
FULL SCAN |
WHERE workspace_id = $1 |
(embedding vector_cosine_ops) |
FULL SCAN |
WHERE workspace_id = $1 AND is_live |
(workspace_id, is_live, embedding vector_cosine_ops) |
vector search, prefix spans |
WHERE workspace_id = $1 AND is_live AND embedding IS NOT NULL |
(workspace_id, is_live, embedding vector_cosine_ops) |
FULL SCAN |
The query was SELECT ... FROM memory WHERE <filter> ORDER BY embedding <=> $2::VECTOR LIMIT $3. The last row surprised me most: an IS NOT NULL check on the vector column itself was enough to lose the index.
Suggested addition under "Define prefix columns": one sentence saying that when a query also filters on a column that isn't a prefix column, the optimizer doesn't use the vector index and falls back to a full scan, with an EXPLAIN pair showing both cases.
Jira issue: DOC-19240
- Lingua principale
- HTML
- Stelle
- 212
- Fork
- 479
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Issue simili
-
documentation P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
daniel-ospina/tortoise#9038 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
drevendev/HungryCrab#273 ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
drevendev/BeautifulRepo#19 ·
I maintainer di solito rispondono entro 2 giorni
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 2 giorni