quoi de plus rapide?effacer tout de la table
DELETE * FROM table_name;
ou
DELETE * FROM table_name where 1=1;
pourquoi?
est-ce que truncate table
fonctionne en accès?
quoi de plus rapide?effacer tout de la table
DELETE * FROM table_name;
ou
DELETE * FROM table_name where 1=1;
pourquoi?
est-ce que truncate table
fonctionne en accès?
Cela devrait être plus rapide:
DELETE * FROM table_name;
parce SGBDR ne doivent pas regarder where
est quoi.
Vous devriez être bien avec truncate
si:
truncate table table_name
tronque le travail de table en accès? –
Non, ce n'est pas pris en charge dans Access. – Jaymz
Jet traite DELETE * FROM Table comme une troncature, au lieu de supprimer les enregistrements un par un. Je ne pense pas que cela réinitialise la valeur de départ Autonumber, cependant. Cela doit être fait en code ou avec un compact (même pas sûr qu'il sera réinitialisé avec un compact dans les itérations récentes de Jet/ACE). –
Il y a un mySQL bug report de 2004 qui semble encore avoir une certaine validité. Il semble que dans 4.x, ce fut le plus rapide:
DROP table_name
CREATE TABLE table_name
TRUNCATE table_name
était DELETE FROM
interne à l'époque, fournissant aucun gain de performance.
Cela semble avoir changé, mais seulement dans 5.0.3 et plus jeune. D'après le rapport de bogue:
[11 janvier 2005 16h10] Marko Mäkelä
Je suis maintenant mis en œuvre TRUNCATE TABLE rapide, qui nous l'espérons, être inclus dans MySQL 5.0.3.
Ceci est une belle trouvaille! – Shyam
Ceci supprime la table table_name
. Remplacez-le par le nom de la table, qui doit être supprimé.
DELETE FROM table_name;
Vous pouvez également utiliser tronqué.
truncate table table_name;
Pour quelle base de données? Pour quelle table? Pour quelle taille de données? –
Qu'avez-vous découvert lorsque vous avez mesuré le temps pris par les deux? –
mysql et accès –