What is the preferred way to delete la arge amount of data from a Drupal site?
I'm not seeing any simple way to truncate (or truncate from X) a table like this.   The tables that would contain field data would be all mixed up and not nicely sorted.

In this case I would;


Start with a view that generated a list of node IDs based on your
select criteria (content type, status, older than date published,
etc)
Write a custom module with a drush command 
Load the node IDs
Either node_delete($nid) OR...
Examine what node_delete() does and delete * from {table} where nid= $nid


The tables node_delete() may touch will largely be dependant on your content types.  node_delete() will do the job, doing it my hand will take more time to prepare but may be faster to run. With the volume of records you're talking about a few milliseconds per delete may save a decent chunk of time.