Looking over the options it appears that TRUNCATE commands need to not be ran on a live table.This means we need to rename the table before the truncate happens. id=61935#c368453 is related and as you can see in the comment #6 I've done a delete by create time, that way it doesn't block new inserts.Using Registry Editor incorrectly can cause serious problems that might require you to reinstall your operating system.
Drupal does not use any foreign keys on the cache tables so luckily that is one less thing to worry about here as well. There are some disadvantages when comparing by using the created column.
More recent mysql truncate table effectively do you what you've done in SQL.
I'm having issues where a truncate takes over 30 seconds on My SQL 5.6 and I then get over 150 connections to the database all waiting on metadata for the cache_* table in a short amount of time.
Access of ones due to delete AFAIK will get a deadlock error which is caught by the cache module and ignored.
The problem with renaming is you've put your entire caching offline for the time (despite it being quicker than a DELETE ALL).