In e32e94d the semantics of iterators over indexed batches were modified to be more consistent and to allow refreshing an Iterator's view of its indexed batch range deletions and range keys.
Now when a batch has no range deletions, the Iterator still includes a keyspan.Iter for the batch into the iterator. This keyspan.Iter serves as a container that may be filled with range deletions when the Iterator's view of the batch is refreshed. This has a noticeable effect iterator performance, showing up on the CockroachDB repo's MVCCGet benchmarks.
Relevant comment