How to extract a specific value from encrypted data while reducing ciphertext size

Using CKKS scheme.
I want to extract a specific part of the value from a ciphertext object.
To do this, I create a mask ciphertext, apply it to the target index in the original ciphertext, and use the masked result for comparison. However, the extracted ciphertext leading to IO overhead.

Is there a more efficient way to extract a specific value while reducing ciphertext size to optimize performance?

As long as the parameters are the same (e.g., ring dimension, multiplicative depth), the ciphertext will have the same dimension regardless of the number of slots which are populated by non-zero values.

If your ring dimension and multiplicative depth, number of auxiliary moduli are already set to the minimum allowable values, then there isn’t much that can be done to reduce the ciphertext size in an arbitrary context. If some specific ciphertexts do not require all levels, you can remove some of the limbs; check LevelReduce and ModReduce (more care is needed for the FLEXIBLE modes How can i do levelreduce explicitly while using flexibleauto mode). If you want to minimize the communication, check Compress Reducing the size of a full-packed ciphertext and this thread How to reduce the size of ckks ciphertext?.

Thank you! for information.