Have you considered using materialised views (depending on what version you are running)?
Forum Rules