I have some blocks that make fairly intensive calls on the database with several taxonomy get tree and sorting calls etc. These calls are noticably slowing Drupal down. However, the taxonomies in question are only updated once a week or so. How can I go about caching these blocks? I guess there is no way within drupal to ask it to cache certain blocks, but not others?

Perhaps I should manually create an html page via a php script when I update my taxonomy, and merely get the block to load the html? Presumably that way the html would cache, the same as any other html, css, etc page?

Any advice gratefully received!