Starting with the InnoDB Plugin, when the user requests to
      TRUNCATE a table that is stored in an
      .ibd file of its own (because
      innodb_file_per_table was enabled when
      the table was created), and if the table is not referenced in a
      FOREIGN KEY constraint, the InnoDB Plugin will
      drop and re-create the table in a new .idb file. This
      operation is much faster than deleting the rows
      one by one, and will return disk space to the operating system and
      reduce the size of page-level backups.
    
      Previous versions of InnoDB
      would re-use the existing .idb file,
      thus releasing the space only
      to InnoDB for storage management, but not to the operating system.
      Note that when the table is truncated, the count of rows affected by
      the TRUNCATE command is an arbitrary number.
    
Note: if there are referential constraints between the table
    being truncated and other tables, MySQL instead automatically
    converts the TRUNCATE command to a
    DELETE command that operates row-by-row, so
    that ON DELETE operations can occur on
    “child” tables.
This is the User’s Guide for InnoDB Plugin 1.0.6 for MySQL 5.1, generated on March 4, 2010 (rev 673:680M).

