In my game Teleblob i went for using the Tilemap object for the terain and after loads of thinking and trying i kind of perfected the use of it "with mining in mind".
You can see a glimpse of it in this vid
The nice thing is that the Tilemap setup i use is 8000 x 8000 and it can easily be bigger, but because my game is Online Multiplayer i kept it this large.
But 8000 x 8000 is still pretty large.
The most difficult thing with the tilemap was that i could not use a array to store all tile data.
What i did was use the tilemap image blocks as animations.
Lets say the tilamap image uses 15 tiles of the same rock, but each a little further destroyed.
Then when mining, i set (estimated) after 0.3 seconds the tile one number further down.
From Tile - To Tile (takes 0.3)
Tile 15 = 100% block
Tile 14 = 90 % block
Tile 13 = 80 % block
Tile 12 = 70 % block
Tile 11 = 60 % block
Tile 10 = 50 % block
This enables the animations of the blocks while using the Tilemap.
The time it takes to destroy them from 100% to 0% = 0.3 seconds x the amount of tile images used. (seconds can be altered per block)
Especialy for online games this is neat, because it keeps the cpu low so more frames are left over for multiplayer data to be send.
Hope it makes a little sence what i did.
(I tested a map of 8000x8000 sprites and it was killing.)
With this i easily get 60 fps on my pc.