Ciao piero,
intervengo per una mia curiosità.
Premetto che non mastico benissimo l'inglese ed ho difficoltà di consultazione del manuale ufficiale.
La domanda è: Quale è la differenza fra "DELETE FROM tabella" e "TRUNCATE TABLE tabella"?
Io ho, al momento, colto esclusivamente una differenza: TRUNCATE resetta la tabella rendendola uguale a quando è stata creata e ciò è rilevante nel caso in cui sia presente un campo id autoincrement relazionato ad altra tabella.
Infatti con TRUNCATE l'id autoincrement ripartirà da 1 e, quindi, se vi sono relazioni con altre tabelle ciò porta a risultati indesiderati dato che "sballa" tutte le relazioni (mi sono spiegato malino... ma sono sicuro che tu hai inteso...).
Ma oltre a questo?