Agree with Geetha suggestion to raise a support incident for both performance issue and allocated space as shrink functionality is currently not supported in Hyperscale - refer https://learn.microsoft.com/en-us/azure/azure-sql/database/service-tier-hyperscale?view=azuresql#known-limitations. However, I will still recommend raising a support incident as you may get a solution for both. In addition to that could you review below suggestions:
- Validate the compute/SLO size of your Named replica and provision the right compute size required by your analytical queries. Buffer Pool and local SSD cache/RBPEX cache on compute node to retain hot data pages are allocated based on the compute/SLO size you have provisioned. When a read is issued on a compute replica, if the data doesn't exist in the buffer pool or local RBPEX cache, a getPage(pageID,LSN) function call is issued, and the page is fetched from the corresponding page server. Reads from page servers are remote reads and are thus slower than from local RBPEX reads.
- Follow general performance tuning methodologies by monitoring query waits on a Named replica using standard DMVs and take necessary action.
- I understand you have provisioned a Serverless compute on primary, if your workload is predictable on Named replicas, consider changing it to provisioned compute with appropriate compute size so that temporary statistics created on Named replica to optimize the analytical query can be retained.