通常清除Table內的所有資料採用 Delete SQL命令的做法並不好,除了效率不好之外另外也可能造成過度使用系統資源,因此DBCS都會提供快速刪除資料的方式
MySQL在5.03版之前,InnoDB Truncate採用 Row by Row方式刪除每一筆資料
5.0.3之後除非Table本身有Foreign Key參考到本table是採用Row by Row方式刪除資料
若無Foerign Key的話則採用 Fast-Truncate方式( Drop & Re-create )重建新 Table
並且會 Reset AUTO_INCREMENT 計數器
而在5.0.13版本之後無論是否採用 Fast-Truncat都會重置 AUTO_INCREMENT 計數器
** Trigger注意事項
Truncate 若不採用Delete SQL Command 因此並不呼叫任何 ON DELETE Trigger
MySQL在5.03版之前,InnoDB Truncate採用 Row by Row方式刪除每一筆資料
5.0.3之後除非Table本身有Foreign Key參考到本table是採用Row by Row方式刪除資料
若無Foerign Key的話則採用 Fast-Truncate方式( Drop & Re-create )重建新 Table
並且會 Reset AUTO_INCREMENT 計數器
而在5.0.13版本之後無論是否採用 Fast-Truncat都會重置 AUTO_INCREMENT 計數器
** Trigger注意事項
Truncate 若不採用Delete SQL Command 因此並不呼叫任何 ON DELETE Trigger
留言
張貼留言