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

Firebird Discussion :

clef, indexes et optimisation


Sujet :

Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2009
    Messages : 94
    Par défaut clef, indexes et optimisation
    Bonjour

    Je débute avec firebird, avant j'était sur de petit calibres comme access seulement, paradox.

    Alors j'ai quelque trois petites questions concernant l'optimisation :
    - Developpant une application de gestion je souhaiterais savoir est ce que ce serait :
    1. Est ce que travailler avec 2 ou 3 base de données est plus gourmand en ressources que de mettre toutes ses tables dans la meme base.
    2. Toutes mes tables contiennnent comme clef primaire un champ autoincrementé, est ce qu'il ce serait mieux que je fasse l'autoincrement moi meme (Coté application avec table speciale comptage des indexes) ou laisser FB le faire avec les generateurs et declencheurs
    3. Est ce qu'un nombre élévé de clef etrangeres (2 a 3) pour chaque tables en moyenne affecterait les performances de lecture (Probleme que j'ai actuellement avec la tables FOURNISSEURs qui contient 3 FK vers des PK de trois tables différentes (ville, departement, banque).

    MErci !

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 595
    Billets dans le blog
    65
    Par défaut
    1. à cette question je répondrai , d'expérience, de tout mettre dans la même BDD sauf bien sur applicatif totalement différent, sociétés différentes (et encore dans ce cas il m'est arrivé de devoir en fusionner plus tard) et autres cas similaires. Venant de Paradox ou Access tu peux y aller franco , ça va te changer

    2.Bonne question , je viens de lire à ce sujet un papier de SQLPro ici . La question me semble encore ouverte , moi je propose de laisser FB faire .

    3.Plus il y aura d'index plus tes requêtes sront efficaces (je simplifie volontairement). Non , l'exemple que tu me cites est une broutille para rapport à certaines de mes tables

  3. #3
    Membre chevronné Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Par défaut
    Sur la questions des clés étrangères je dirais que l'INSERT/UPDATE/DELETE seront pénalisés si les d'où proviennent les clés sont volumineuses car la transaction va vérifier la validités de ses clés avant de valider sinon la lecture à ce que je pense ne le sera pas car elle ne se servira pas d'eux.
    Mais je pense que la clé primaire et une sécurité qui assurera l'intégrité de tes données à ne pas gaspiller je te conseil de t'en servir.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2009
    Messages : 94
    Par défaut
    Merci sergio et moi qui croyit que je frolait la limite du bouffage de ressources avec mes 20 index

    Citation Envoyé par JustMe Voir le message
    Sur la questions des clés étrangères je dirais que l'INSERT/UPDATE/DELETE seront pénalisés si les d'où proviennent les clés sont volumineuses .
    Je te donne un exemple :

    ma table fournisseurs contient un FK "COMMUNEINDEX" qui pointe vers la PK de la table COMMUNES qui contient elle 1500 communes (enregistrement)
    A chaque fois que voudrais ajouter un fournisseur, la fenetre d'édition (app sous delphi 7) bloque quelques 2 - 3 secondes puis relache.???

    C'est a dire tu veut dire qu'a chaque fois que TABLEFOURNISSEUR.Insert, Firebird ramone la table communes ??? pourquoi ? je ne vois pas l'interet si ce n'est pas pour afficher des champs dans la table fournisseur ???

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 595
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par NorexaMS Voir le message
    A chaque fois que voudrais ajouter un fournisseur, la fenetre d'édition (app sous delphi 7) bloque quelques 2 - 3 secondes puis relache.???
    Non, là y a un problème mais il n'est pas Firebird. Il est du au programme

    Plusieurs pistes :
    les composants utilisés
    les informations remontées trop volumineuses avec une ouverture/fermeture de table à chaque fois etc...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2009
    Messages : 94
    Par défaut
    Alors pour ce qui est des tables, non elles sont ouvertes a la creation du datamodule.

    Et pour les composants rien de spécial, les standards+JEDI
    En ce qui concerne les dataset j'utilise des IBTABLES IBDATABASE ???!!!
    J'ai rien compris aux UIB ??? vraiment je ne sais pas pourquoi on leurs a enlevé les triggers dans le designtime ?? ou bien ce n'est que dans ma version ?!!

    a part ca ma table fournisseur contient 3 enregistrement et la tables communes (VILLES) contient 1500 enregistrement !

    Et le probleme c'est que ca ne me fait ca apparement et jusqu'a maintenant que dans la table fournisseur parceque c la seule qui contient une FK VILLES c pour ca que j'ai pensé au nbr trop élevé d'enregistrement de la table étrangère !

Discussions similaires

  1. INDEX et optimisation
    Par budtucker dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 28/04/2008, 15h42
  2. index et optimisation
    Par babarincairo dans le forum Requêtes
    Réponses: 1
    Dernier message: 18/10/2006, 17h44
  3. [2000] Index et optimisation
    Par Débéa dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 25/04/2006, 11h38
  4. Requetes et Index pour optimisation...
    Par manuds dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 17/03/2006, 09h05
  5. [Oracle 9] Vue materialisée indexée et optimisation
    Par scornille dans le forum Oracle
    Réponses: 4
    Dernier message: 18/11/2005, 15h11

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