Differenza tra Elimina e Tronca

Differenza tra Elimina e Tronca
Differenza tra Elimina e Tronca

Video: Differenza tra Elimina e Tronca

Video: Differenza tra Elimina e Tronca
Video: Differenza tra eliminare e svuota chat #shorts 2024, Novembre
Anonim

Elimina vs Tronca

Entrambi i comandi SQL (Structure Query Language), Elimina e Tronca vengono utilizzati per eliminare i dati archiviati nelle tabelle in un database. Delete è un'istruzione DML (Data Manipulation Language) e rimuove alcune o tutte le righe di una tabella. La "clausola Where" viene utilizzata per specificare le righe che devono essere eliminate e, se la clausola Where non viene utilizzata con l'istruzione Delete, rimuove tutti i dati nella tabella. Tronca è un'istruzione DDL (Data Definition Language) e rimuove tutti i dati dalla tabella. Entrambi questi comandi non distruggono la struttura della tabella e i riferimenti alla tabella e solo i dati vengono rimossi secondo necessità.

Elimina istruzione

L'istruzione Delete consente all'utente di rimuovere i dati da una tabella esistente in un database in base a una condizione specificata e la "clausola Where" viene utilizzata per determinare questa condizione. Il comando Elimina viene indicato come un'esecuzione registrata, poiché elimina solo una riga alla volta e mantiene una voce per ogni eliminazione di riga nel registro delle transazioni. Quindi, questo fa sì che l'operazione sia più lenta. Delete è un'istruzione DML e quindi non viene automaticamente salvata durante l'esecuzione del comando. Pertanto, è possibile annullare l'operazione di eliminazione per accedere nuovamente ai dati, se necessario. Dopo l'esecuzione del comando Elimina, dovrebbe essere eseguito il commit o il rollback per salvare le modifiche in modo permanente. L'istruzione Delete non rimuove la struttura della tabella dal database. Inoltre non dealloca lo spazio di memoria utilizzato dalla tabella.

La sintassi tipica per il comando Elimina è indicata di seguito.

ELIMINA DA

o

ELIMINA DA DOVE

Tronca istruzione

L'istruzione Truncate rimuove tutti i dati da una tabella esistente in un database, ma conserva la stessa struttura della tabella, anche i vincoli di integrità, i privilegi di accesso e le relazioni con le altre tabelle. Pertanto, non è necessario definire nuovamente la tabella e la vecchia struttura della tabella può essere utilizzata se l'utente desidera riutilizzare nuovamente la tabella. Tronca rimuove tutti i dati deallocando le pagine di dati utilizzate per conservare i dati e solo queste deallocazioni di pagine vengono mantenute nel registro delle transazioni. Pertanto, il comando tronca utilizza solo un minor numero di risorse del registro delle transazioni e del sistema per il funzionamento, quindi è più veloce di altri comandi correlati. Tronca è un comando DDL, quindi utilizza impegni automatici prima e dopo l'esecuzione dell'istruzione. Pertanto, troncare non può ripristinare nuovamente i dati in alcun modo. Rilascia lo spazio di memoria utilizzato dalla tabella dopo l'esecuzione. Ma l'istruzione Troncate non può essere applicata alle tabelle a cui fanno riferimento i vincoli di chiave esterna.

Segue la sintassi comune per l'istruzione Troncate.

TRONCO TAVOLA

Qual è la differenza tra Elimina e Tronca?

1. I comandi Elimina e Tronca rimuovono i dati dalle tabelle esistenti in un database senza danneggiare la struttura della tabella o altri riferimenti alla tabella.

2. Tuttavia, il comando Elimina può essere utilizzato per eliminare righe specifiche solo in una tabella utilizzando una condizione pertinente o per eliminare tutte le righe senza alcuna condizione, mentre il comando Tronca può essere utilizzato solo per eliminare interi dati nella tabella.

3. Elimina è un comando DML e può ripristinare l'operazione se necessario, ma Truncate è un comando DDL, quindi è un'istruzione di commit automatico e non può essere ripristinato in alcun modo. Quindi è importante usare questo comando con attenzione nella gestione del database.

4. L'operazione di troncamento consuma meno risorse di sistema e di registro delle transazioni rispetto all'operazione di eliminazione, pertanto Tronca è considerata più veloce di quella di eliminazione.

5. Inoltre, Elimina non dealloca lo spazio utilizzato dalla tabella, mentre Tronca libera lo spazio utilizzato dopo l'esecuzione, quindi Elimina non è efficiente in caso di eliminazione di tutti i dati da una tabella del database.

6. Tuttavia, Troncate non può essere utilizzato quando la tabella è referenziata da un vincolo di chiave esterna e, in tal caso, è possibile utilizzare il comando Elimina invece di Troncate.

7. Infine, entrambi questi comandi presentano vantaggi e anche svantaggi nell'applicarli nei sistemi di gestione dei database e l'utente dovrebbe essere consapevole di utilizzare questi comandi in modo appropriato per ottenere buoni risultati.

Consigliato: