Differenza tra troncamento e cancellazione Differenza tra

Anonim

La creazione e la manipolazione dei dati costituiscono la base dei database e li chiamiamo rispettivamente come DDL e DML. Un DDL è l'abbreviazione di Data Definition Language. Potrebbe o creare o modificare le strutture di dati nei database e non potrebbero essere utilizzati per modificare i dati presenti sulle tabelle. Ad esempio, abbiamo comandi che creano semplicemente una tabella con gli attributi della tabella specificati ma non aggiunge mai alcuna riga alla tabella. Ma un DML, il Data Manipulation Language, è in grado di aggiungere, eliminare o modificare i dati nelle tabelle. Come regola generale, i comandi DDL riguardano le strutture delle tabelle mentre i comandi DML riguardano i dati effettivi. Lascia che sia, perché ci limitiamo a deviare dall'argomento "Differenza tra tronca e cancella"? Ci sono ragioni per cui abbiamo parlato del DML e del DDL. Lo capiresti nella discussione in arrivo.

Che cos'è un comando Truncate?

Lo scopo di un comando Tronca è eliminare l'intera tabella. Quindi, quando usi un comando Tronca, perdi tutti i dati sul tavolo e dovresti essere cauto nell'usarlo. Facci sapere come usarlo.

La sintassi di Truncate:

TRUNCATE TABLE nome-tabella ;

Qui, dovresti specificare il nome della tabella che dovrebbe essere cancellata nel suo complesso. Questo assicura che ci sia un tavolo seduto nello spazio di memoria. Ecco un esempio di utilizzo di Truncate.

Sotto c'è la tabella 'employee' e guardiamo solo le file di dati al suo interno.

EMP-id EMP-name denominazione
1.011 Jack Clerk
1.012 Rosy Ammin
1.014 Nancy > Finanza
Ora, rilasceremo il comando seguente nella tabella dei dipendenti.

impiegato TRUNCATE TABLE

; Ecco la risultante della sintassi precedente e non ci sono dati al suo interno.

emp-id

nome-emp designazione Che cos'è un comando Elimina?

Lo scopo di un comando Elimina è rimuovere le righe specificate dalla tabella. Qui, qui viene usata la clausola 'Where' per specificare le righe che devono essere cancellate. Quando non specificiamo le righe, il comando eliminerebbe tutte le righe nella tabella. Basta guardare la sintassi di esso.

DELETE FROM

employee; La sintassi precedente cancella tutte le righe dalla tabella 'dipendente'. Quindi la tabella risultante non conterrebbe dati.

DELETE FROM

employee WHERE emp-id = 1011; Questa istruzione elimina solo una singola riga il cui emp-id è 1011. Quindi la tabella risultante sarebbe la seguente.

emp-id

emp-name designazione 1012
Rosy Amministratore 1014
Nancy Finanza Differenze:

Troncato è un DDL; Elimina è un DML:

  • Abbiamo discusso in precedenza su come funzionano DDL e DML nella nostra discussione precedente.Il comando Truncate è un DDL e funziona a livello di struttura dei dati. Ma Delete è un comando DML e funziona sui dati della tabella. Altri esempi per DDL sono CREATE e ALTER. In un modo simile, potremmo dire che i comandi come SELECT, UPDATE e REPLACE sono esempi perfetti per un DML. Come funziona Truncate and Delete:
  • Non appena viene emesso il comando Truncate, cerca solo la tabella specificata. Quindi rimuove completamente tutti i dati dalla memoria. Ma la procedura di lavoro è leggermente diversa nel caso di un Elimina. Qui, i dati della tabella originale vengono copiati nello spazio chiamato spazio "Rollback" prima di eseguire la manipolazione dei dati effettiva. Quindi le modifiche vengono eseguite sullo spazio dati della tabella effettiva. Quindi, entrambi differiscono nel modo in cui lavorano. Tronca

-> rimuove interi dati dalla tabella -> Il tablespace è ora liberato. Elimina

