I have a VDS that has about 30 reflections (from other VDS) that match and are checked as possible accelerators. I am finding that it is spending more time planning then actually running the query. I suspect that this is because there are so many reflections that match. Is there a way to tell dremio to only consider the reflection(s) that are part of the VDS being queried? Or is there a way to tell dremio to limit the number of reflections to consider?
edit: I also get a number of “Failure while attempting substitution, skipping materialization ###” errors
Currently there is no way to limit the number of reflections that are considered during query planning. If the reflections have source datasets and include columns that cover you query, then they will be considered. It sounds like maybe there is some redundancy in your reflections. It may be possible to only reflect a select few datasets and do the same jobs with less planning time.
You might find our white paper on reflections best practices useful to this end.
As for the errors what does the
sys.reflections tables say about the materializations that are report the error?
The new default reflection feature in 4.8 looks like exactly what I needed! Thank you.