fare attenzione, troncare ed eliminare istruzioni SQL totalmente separate: - eliminare è DML e troncare è DDL, il che significa che è possibile eliminare rollback e non è possibile eseguire il rollback del troncato - elimina deve trovare ogni riga una per una. troncare è istantanea - cancellare usi annullare i log e troncano non fa
se si mette tutto insieme: 1/se si vuole che sia rollbackable, non si vuole usare troncare 2/se si utilizza eliminare , data la dimensione del tavolo che vuoi svuotare: - se il tavolo è piccolo, non vedrai alcuna differenza - se il tavolo è di medie dimensioni, subirai una cattiva prestazione - se il tavolo è grande, finirai senza spazio nel tablespace annullare e non sarà possibile svuotare nulla
quindi fare attenzione a quale dichiarazione si desidera veramente utilizzare.
su come troncare una tabella con hql, dovrebbe essere vietato eseguire DDL (troncare, creare tabella, drop table, ecc.) Da e applicazione. Dovresti usare delete. Ma se il tavolo è grande, non funzionerà neanche. Ecco perché svuotare una tabella in un'applicazione è in generale una cattiva idea. Se si desidera eseguire alcune operazioni di pulizia, è spesso preferibile eseguire il troncato all'interno di uno script sql una volta ogni notte.
Si noti che io non conosco le specifiche della vostra applicazione e che si sta parlando solo in generale
Tronca non è un LMD standard o comando DDL, quindi è normale che non è supportato. –