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: Riconoscere la mandragora - (borragine e bietola selvatica a confronto). 2024, Aprile
Anonim

Elimina vs Tronca

Entrambi i comandi SQL (Structure Query Language), Elimina e Tronca vengono utilizzati per eliminare i dati memorizzati 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. Truncate è un'istruzione DDL (Data Definition Language) e rimuove interi 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 di eliminazione viene indicato come 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 eseguito il commit durante l'esecuzione del comando. Pertanto, l'operazione di eliminazione può essere annullata 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 rilascia lo spazio di memoria utilizzato dalla tabella.

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

ELIMINA DA

o

ELIMINA DA DOVE

Istruzione Truncate

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. Quindi, non è necessario definire nuovamente la tabella e la vecchia struttura della tabella può essere utilizzata, se l'utente desidera riutilizzare la tabella di nuovo. Truncate rimuove interi dati deallocando le pagine di dati utilizzate per conservare i dati e solo queste deallocazioni di pagine vengono conservate nel registro delle transazioni. Pertanto, il comando truncate utilizza solo poche risorse di sistema e di registro delle transazioni per il funzionamento, quindi è più veloce di altri comandi correlati. Truncate è un comando DDL, quindi utilizza impegni automatici prima e dopo l'esecuzione dell'istruzione. Pertanto, truncate non può ripristinare nuovamente i dati in alcun modo. Rilascia lo spazio di memoria utilizzato dalla tabella dopo l'esecuzione. Ma l'istruzione Truncate non può essere applicata alle tabelle a cui fanno riferimento vincoli di chiave esterna.

Di seguito è riportata la sintassi comune per l'istruzione Truncate.

TAVOLA TRONCA

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. Delete è un comando DML e può annullare l'operazione se necessario, ma Truncate è un comando DDL, quindi è un'istruzione di commit automatico e non può essere annullato in alcun modo. Quindi è importante utilizzare 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 Truncate è considerata più veloce di Elimina.

5. Inoltre, Delete non rilascia lo spazio utilizzato dalla tabella, mentre Truncate libera lo spazio utilizzato dopo l'esecuzione, quindi Delete non è efficiente in caso di eliminazione dell'intero dato da una tabella di database.

6. Tuttavia, Truncate non può essere utilizzato quando la tabella fa riferimento a un vincolo di chiave esterna e in tal caso, è possibile utilizzare il comando Delete invece di Truncate.

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

Raccomandato: