You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by AsterixDB Code Review <do...@asterix-gerrit.ics.uci.edu> on 2026/08/12 14:40:02 UTC
[XL] Change in asterixdb[master]: [ASTERIXDB-3809][COMP] Advise vector indexes for ANN searches
From Rithwik Koul <ri...@couchbase.com>:
Attention is currently required from: Rithwik Koul.
Hello Anon. E. Moose #1000171, Jenkins,
I'd like you to reexamine a change. Please visit
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21529?usp=email
to look at the new patch set (#8).
Change subject: [ASTERIXDB-3809][COMP] Advise vector indexes for ANN searches
......................................................................
[ASTERIXDB-3809][COMP] Advise vector indexes for ANN searches
- user model changes: no
- storage format changes: no
- interface changes: no
The advisor works by inventing a fake index per opportunity it finds,
re-optimizing against those fakes, and reporting the ones the optimizer
picked.
Ex-ref: MB-73279
Change-Id: Icd76ea59814fbcc884ca5065c4e50ef867eb4c11
---
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceTopKAccessMethodRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/indexadvisor/AdviseIndexRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/indexadvisor/AdvisorConditionParser.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/indexadvisor/AdvisorPlanParser.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/indexadvisor/CBOPlanStateTree.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/indexadvisor/FakeIndex.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/indexadvisor/FakeIndexProvider.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/indexadvisor/VectorFilterCondition.java
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/CBOJoinQueries.xml
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-existing/vector-advise-existing.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-existing/vector-advise-existing.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-existing/vector-advise-existing.3.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-existing/vector-advise-existing.4.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-existing/vector-advise-existing.5.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-existing/vector-advise-existing.6.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-existing/vector-advise-existing.7.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-filter/vector-advise-filter.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-filter/vector-advise-filter.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-filter/vector-advise-filter.3.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-filter/vector-advise-filter.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-join/vector-advise-join.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-join/vector-advise-join.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-join/vector-advise-join.3.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-join/vector-advise-join.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-join/vector-advise-join.5.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-multi/vector-advise-multi.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-multi/vector-advise-multi.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-multi/vector-advise-multi.3.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-multi/vector-advise-multi.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-nested/vector-advise-nested.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-nested/vector-advise-nested.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-nested/vector-advise-nested.3.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-nested/vector-advise-nested.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-nested/vector-advise-nested.5.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-none/vector-advise-none.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-none/vector-advise-none.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-none/vector-advise-none.3.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-none/vector-advise-none.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-none/vector-advise-none.5.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise-none/vector-advise-none.6.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise/vector-advise.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise/vector-advise.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise/vector-advise.3.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/cbo-join/index-advisor/vector-advise/vector-advise.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/results/cbo-join/index-advisor/vector-advise-existing/vector-advise-existing.5.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cbo-join/index-advisor/vector-advise-existing/vector-advise-existing.6.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cbo-join/index-advisor/vector-advise-existing/vector-advise-existing.7.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cbo-join/index-advisor/vector-advise-filter/vector-advise-filter.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cbo-join/index-advisor/vector-advise-join/vector-advise-join.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cbo-join/index-advisor/vector-advise-join/vector-advise-join.5.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cbo-join/index-advisor/vector-advise-multi/vector-advise-multi.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cbo-join/index-advisor/vector-advise-nested/vector-advise-nested.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cbo-join/index-advisor/vector-advise-nested/vector-advise-nested.5.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cbo-join/index-advisor/vector-advise-none/vector-advise-none.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cbo-join/index-advisor/vector-advise-none/vector-advise-none.5.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cbo-join/index-advisor/vector-advise-none/vector-advise-none.6.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/cbo-join/index-advisor/vector-advise/vector-advise.4.adm
57 files changed, 1,403 insertions(+), 14 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/29/21529/8
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21529?usp=email
To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: Icd76ea59814fbcc884ca5065c4e50ef867eb4c11
Gerrit-Change-Number: 21529
Gerrit-PatchSet: 8
Gerrit-Owner: Rithwik Koul <ri...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Attention: Rithwik Koul <ri...@couchbase.com>