Yes, it does take time to process all of the blocks in a blockchain for a new node.
First we recommend you take a look at the general tips for performance optimization here:
https://www.multichain.com/developers/performance-optimization/
Second, have you considered creating a full duplicate of the primary node in order to get the secondary up and running quickly, instead of rescanning the entire blockchain? See the 'Full state backup and restore' details here:
https://www.multichain.com/developers/backing-up-restoring-nodes/
Third, there are two features in MultiChain Enterprise that may help you:
- Selective stream subscriptions, which gives you more control over how streams are indexed and can reduce indexing time substantially.
- Integration with external databases, which will likely be more efficient for indexing and querying than MultiChain's built-in stream functionality, since you can choose the database that is best suited for your use case.