Qualcuno può fornirmi l'elenco di tutte le differenze tra troncare ed eliminare nel server SQL?qual è la diffrenza tra troncato ed elimina nel server sql?
risposta
Si dovrebbe google prima di chiedere.
Tronca
- Tronca rimuove tutti i riferimenti dal database.
- Fast
- Nessuna voce nel registro delle transazioni.
- Non può essere ripristinato se rimosso una volta.
- I rifrimenti delle pagine vengono cancellati.
- Tutti o nessuno
- colonna Identity viene re-inizializzato a seme
- Tronca è DDL
troncare la tabella tblName
No contidion può essere dato
Elimina
- Le voci vengono registrate nel registro delle transazioni.
- recuperabile
- lento
- Per record in base eliminazione
- riferimenti sono mainained nella pagina
- Identità parte dalla sua precedente posizione di
- DML
Delete FROM tableName
Nessuno dei due effetti struttura nella tabella. Tutti i riferimenti devono essere rimossi prima di eseguire qualsiasi dell'operazione, anche se non si applica eliminare quando utilizzato con Cascade
= true per cancellare
Giusto. Troncare è DDL, Elimina è DML. – Konerak
e le strutture delle tabelle? –
non esitate a nuovo al server sql e anche al discente. –
La differenza tra troncare ed eliminare sono indicati qui di seguito:
+----------------------------------------+----------------------------------------------+
| Truncate | Delete |
+----------------------------------------+----------------------------------------------+
| We can't Rollback after performing | We can Rollback after delete. |
| Truncate. | |
| | |
| Example: | Example: |
| BEGIN TRAN | BEGIN TRAN |
| TRUNCATE TABLE tranTest | DELETE FROM tranTest |
| SELECT * FROM tranTest | SELECT * FROM tranTest |
| ROLLBACK | ROLLBACK |
| SELECT * FROM tranTest | SELECT * FROM tranTest |
+----------------------------------------+----------------------------------------------+
| Truncate reset identity of table. | Truncate reset identity of table. |
+----------------------------------------+----------------------------------------------+
| It locks the entire table. | It locks the table row. |
+----------------------------------------+----------------------------------------------+
| Its DDL(Data Definition Language) | Its DML(Data Manipulation Language) |
| command. | command. |
+----------------------------------------+----------------------------------------------+
| We can't use WHERE clause with it. | We can use WHERE to filter data to delete. |
+----------------------------------------+----------------------------------------------+
| Trigger is not fired while truncate. | Trigger is fired. |
+----------------------------------------+----------------------------------------------+
| Syntax : | Syntax : |
| 1) TRUNCATE TABLE table_name | 1) DELETE FROM table_name |
| | 2) DELETE FROM table_name WHERE |
| | example_column_id IN (1,2,3) |
+----------------------------------------+----------------------------------------------+
Mentre lavoriamo al database, stiamo usando Delete e Truncate senza conoscere le differenze tra loro e quando usarli. In questo articolo discuteremo la differenza tra Delete e Truncate in Sql.
Elimina Elimina è un comando DML. L'istruzione di cancellazione viene eseguita utilizzando un blocco di riga, ogni riga della tabella è bloccata per l'eliminazione. Possiamo specificare i filtri nella clausola where. Elimina i dati specificati se esiste una condizione. Elimina attività un trigger perché l'operazione viene registrata individualmente. Più lento del Tronca perché mantiene i registri Tronca Troncamento è un comando DDL. La tabella troncata blocca sempre la tabella e la pagina ma non tutte le righe. Poiché rimuove tutti i dati. Impossibile utilizzare la condizione Dove. Elimina tutti i dati. La tabella troncata non può attivare un trigger perché l'operazione non registra singole eliminazioni di righe. Più veloce in termini di prestazioni, perché non mantiene alcun registro. Nota Eliminare e troncare entrambi possono essere ripristinati quando utilizzati con Transazione. Se Transaction è terminato, significa commit non è possibile eseguire il rollback del comando Truncate dai file di log, ma è ancora possibile eseguire il rollback del comando Delete dai file di log, poiché delete write li registra nel file di log nel caso in cui sia necessario eseguire il rollback in futuro dai file di log .
Se si dispone di un vincolo di chiave esterna riferito alla tabella che si sta tentando di troncare, ciò non funzionerà anche se la tabella di riferimento non contiene dati. Questo perché il controllo della chiave esterna viene eseguito con DDL anziché con DML. Questo può essere risolto disattivando temporaneamente i vincoli della chiave esterna alla tabella.
La tabella di eliminazione è un'operazione registrata. Quindi la cancellazione di ogni riga viene registrata nel log delle transazioni, il che lo rende lento. La tabella troncata elimina anche tutte le righe in una tabella, ma non registra la cancellazione di ogni riga, ma registra la deallocazione delle pagine di dati della tabella, il che rende più veloce.
~ Se accidentalmente hai rimosso tutti i dati dalla tabella utilizzando Elimina/Tronca. È possibile eseguire il rollback della transazione confermata. Ripristina l'ultimo backup ed esegui il log delle transazioni fino al momento in cui Delete/Truncate sta per accadere.
controllare questo articolo Ripristino Tabella dopo Tronca comandi in SQL o
difference-between-delete-truncate-in
vedono anche when-to-use-truncate-and-delete-command
- 1. Qual è la diffrenza tra & e && operatori in C#
- 2. Campo SQL Server troncato
- 3. Elimina una grande quantità di dati nel server sql
- 4. Tabelle SQL Server: qual è la differenza tra @, # e ##?
- 5. Elimina database SQL Server
- 6. Qual è la diffrenza tra self.timer = nil vs [self.timer invalidate] in iOS?
- 7. Qual è la differenza tra SQL Server Compact Edition e SQL Server Express Edition?
- 8. Qual è la diffrenza tra modalità interattiva e batch in Maven?
- 9. Qual è la differenza tra la partizione e la replica di un argomento nel cluster kafka
- 10. Qual è la differenza tra spawn ed exec?
- 11. Qual è la differenza tra mixin ed ereditarietà?
- 12. SQL Server ed espressioni regolari
- 13. Qual è la differenza tra volatile ed esterno?
- 14. Qual è la differenza tra scalabilità ed elasticità?
- 15. Qual è la differenza tra modulo HTTP ed esprimere modle
- 16. Qual è la differenza tra contesto di interruzione ed eccezione?
- 17. In ember.js, qual è la differenza tra mixin ed extend?
- 18. Qual è la differenza tra execl ed execv?
- 19. Qual è la differenza tra OpenCV.NET, OpenCVSharp ed EmguCV?
- 20. In Hybris, qual è la differenza tra modulegen ed extgen?
- 21. Qual è la differenza tra risorsa ed endpoint?
- 22. Qual è la differenza tra trigger ed eventi in backbone?
- 23. Qual è la differenza tra nohup ed e commerciale
- 24. Qual è la differenza tra px, em ed ex?
- 25. Qual è la differenza tra Transaction Manager ed Entity Manager
- 26. Qual è la differenza semantica tra ERANGE ed EOVERFLOW?
- 27. Qual è la differenza tra Lucene ed Elasticsearch
- 28. Qual è la relazione tra Enum ed Enumerazione, se presente
- 29. Qual è la differenza tra Executor ed ExecutorService?
- 30. Qual è la differenza tra Amazon AMI ed EBS snapshot
http://www.mssqltips.com/tip.asp?tip=1080 – PeterMmm
grazie a ho trovato risposta –