IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Equivalent de l'Analyze d'oracle pour Access ?


Sujet :

Access

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut Equivalent de l'Analyze d'oracle pour Access ?
    Bonjour,

    J'effectue un import de fichiers volumineux dans Access (via Delphi), je me suis aperçu que le temps d'imports de ces fichiers évolue de manière exponentielle.
    Je me suis dit qu'il y avait peut etre un probleme au niveau des index, c'est a dire, qu'au fur et a mesure que j'insère des enregistrements, la table d'index (s'il y en a une, je ne sais pas. ) gonfle, et donc le parcours de cette table a chaque enrg à insérer devient de plus en plus long. Ce qui explique l'augmentation du temps au fur et a mesure que la taille de la base augmente.

    Je voudrais savoir s'il y a un moyen d'optimiser tout ça. Sous oracle en faisant un Analyze ca permet un net gain de temps. Peut on faire de meme sous Access?

    Merci.

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 756
    Points : 14 789
    Points
    14 789
    Par défaut
    Bonsoir,
    la succession de suppressions et d'ajouts dans des tables Access et (notamment lors d'importation de données) fait grossir la base de façon importante. Tu dois donc faire un compactage de ta base régulièrement ou cocher l'option compacter lors de la fermeture.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut
    Citation Envoyé par tee_grandbois
    Bonsoir,
    la succession de suppressions et d'ajouts dans des tables Access et (notamment lors d'importation de données) fait grossir la base de façon importante. Tu dois donc faire un compactage de ta base régulièrement ou cocher l'option compacter lors de la fermeture.
    J'utilise déjà le compactage entre l'import de chaque fichier. Mais cela ne semble pas suffisant. Aucun autre moyen d'améliorer les performances?

    pour info quand j'insere 26 fichiers de
    20000 lignes j'obtiens un ratio de 27 lignes par seconde
    50000 lignes j'obtiens un ratio de 21 lignes par seconde
    100000 lignes j'obtiens un ratio de 16 lignes par seconde

    ce qui tend à prouver que la taille de la base influe sur le temps d'insertion d'un enregistrement.

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 898
    Points : 4 787
    Points
    4 787
    Par défaut
    Je ne sais pas si ça marchera ici :
    lorsqu'on fait des imports volumineux il peut être très efficace de supprimer tous les index de la table destination (et de les recréer lorsque l'import est terminé)

    Nice day,
    "Always look at the bright side of life." Monty Python.

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    tu es en mode exclusif pour des imports aussi volumineux ?
    Elle est pas belle la vie ?

  6. #6
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut
    Citation Envoyé par random
    tu es en mode exclusif pour des imports aussi volumineux ?
    Qu'est ce que tu entends par mode exclusif? si je suis le seul sur la base?

  7. #7
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut
    Citation Envoyé par micniv
    Je ne sais pas si ça marchera ici :
    lorsqu'on fait des imports volumineux il peut être très efficace de supprimer tous les index de la table destination (et de les recréer lorsque l'import est terminé)

    Nice day,
    c'est une solution qui peut etre envisagée, je vais tester. mais vu le nombre d'index, ca va etre coton de tout recreer ensuite!

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    pas tant que ca par programme tu vas chercher dans les tabledefs les indexes, tu les sauvegardes dans un tableau tampon, et les supprimes
    tu importes et tu les recrées par resturation du tableau tampon

    ce qui ralentit aussi c'est l'intégrité référentielle
    quand on a de très gros volumes à importer régulièrement il peut être préférable de renoncer à l'intégrité et de la vérifier de façon dynamique
    Elle est pas belle la vie ?

  9. #9
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut
    Citation Envoyé par random
    pas tant que ca par programme tu vas chercher dans les tabledefs les indexes, tu les sauvegardes dans un tableau tampon, et les supprimes
    tu importes et tu les recrées par resturation du tableau tampon

    ce qui ralentit aussi c'est l'intégrité référentielle
    quand on a de très gros volumes à importer régulièrement il peut être préférable de renoncer à l'intégrité et de la vérifier de façon dynamique
    ok, je vais me pencher sur la facon de procéder depuis Delphi. Ce n'est pas gagné.

Discussions similaires

  1. Equivalent du 'DECODE' d'Oracle dans Access ?
    Par leMi_ dans le forum Access
    Réponses: 4
    Dernier message: 06/06/2006, 20h53
  2. equivalent function decode oracle pour mysql 4.1
    Par axel-erator dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 24/05/2006, 13h44
  3. Réponses: 7
    Dernier message: 21/03/2006, 11h46
  4. Lien ODBC oracle pour access
    Par christellel198 dans le forum Oracle
    Réponses: 7
    Dernier message: 29/09/2005, 11h43
  5. Equivalence de SPOOL (Oracle) pour interbase?
    Par Cerberes dans le forum InterBase
    Réponses: 1
    Dernier message: 02/12/2004, 09h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo