Troncato vs. Elimina SQL

Troncato vs. Elimina SQL
Esistono due metodi principali per la rimozione dei dati in un database SQL: troncato ed elimina. Sebbene il processo possa sembrare strettamente correlato, comprendere la differenza tra questi comandi può essere utile nel determinare come gestire i dati.

Abbattiamo la differenza tra i comandi troncati ed elimina in SQL.

Comando SQL Truncate

Il comando Truncate in SQL è noto come lingua di definizione dei dati. I comandi troncati rimuovono i dati da una tabella preservando la struttura della tabella. A differenza del comando Elimina, non è possibile filtrare per record specifici utilizzando la clausola.

Allo stesso modo, non possiamo eseguire il rollback dopo aver eseguito i comandi troncati, poiché non sono preservati i registri per questo comando.

Nota: alcuni motori di database supportano il rollback per i comandi troncati, ma questo non è universale.

Se una tabella fa parte di una vista indicizzata o referenziata da una chiave esterna, il comando Truncate non funzionerà su quella tabella.

La sintassi del comando è come mostrata:

Tabella tabella truncate_name;

Il comando Truncate è più veloce di Elimina in quanto non esegue una scansione per i record prima della rimozione. Garantisce inoltre che l'intera tabella sia bloccata prima di rimuovere i dati, riducendo così lo spazio delle transazioni.

A seconda del motore del database, è necessario autorizzazioni esplicite per eseguire un'operazione di troncata su una tabella. Ad esempio, in SQL Server, è necessaria l'autorizzazione della tabella Alter. MySQL richiede l'autorizzazione a caduta, PostgreSQL richiede l'autorizzazione del tronca e Oracle richiede la caduta di eventuali autorizzazioni della tabella.

Comando sql elimina

Il comando ELETE è un comando di manipolazione dei dati. Ti consente di rimuovere i record da una tabella di database e restituisce il numero di record eliminati. I comandi Elimina rimuovono le righe da una tabella e non l'intera tabella dal database.

A differenza del comando Truncate, il comando Elimina consente di filtrare i record di destinazione utilizzando la clausola.

La sintassi del comando è mostrata di seguito:

Elimina da table_name;

Per filtrare record specifici, è possibile utilizzare la sintassi come mostrato di seguito:

Elimina da table_name dove condizione;

Nota: se non si specifica le colonne di destinazione, il comando rimuoverà tutti i record dalla tabella data.

A differenza del comando Truncate, che blocca l'intera tabella, il comando Elimina blocca le singole righe che portano a uno spazio di transazione più elevato, in particolare su una tabella di grandi dimensioni.

Per eseguire un comando Elimina su una tabella, è necessaria l'autorizzazione elimina.

Tabella riassuntiva

La tabella seguente riassume le differenze tra i comandi SQL ELETE e TRUNCATE.

Troncato SQL Elimina SQL
Tipo Lingua di definizione dei dati Linguaggio di manipolazione dei dati
Tipo di blocco Tavolo Riga
Rollback Alcuni motori di database
Registri delle transazioni Intero tavolo Per riga
Utilizzo dello spazio delle transazioni Meno Più alto
Trigger Support NO
Velocità Molto veloce Lento
Tipo di rimozione Tutte le file Righe tutte o specifiche (come specificato)
Funziona con una vista indicizzata? NO
Ripristino della colonna di identità Alcuni motori di database NO
RETRI RIMOSSI RIMOSSI RECORD? NO

Nella maggior parte dei casi, la scelta del miglior tipo di operazione dipenderà dalle tue esigenze specifiche. Tuttavia, considera i seguenti punti:

  1. Per righe specifiche, optare per eliminare.
  2. Il troncato è più veloce di Elimina; Quindi, usa il troncato se si desidera rimuovere tutte le righe in una tabella.
  3. Se non ti interessa la struttura della tabella, usa altri comandi, come Drop.

Conclusione

Questo articolo discute due comandi fondamentali per rimuovere i dati in un database SQL. Utilizzando questa guida, è possibile specificare esplicitamente cosa fa il comando Truncate o il comando ELETE in un database relazionale. Speriamo che tu abbia trovato questo articolo utile. Controlla gli altri articoli di suggerimento Linux per ulteriori suggerimenti e tutorial.