Firebird truncate table / supprimer toutes les lignes

J'utilise Firebird 2.5.1 Intégré. J'ai fait l'habitude de vider la table, avec près de 200k lignes:

delete from SZAFKI

Voici la sortie, de la voir comme ça se passe en 16 secondes, ce qui est inacceptable.

Preparing query: delete from SZAFKI
Prepare time: 0.010s
PLAN (SZAFKI NATURAL)

Executing...
Done.
3973416 fetches, 1030917 marks, 116515 reads, 116434 writes.
0 inserts, 0 updates, 182658 deletes, 27 index, 182658 seq.
Delta memory: -19688 bytes.
SZAFKI: 182658 deletes. 
182658 rows affected directly.
Total execution time: 16.729s
Script execution finished.

Firebird n'a pas TRONQUER un mot clé. Comme la requête utilise le PLAN NATUREL, j'ai essayé de le PLAN de la requête à la main, comme suit:

delete from szafki PLAN (SZAFKI INDEX (SZAFKI_PK))

mais Firebird dit "SZAFKI_PK ne peut pas être utilisé dans le plan spécifié" (c'est une clé primaire)
La Question est de savoir comment dois-je vider la table de manière efficace? Suppression et recréation n'est pas possible.

"Suppression et recréation n'est pas possible." Pourquoi pas?
Avez-vous des déclencheurs SUR SUPPRIMER pour une table spécifiée?
Supprimer les contraintes (PK et FK) puis supprimer les données, puis le recréer des contraintes.
Le Plan n'est pas utile pour la suppression sans WHERE condition: il devra analyser l'intégralité du tableau de toute façon, et en raison de l'orientation de données Firebird, à la suite de l'indice de la commande sera le même mal parce que ce sera une marche au hasard à travers toutes les pages d'un tableau, au lieu de numériser les pages d'un tableau dans l'ordre de stockage.
Une autre chose à essayer serait DELETE FROM SZAFKI WHERE ID > 0 (en supposant que les id sont de 1 ou plus). Est-ce BTW un tableau où les lignes sont mises à jour, supprimé et inséré beaucoup avant suppression définitive; si je le supprime sur une table avec 200K enregistrements (fraîchement remplis, donc pas de déchets et pas de fragmentation de la datapages), il se termine en moins de 1,5 secondes.

OriginalL'auteur Kitet | 2012-12-11