2010-07-01 6 views
1

J'ai un formulaire en ax 2009, montrant les enregistrements filtrés d'une table (environ 5.000.000 enregistrements au total, environ 1000 filtrés). La sélection d'un couple de ces enregistrements dans le formulaire et leur suppression via le contrôle de formulaire (alt + f9) est très lente. Un enregistrement est supprimé immédiatement, la sélection d'environ 20 prend plusieurs minutes! Il n'y a qu'une seule deleteAction sur la table - une idée de ce qui pourrait contrecarrer l'opération?Supprimer les enregistrements dans axapta très lente

modifier:

Le tableau concernant deux indices, les deux ne permettent pas de doublons. Le premier est un index sur un champ entier, le second est un combiné de trois champs.

createRedIdIndex n'est pas activé.

Le filtre utilise une colonne (employeeID) dans un queryBuildRange. DeleteAction: une autre table (B) fait référence à l'identifiant (indexé) de la table (A) mentionnée ci-dessus. A a deleteAction sur B. le réglage est "cascade"

Les deux tables sont reliées via id-field.

Les relations peuvent être résolues par un index.

Et c'est seulement une quantité d'environ 20 enregistrements que je veux supprimer - donc je ne vais pas en ligne avec l'idée, que le "to-delete-data-amount" est trop grand!

+2

Décrivez votre index. L'index est-il unique? RecIdIndex est-il activé? Décrivez votre filtre. Votre filtre est-il résolu par un index? Décrivez votre deleteAction. Les tables sont-elles liées? La relation peut-elle être résolue par un index? –

+0

Les éléments seront supprimés dans une transaction, la quantité de données que vous supprimez est peut-être trop importante. – Gertjan

+0

information mise à jour dans l'original-post – Nico

Répondre

0

Pour diagnostiquer les problèmes de performances de base de données dans AX, activez le suivi SQL dans Outils \ Setup dans la page à onglet SQL.

+0

fait cela - Tout semble correct. pas d'avertissement, requêtes ok. mais le temps d'exécution est encore trop long. il faut environ plusieurs minutes pour supprimer 100 entrées. – Nico

0

Utilisez le profileur de code pour voir où l'heure est utilisée.

Questions connexes