Before dropping what appeared to be an unused composite index on our transactions table, we followed the rule of making the index invisible first in our staging database.
-- Toggle visibility without dropping the data:
ALTER TABLE transactions ALTER INDEX idx_user_status INVISIBLE;
-- If performance degrades, re-enabling it is instant (no index rebuild):
ALTER TABLE transactions ALTER INDEX idx_user_status VISIBLE;
Within thirty minutes of making it invisible, an internal compliance audit export jumped from 800ms to 42 seconds. A subquery in the report relied on the index without matching the primary query planner path. Making the index invisible saved us from a disastrous production drop.