-> Copia i dati della tabella originale in spazio Rollback -> cancella i dati specificati / l'intera tabella -> Il tablespace viene liberato ma lo spazio Rollback viene riempito. Rollback:

  • Un rollback è come un comando Annulla nei nostri accessori Microsoft. È usato per cancellare le modifiche che abbiamo fatto di recente io. e. dall'ultimo punto salvato. Per eseguire l'operazione, i dati devono essere copiati nello spazio Rollback prima di essere modificati. Sebbene questi rollback richiedano la memoria extra, sono estremamente utili per tornare all'originale. Soprattutto, quando modifichi per sbaglio! Veniamo al Tronco ed Elimina rispetto al Rollback ora. Come discusso sopra, il Truncate non utilizza mai uno spazio di rollback e non è possibile tornare ai dati originali. Ma il comando Delete utilizza lo spazio di rollback e potremmo semplicemente utilizzare 'Commit' o 'RollBack' per accettare o annullare rispettivamente le modifiche. Trigger:
  • Per coloro che hanno bisogno di una spiegazione sui grilletti, ecco una piccola nota. I trigger sono un insieme predefinito di operazioni / operazioni che devono essere attivate quando la tabella incontra una condizione particolare. Ad esempio, potremmo innescare la modifica dell'importo del salario quando l'esperienza di un dipendente con l'azienda è superiore a un anno. Questi trigger potrebbero funzionare anche su altri tavoli. Ad esempio, potremmo aggiornare la tabella delle finanze non appena è stato fatto un aumento del salario per un dipendente. Tronca è un comando DDL, il trigger non è consentito qui. Ma un comando Elimina è un comando DML, i Trigger sono consentiti qui.

Quale è più veloce?

  • Come hai intuito, il comando Truncate sarebbe più veloce del comando Delete. Il primo potrebbe rimuovere tutti i dati e non è necessario verificare le condizioni corrispondenti. Inoltre, i dati originali non vengono copiati nello spazio di rollback e ciò consente di risparmiare un sacco di tempo. Questi due fattori rendono Truncate più veloce di Elimina. Potremmo usare la clausola WHERE?
  • La clausola 'Dove' viene utilizzata per specificare alcune condizioni di corrispondenza e non ha nulla a che vedere con il Troncamento. Poiché Truncate non cerca mai alcuna condizione di corrispondenza e rimuove solo tutte le righe, non è possibile utilizzare una clausola 'Where' qui.Ma potremmo sempre specificare la condizione con l'aiuto della clausola 'where' nel comando Delete. Che occupa più spazio?
  • Il troncato non utilizzerà lo spazio di rollback e salva quella memoria. Ma elimina ha bisogno di un backup sotto forma di spazio di rollback e quindi richiede più spazio di memoria rispetto al troncato. Quindi quelle sono le differenze e guardiamo in forma tabellare.

S. Nessuna

Differenze in Troncamento Elimina 1.
DDL o DML? È un DDL e funziona a livello di struttura dei dati. Altri esempi per DDL sono CREATE e ALTER. È un comando DML e funziona sui dati della tabella. Il DML è l'acronimo di Data Manipulation Language. I comandi come SELECT, UPDATE e REPLACE sono esempi perfetti per un DML. Il DML è l'acronimo di Data Manipulation Language.

2.

Come funziona? Appena eseguiamo il comando Truncate, cerca solo la tabella specificata. Quindi rimuove completamente tutti i dati dalla memoria. Qui, i dati della tabella originale vengono copiati nello spazio chiamato spazio "Rollback" prima di eseguire la manipolazione dei dati effettiva. Quindi le modifiche vengono eseguite sullo spazio dati della tabella effettiva. 3.
RollBack Il comando Tronca non utilizza mai uno spazio di ripristino e non è possibile tornare ai dati originali. Uno spazio di rollback è esclusivo e viene occupato quando vengono emessi i comandi DML. Il comando Elimina utilizza lo spazio di rollback e potremmo semplicemente utilizzare 'Commit' o 'RollBack' per accettare o annullare rispettivamente le modifiche. 4.

Trigger Tronca è un comando DDL, i trigger non sono consentiti. Elimina è un comando DML, i trigger sono consentiti qui. 5.

Quale è più veloce? Potrebbe rimuovere tutti i dati e non è necessario verificare le condizioni corrispondenti. Inoltre, i dati originali non vengono copiati nello spazio di rollback e ciò consente di risparmiare un sacco di tempo. Questi due fattori rendono Truncate più veloce di Elimina. Usa lo spazio di rollback e sempre i dati originali devono essere conservati su di esso. Questo è un onere aggiuntivo e, a sua volta, richiede molto tempo rispetto al Truncate.

6.
Potremmo usare la clausola WHERE? Poiché Truncate non cerca mai alcuna condizione di corrispondenza e rimuove solo tutte le righe, non è possibile utilizzare una clausola 'Where' qui. Ma potremmo sempre specificare la condizione con l'aiuto della clausola 'where' nel comando Delete. 7.
Che occupa più spazio? Il troncato non utilizzerà lo spazio di rollback e salva quella memoria. Ha bisogno di un backup sotto forma di spazio di rollback e quindi richiede più spazio di memoria rispetto al troncato. Conoscere le differenze tra due entità diverse amplia le conoscenze su entrambi! Sei atterrato su una strada giusta io. e. la pagina Web per comprendere le differenze, in particolare, tra i comandi truncate e delete. Spero che tu ora sia chiaro con le sue differenze e facci sapere se ti abbiamo aiutato a capirlo. Potresti anche aiutarci indicando quale è stato lasciato!