Shares table table get dirty with alot of dead data
### Description

[Shares table gets alot of dead data churning aprox 600K shares per block]
Auto vacuum does not seem to help. Has there been any thoughts of using table partitions and partition drops instead of deletes? 




### Steps to Reproduce

1. Run pool
2. Monitor gradual payment process backlog growth
3. See that block status in API is unconfirmed for longer than (coinbase maturity)
Share table size is infinitely growing.

### Expected behavior
Process is fast and does not degrade in time.


### Actual behavior

Process slows down and difficulty increases payment processor latency increase.

### Reproduces how often

Systematically reproducible with 250K - 600K shares per block.

### Version


### Additional Information


