What is the best way to avoid re-running a query after only a minor change on the data (e.g. status change)?

@Mik Also, check out this post: It has helped me in the past as well...