Because index_by_dimensions works on each dim iteratively, this is probably sub-optimal for lazy data as it will increase the graph complexity at every stage.
So, a single combined indexing operation would probably be more efficient, but this is a bit trickier to implement.