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

Bases de données Delphi Discussion :

Table Paradox et saturation


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 158
    Points : 80
    Points
    80
    Par défaut Table Paradox et saturation
    Bon soir

    Dans mon premier projet de base de données j'utilise les tables de type paradox7;mais j'entends de temps en temps de probleme de saturation

    Avez vous une idée sur ça et a peu pres a quel enreigistrement les tables paradox commencent a etre saturer el a etre lentes;et en fin quelle est la solution idéale pour utiliser :sachant qu'on est obligé d'utiliser des tables contenant jusqu' 20 000 enreigistrement
    Merci

  2. #2
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    C'est des million d'enregistrement et/ou une taille de 127Mo il me semble, en tout cas c'est là que nous on a bloqué. Par contre plus les tables sont grosses et plus on a eut des soucis en multipostes avec les index.

    La solution ? Virer paradox qui n'est pas génial en multi-postes.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  3. #3
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 338
    Points : 383
    Points
    383
    Par défaut
    bonjour
    Comme le dit Nono40 ce n'est pas le nombre d'enregistrement qui sature une table paradox, mais sa taille qui est limitée à 127 Mo par défaut dans le pilote Paradox du BDE.
    Il est aisé de repousser cette limite en reconfigurant le pilote à partir de l'administrateur BDE (jouer plus particulièrement sur le paramètre BLOCK SIZE)

    à+

  4. #4
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 158
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par banban54 Voir le message
    bonjour
    Comme le dit Nono40 ce n'est pas le nombre d'enregistrement qui sature une table paradox, mais sa taille qui est limitée à 127 Mo par défaut dans le pilote Paradox du BDE.
    Il est aisé de repousser cette limite en reconfigurant le pilote à partir de l'administrateur BDE (jouer plus particulièrement sur le paramètre BLOCK SIZE)

    à+
    Merci
    Mais je dois poser la question: je suis debutant et excuse moi tout d'abord parce que je ne suis pas a ton niveau

    Je veux une explication sur ça : 1-ou je trouve la taille de la table

    Ou bien; qu'est ce que je dois aborder comme des leçons pour bien comprendre ces trucks
    Je suis debutant ;mais je apprendre

  5. #5
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    La taille c'est tout simplement la taille du fichier .DB contenant ta table.

    Si tu ajoutes un enregistrement et que le BDE ne peut pas le mettre tu as une erreur 'Table pleine'.

    Attention aussi que ti su ajoutes/supprime beaucoup la taille augmente aussi car les ajouts sont toujours en fin de fichier laissant beaucoup de 'trous' dans le début. Tu peux ne pas avoir beaucoup d'enregistrements mais quand même une taille de 127Mo.

    C'est pour une nouvelle application ou une existante ?
    C'est pour un exo de stage ou une appliqui sera utilisée en réel par la suite ?
    Est-ce une appli mono-poste ou plusieurs postes utilisent la même base ?
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  6. #6
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 158
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par Nono40 Voir le message
    La taille c'est tout simplement la taille du fichier .DB contenant ta table.

    Si tu ajoutes un enregistrement et que le BDE ne peut pas le mettre tu as une erreur 'Table pleine'.

    Attention aussi que ti su ajoutes/supprime beaucoup la taille augmente aussi car les ajouts sont toujours en fin de fichier laissant beaucoup de 'trous' dans le début. Tu peux ne pas avoir beaucoup d'enregistrements mais quand même une taille de 127Mo.

    C'est pour une nouvelle application ou une existante ?
    C'est pour un exo de stage ou une appliqui sera utilisée en réel par la suite ?
    Est-ce une appli mono-poste ou plusieurs postes utilisent la même base ?
    Salut

    1-Pour ajoutes/supprime beaucoup est ce que c'est possible de compacter la table.

    2-Je suis en train de developper une nouvelle application.

    3- c'est une application gestion stock

    4-Puisaue je debute le developpement;il s'agit d'une application mono-poste et par la suite apres un succes je la transforme en reseau

    5-Peut tu me donne une idée ou je trouve la gestion des fichiers car je sais que j'aurais besoin de ça lors de l'utilisation des tables en cloturant chaque annee ces tables et demarrer une nouvelle annee avec des tables ayant des données initiales =donnees finales de l'annee precedentes

    Merci

  7. #7
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 338
    Points : 383
    Points
    383
    Par défaut
    re
    Citation Envoyé par Nono40 Voir le message
    Attention aussi que ti su ajoutes/supprime beaucoup la taille augmente aussi car les ajouts sont toujours en fin de fichier laissant beaucoup de 'trous' dans le début. Tu peux ne pas avoir beaucoup d'enregistrements mais quand même une taille de 127Mo.?
    Sauf le respect que je vous dois, même avec Paradox (tant décrié) les "trous" ne pèsent pas tant que ça!. je gère des tables > 300Mo sans problème, et lorsque elles sont atteintes de 'boulimie' c'est que je les ai mal gérées! (je parle de mono-poste)

    Allez: pendant que j'y suis, je vais défendre ma 2CV contre ceux qui (depuis plusieurs années) veulent me fourguer un semi-remorque ou une Ferari pour aller ... acheter 2 baguettes à la boulangerie du coin.

    @ gentilman_delphi

    Pour augmenter la capacité de tes tables Paradox:
    à partir de l'administrateur BDE

    onglet configuration
    --Pilotes
    ---Natifs
    ----Pradox

    passage de BLOCK SIZE de 2048 à 32768 // passage de 127 Mo à 2 Go (en principe)
    passage de LEVEL de 7 à 5
    passage de FILE FACTOR de 95 à 80

    à+

  8. #8
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Je n'ai pas l'intention d'attaquer la 2CV mais :
    - Les trous finissent par peser, même si effectivement en augemtant le "Block size" on repousse la limte.
    - En multi-postes, c'est lent, les index sont à refaire tous les quatres matin
    - les réquètes sont executées sur le poste client et rapratrie toute la table à chaque fois, etc...
    - Le SQL supporté par le BDE est limité.



    Pour une nouvelle application, non je ne recommande franchement pas de passer par Paradox alors qu'il existe mieux et gratuit : tu peux avoir une Ferrari pour le prix d'une 2CH !

    Sinon, oui pour le compactage des tables c'est possible.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  9. #9
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 158
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par Nono40 Voir le message
    Je n'ai pas l'intention d'attaquer la 2CV mais :
    - Les trous finissent par peser, même si effectivement en augemtant le "Block size" on repousse la limte.
    - En multi-postes, c'est lent, les index sont à refaire tous les quatres matin
    - les réquètes sont executées sur le poste client et rapratrie toute la table à chaque fois, etc...
    - Le SQL supporté par le BDE est limité.



    Pour une nouvelle application, non je ne recommande franchement pas de passer par Paradox alors qu'il existe mieux et gratuit : tu peux avoir une Ferrari pour le prix d'une 2CH !

    Sinon, oui pour le compactage des tables c'est possible.
    Donc quel pilote que je dois aborder?

  10. #10
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Quelle sera la taille de la base ? Nombre de tables, de ligne, etc
    Nombre de postes connectés ?
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  11. #11
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Citation Envoyé par Nono40 Voir le message
    ...
    - En multi-postes, c'est lent, les index sont à refaire tous les quatres matin
    Pas qu'en multi-postes, mais aussi avec un programme qui tourne 24/24 pendant 3 jours non stop avec 3-4 thread sur les mêmes tables, le BDE fait KaBoom, et les index sont "out of Date" ...

    Sinon, j'ai aussi atteind des volumes assez important, mais après les locates sont vraiements trop long si l'on dépasse un certain nombre d'enregistrement ...

    Enfin, MySQL, c'est une bonne solution de rechange ... et ce n'est pas un ferrari, mais plutôt un Kart tuné ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  12. #12
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 158
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par Nono40 Voir le message
    Quelle sera la taille de la base ? Nombre de tables, de ligne, etc
    Nombre de postes connectés ?
    Bon soir
    j'ai environ 30tables;une seule table a jusqu'a 30 000 enreigistrement et les autres tables ont jusqu'a 200 enrigistrements et 4 tables ont jusqu'a 10 000 enrigistrements sur un resau de 8 postes

    Autre question: ou je peux trouver delphi7 ou plus delphi2005... enreigistré avec des pilotes que tu propose
    Merci

  13. #13
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Firebird est un SGBD gratuit http://www.firebirdsql.org/
    Les composants IBX sont inclus dans Delphi.

    Si ton appli est déjà faite il est possible (mais pas toujours optimisé) de passer par le BDE pour accéder à Firebird.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  14. #14
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Pas qu'en multi-postes, mais aussi avec un programme qui tourne 24/24 pendant 3 jours non stop avec 3-4 thread sur les mêmes tables, le BDE fait KaBoom, et les index sont "out of Date" ...

    Sinon, j'ai aussi atteind des volumes assez important, mais après les locates sont vraiements trop long si l'on dépasse un certain nombre d'enregistrement ...
    Nous aussi en réseau, mais dés fois (souvent en fait) y'avait pas que les index qui partaient
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  15. #15
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Citation Envoyé par gentilman_delphi Voir le message
    ...sur un resau de 8 postes
    Volume assez minime, mais trop de poste, la moindre erreur de config, est voici le scénario :
    1 à 3, ça va (à condition de ne pas garder les tables ouvertes tout le temps)
    4 à 7, attention, rebuild des index tous les matins (idem, plus court est le temps de manipulation mieux c'est, par exemple, les grilles, vaut mieux un SQL en RequestLive à False, et soumettre les modifs aussi via SQL au lieu de Edit, Post ...)
    Plus, le BDE sur Windows c'est mort, faut passer au serveur genre SAMBA, voir ce sujet lenteur du BDE, c'est une question posée si souvent ...


    Voir ce sujet pour la bonne config, moi j'avais abandonné Paradox (changement de boite, changement de DB) avant de l'avoir trouvé, je n'ai jamais pu vérifier : Concevoir une application multi-utilisateur sous Paradox
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  16. #16
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 496
    Points : 2 762
    Points
    2 762
    Billets dans le blog
    10
    Par défaut
    Je viens ajouter mon grain de sel :
    La lenteur a le plus souvent deux origines :
    1) Celle du réseau car contrairement à un système serveur de BDD ( comme Oracle ou SQL Server ) lorsque tu interroges une table Paradox par requête c'est pratiquement tous le fichier .DB qui passe par le réseau, le scan de l'image de la table étant fait en local sur le poste client.
    Un bon placement des index et des clé primaires peuvent améliorer considérablement le temps de réponse.
    2) la structure des tables : Les clé primaires de tes tables de référence doivent être de préférence des entiers ce qui n'est souvent pas le cas.

Discussions similaires

  1. (VC++6 /C) Pb de création de table Paradox
    Par Vow dans le forum Paradox
    Réponses: 4
    Dernier message: 28/09/2004, 13h15
  2. Migration d'une table PARADOX
    Par DanielW dans le forum Débuter
    Réponses: 6
    Dernier message: 06/05/2004, 21h52
  3. Outil de reparation de tables paradox
    Par freud dans le forum Outils
    Réponses: 4
    Dernier message: 14/12/2003, 19h40
  4. Création multiple table paradox dans le code
    Par scarabee dans le forum C++Builder
    Réponses: 8
    Dernier message: 30/10/2002, 10h17
  5. reindexation table paradox
    Par edorlan dans le forum Paradox
    Réponses: 4
    Dernier message: 11/10/2002, 12h37

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