When the xchain cursor moves from one root block to another root block, it will find the next root block by iterating from max root block. If the max root block is much higher than next root block (e.g., > original 256), then the cache will not be effective, and thus causing a lot of raw db operations.
Related code: https://github.com/QuarkChain/pyquarkchain/blob/ff92683d0314a9969b348aeba60fdc14bfb7ddf4/quarkchain/cluster/shard_state.py#L203 https://github.com/QuarkChain/pyquarkchain/blob/ff92683d0314a9969b348aeba60fdc14bfb7ddf4/quarkchain/cluster/shard_db_operator.py#L297