Alles verwijderen van tabel

Wat is sneller?

DELETE FROM table_name;

of

DELETE FROM table_name where 1=1;

Waarom?

Wordt truncate tableWerk in Toegang?


Antwoord 1, Autoriteit 100%

U kunt de onderstaande query gebruiken om alle rijen van de tabel te verwijderen, ook moet u het in gedachten houden dat het ook de identiteit zal resetten.

TRUNCATE TABLE table_name

Antwoord 2, Autoriteit 26%

Dit zou sneller moeten zijn:

DELETE * FROM table_name;

Omdat RDBMS niet hoeft te kijken whereis.

Je zou goed moeten zijn met truncateHoewel:

TRUNCATE TABLE table_name

Antwoord 3, Autoriteit 8%

Dit verwijdert de tabel table_name.

Vervang het door de naam van de tabel, die wordt verwijderd.

DELETE FROM table_name;

Antwoord 4, Autoriteit 7%

Er is een MySQL Bug Report vanaf 2004 die nog steeds wat lijkt te hebben Geldigheid.
Het lijkt erop dat in 4.x dit snelste was:

DROP table_name
CREATE TABLE table_name

TRUNCATE table_nameWAS DELETE FROMIntern Back Then, het verstrekken van geen prestatieverstroom.

Dit lijkt te zijn veranderd, maar alleen in 5.0.3 en jonger. Uit het bugrapport:

[11 Jan 2005 16:10] Marko Mäkelä

Ik heb nu een snelle TRUNCATE TABLE geïmplementeerd, die hopelijk zal worden opgenomen in MySQL 5.0.3.


Antwoord 5

TRUNCATE TABLE table_name

Is een DDL (Data Definition Language), kunt u alle gegevens verwijderen en de identiteit opschonen.
Als je dit wilt gebruiken, heb je DDL-rechten nodig in de tabel.

Voorbeeld van DDL-statements: CREATE, ALTER, DROP, TRUNCATE, etc.

DELETE FROM table_name / DELETE FROM table_name WHERE 1=1 (is the same)

Is een DML (Data Manipulation Language), u kunt alle gegevens verwijderen.
Voorbeeld van DML-statements: SELECT, UPDATE, etc.

Het is belangrijk om dit te weten, want als een applicatie op een server draait, zal er geen probleem zijn als we een DML uitvoeren. Maar soms zullen we bij het gebruik van DDL de applicatieservice opnieuw moeten starten. Ik had die ervaring in postgresql.

Met vriendelijke groet.


Antwoord 6

Je kunt ook afkappen gebruiken.

truncate table table_name;

Other episodes