Differenza tra troncamento e cancellazione

La creazione e la manipolazione dei dati costituiscono la base dei database e li chiamiamo rispettivamente 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.

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:

        TABELLA DEI TRONCATI 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.

Di seguito è la tabella 'dipendente' e basta guardare le righe di dati in esso.

emp-id emp-nome designazione
1011 Jack Impiegato
1012 Roseo Admin
1014 Nancy Finanza

Ora, rilasciamo il comando seguente sulla tabella dei dipendenti.

        TABELLA DEI TRONCATI dipendente;

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

emp-id emp-nome 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.

        CANCELLA DA dipendente;

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

CANCELLA DA dipendente DOVE emp-id = 1011;

Questa istruzione cancella solo una singola riga il cui emp-id è 1011. Quindi la tabella risultante sarebbe la seguente.

emp-id emp-nome designazione
1012 Roseo Admin
1014 Nancy Finanza

differenze:

  • Truncate è 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 INSERT sono esempi perfetti per un DML.
  • Come funziona Truncate and Delete: Non appena viene emesso il comando Tronca, viene semplicemente cercata 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.

Troncare -> rimuovi interi dati dalla tabella -> Il tablespace è ora liberato.

Elimina -> Copia i dati della tabella originale nello spazio Rollback -> cancella i dati specificati / l'intera tabella -> Lo spazio tabella 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, cioè 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 trigger, 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 il cambiamento 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.

  • Che è 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 'Where' viene utilizzata per specificare alcune condizioni di corrispondenza e non ha nulla a che fare con il Truncate. 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.No Differenze in Troncare 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 INSERT sono esempi perfetti per un DML. Il DML è l'acronimo di Data Manipulation Language.

2. Come funziona? Non appena viene emesso il comando Tronca, viene semplicemente cercata 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 rollback e non è possibile tornare ai dati originali. Uno spazio di rollback è esclusivo e viene occupato quando vengono emessi i comandi DML. Il comando Delete 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. Che è 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.

Utilizza 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 la conoscenza di entrambi! Sei atterrato su un percorso corretto, ovvero 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 a sottolineare che è stato lasciato!