1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WB PcSoft vous ment sur hfsql ?

Discussion dans 'Webdev' créé par Tomy300, Juil 28, 2018.

  1. Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154
    Les index vont juste permette au moteur de mieux retrouver ces petits quand ont fait un requête.
    Si tu fait une requête, avec un paramètres dont la rubrique n'est pas indexée.. c'est normal que ça rame.

    La réindexation ne fait perdre AUCUNE donnée.

    Par contre il faut que, dans l'analyse, tu définisse la rubrique vd_commandes.state en tant que clé
     
  2. Tomy300

    Tomy300 Member

    Inscrit:
    Jan 25, 2018
    Messages:
    38
    J'aime reçus:
    34

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    j'y est pensé mais vd_commandes est une table dynamique hehe :)
     
  3. Kobex

    Kobex Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    373
    J'aime reçus:
    257

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    j'y est pensé mais vd_commandes est une table dynamique hehe :)
    Cliquez pour agrandir...
    Si tu ne dis pas tous.... j’abandonne, aider avec des fragments c'est compliqué et chian, quoi qu'il en soit, HFSQL n'est pas en cause.....

    Bon courage ;)
     
  • Tomy300

    Tomy300 Member

    Inscrit:
    Jan 25, 2018
    Messages:
    38
    J'aime reçus:
    34

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    C'est jusqu’en MySQL j'avais pas ce souci et les index étaient tel quel.
     
  • Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154
    Qu'entend tu par table dynamique ?
     
  • Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Non, pas dans cette conf, quelle est la vitesse de la ram sur l'un et l'autre ?
    Cliquez pour agrandir...
    Alors la.. aucune idée.; c'est une VM hebergée sur un serveur dédié distant.. Je n'ai pas accès à ces informations.
     
  • Tomy300

    Tomy300 Member

    Inscrit:
    Jan 25, 2018
    Messages:
    38
    J'aime reçus:
    34

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Dynamique dans le sense qu’aux 10 mins une nouvelle donnée y est inscrite. donc il faudrait recréer la vue a chaque fois, car le client doit voir les changements
     
  • Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154
    Ya des tables statiques ? Je vois pas le lien la pour le coup désolé :)
     
  • Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154
    Bref.. met decker ta table avec les champs indexés comme il faut et ca devrait fonctionner parfaitement avec si peu d’enregistrements ;)
     
  • Kobex

    Kobex Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    373
    J'aime reçus:
    257

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Alors la.. aucune idée.; c'est une VM hébergée sur un serveur dédié distant.. Je n'ai pas accès à ces informations.
    Cliquez pour agrandir...
    La ram influe beaucoup sur HFSQL, entre DDR3 et DDR4 j'ai effectivement une différence, mais j'en tien compte....
     
  • Kobex

    Kobex Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    373
    J'aime reçus:
    257

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Dynamique dans le sense qu’aux 10 mins une nouvelle donnée y est inscrite. donc il faudrait recréer la vue a chaque fois, car le client doit voir les changements
    Cliquez pour agrandir...
    Une table quoi... de la une vue dynamique et le tour est jouer....
     
  • forumwindev

    forumwindev Member

    Inscrit:
    Juil 23, 2018
    Messages:
    39
    J'aime reçus:
    9

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Essayes un peu ce config:
    Taille cache max des index = 12288
    Taille cache du disque = Pas de limitation

    Augmentes au fur et à mesure la taille du cache.
    Redémarres e PC après configuration et retentes.
     
  • Tomy300

    Tomy300 Member

    Inscrit:
    Jan 25, 2018
    Messages:
    38
    J'aime reçus:
    34
    vue le bordel dans ces tables, je vais recréer moi-même des nouvelles tables et copier les données vers les nouvelles tables.
     
    Ezekiel056 apprécie ceci.
  • Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    je pense que c'est une très bonne idée ;)
     
  • Tomy300

    Tomy300 Member

    Inscrit:
    Jan 25, 2018
    Messages:
    38
    J'aime reçus:
    34
    J'ai reconstruit les table vd_commandes, vd_commandes_item, vd_commandes_files et cette fois avec les nouvelles tables j'ai mis des liaisons entre elles. L'index est maintenant parfait.

    Avec la requête ci-dessous. J'ai 49243 enregistrements avec le code de test suivant, la requête semble s’exécuter en 0.011 seconde et j'ai même joint la table vd_clients, car à l'origine la requête en PHP avait une jointure avec la table client.

    // sur le clic du bouton.
    ChronoDébut()
    HExécuteRequête(REQ_1,HRequêteDéfaut,3 ) // exécute la requête avec state=3 , tous les éléments complétés de la table.

    // Arrêt du chronomètre
    DuréeMaFonction est une Durée = ChronoFin()
    Info("Le traitement MaFontion() a durée " + DuréeMaFonction..EnSecondes) // affiche 0.011 seconde


    // Et ma requête maintenant.

    SELECT DISTINCT
    tb_commandes.id AS id,
    tb_commandes.nom_ent_client AS nom_ent_client,
    tb_commandes.idClient AS idClient,
    tb_commandes.idUser AS idUser,
    tb_commandes.no_bill AS no_bill,
    tb_commandes.ref AS ref,
    tb_commandes.idShip AS idShip,
    tb_commandes.idDest AS idDest,
    tb_commandes.informations AS informations,
    tb_commandes.val_dec AS val_dec,
    tb_commandes.state AS state,
    tb_commandes.terme AS terme,
    tb_commandes.createDate AS createDate,
    tb_commandes.updateDate AS updateDate,
    vd_clients.id AS id_vd,
    vd_clients.nom_ent AS nom_ent
    FROM
    tb_commandes
    LEFT OUTER JOIN
    vd_clients
    ON vd_clients.id = tb_commandes.idClient
    WHERE
    (
    tb_commandes.state = {Paramstate}
    )
    ORDER BY
    createDate DESC


    Mon problème provient de l'affichage dans une page web dynamique.

    J'ai relié ma REQ_1 au contenue d'une table ajax avec la rubrique de parcours "state" = 3 , je fais afficher en mémoire que 1000 lignes et la page ne charge pas et fini par planter. Même si je mets une Réglette webdev, semble vouloir charger tous les éléments de la table préalablement..

    Idéalement si les données sont nombreuses, il devrait quand même afficher les données dès qu'elles sont disponibles. Il y a quelque chose que je ne pige pas.

    PS: Je voudrais m'excuser, car vraisemblablement le moteur semble rapide, mais le problème lors de l'affichage. Je tiens à remercier ceux qui m'apportent leurs aides dans ma démarche.
     
    Ezekiel056 apprécie ceci.
  • Tomy300

    Tomy300 Member

    Inscrit:
    Jan 25, 2018
    Messages:
    38
    J'aime reçus:
    34
    Autre point.

    Si sur mon champ table je lie directement mon fichier de données vd_commandes, alors les données sont affichées et le mode ajax fonctionne, car il insère automatiquement la réglette et les données en affichage édition.

    si j'utilise une requête et que j'utilise ce code pour charger ma table, alors là le navigateur se fige et la table ajax ne semble pas fonctionné, car il tente de charger toutes les données en une seule tentative ou bien ma boucle ralentie considérablement l'affichage.

    HExécuteRequête(REQ_1,hRequêteDéfaut,:relievedface:

    HLitPremier(REQ_1)

    tantque HEnDehors(REQ_1) = faux
    TableAjouteLigne(TABLE_REQ_1,REQ_1.id,REQ_1.idClient,REQ_1.no_bill,REQ_1.ref,REQ_1.info,REQ_1.val_dec,REQ_1.state,REQ_1.createDate,REQ_1.nom_ent)
    HLitSuivant(REQ_1)
    FIN
     
  • Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154
    Bonjour,
    Ravi d'avoir pu constater que HFSQL n'est pas en cause ! (je n'en doutais pas :p)

    Concernant la table.. tu peux tres bien lier ta table directement a la requete grace au data binding (comme avec un fichier)
    Ca fonctionne très bien ! Je n'ai jamais rencontré ce genre de lenteur.

    Par contre si effectivement tu fais TableAJouteLigne sur de grande quantités.. OUI ca va etre long !
     
  • devpetit

    devpetit New Member

    Inscrit:
    Jan 9, 2018
    Messages:
    2
    J'aime reçus:
    1

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    L'OS peut il etre en cause ?
    sur mon poste de développement qui est sous windows 10 et pourtant équipé d'un Xeon avec 32Go de RAM, je constate également des lenteurs.
    Une fois en production.. sur le serveur (Windows serveur 2008) plus aucun soucis, ça fuse !

    Caractéristiques du poste de dev :

    [​IMG]

    Caract du serveur WEB (c'est une VM)
    [​IMG]
    Cliquez pour agrandir...
    utiluser les vues matérialiser

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour,

    J'ai créé un site dynamique en webdev pour un de mes clients. Anciennement son site était en PHP avec une base mysql avec une base de données d'environs 50,000 enregistrements.

    Je ne suis pas expert avec les BD mais j'ai mis des clefs composées pour aider la performance. Résultat avec un simple select 3-4 secondes avec HFSQL, si je mets des conditions ou des jointes le délai peut passer à 8-10 secondes, quand même si je mets des clefs composées sur l'id ou les champs dans la condition, le gain de performance est minimal.

    Mais avec son site en php et mysql 5.5, la même requête se fait en 1-2 seconde et il fait un joint en plus.

    Je ne comprends pas trop, quand je regarde les vidéos de PcSoft avec leurs 20 milliards d’enregistrements qui s’exécutent en 1-2 seconde. J'imagine qu'ils utilisent une vue et que les données ne changent pas.

    Même avec 10,000 enregistrements c'est long..... pour le web trop long. je suis obligé de séparer la bd par bloc de 2000 enregistrements pour avoir une vitesse convenable sur le web.

    Je n'ai pas le choix d'utiliser HFSQL, car mon client veut l'application mobile également qui communiquera avec cette même base de données. Je pourrais utilisé mysql en natif qui est beaucoup plus rapide, mais incompatible avec les mobiles, je pourrais utilisé un web service pour communiqué avec la BD, mais je n'ai aucune expérience avec les webservices.

    J'ai l'impression de m'être fait flouer, car j'ai effectivement acheté la version illimitée de hfsql.

    Je me demande si on ne devrait pas faire un recours collectif contre PcSoft avec ses pubs mensongère sans compter le plantage intempestif de webdev.

    Pour le plantage de webdev. PcSoft me conseille de faire la mise à jour vers la 23 et qu'il y a beaucoup moins de bogues. OK donc si je comprends bien je dois étendre 900 euros pour me débarrasser des bogues de la 22.

    Désolé pour ma monté de lait. :) mais je ne comprend pas pourquoi hfsql est aussi lent. peut-être que je m'y prends mal ? J'ai pourtant mon serveur de développement un Proliant G6 2 Processeurs 2.93Ghz 10 cœurs avec 24 gig ram.

    Merci.
    Cliquez pour agrandir...
    1-utiluser les vues matérialiser
    2-utiliser les requetes trancher par un nombre denregistrement selon le debut de la connexion du client
    3-afficher la premiere trancha a linterface .
    4-charger le reste de la requete dans un table memoire avec une tache parallele
    5-utiliser le scrool du navigateur achaque fois le client scroller , charger une tranche ou charger le tous depuis le tableau qu'il est charger directement.
     
    charlie apprécie ceci.
  • smarzel

    smarzel New Member

    Inscrit:
    Sept 12, 2018
    Messages:
    1
    J'aime reçus:
    0

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Autre point.

    Si sur mon champ table je lie directement mon fichier de données vd_commandes, alors les données sont affichées et le mode ajax fonctionne, car il insère automatiquement la réglette et les données en affichage édition.

    si j'utilise une requête et que j'utilise ce code pour charger ma table, alors là le navigateur se fige et la table ajax ne semble pas fonctionné, car il tente de charger toutes les données en une seule tentative ou bien ma boucle ralentie considérablement l'affichage.

    HExécuteRequête(REQ_1,hRequêteDéfaut,:relievedface:

    HLitPremier(REQ_1)

    tantque HEnDehors(REQ_1) = faux
    TableAjouteLigne(TABLE_REQ_1,REQ_1.id,REQ_1.idClient,REQ_1.no_bill,REQ_1.ref,REQ_1.info,REQ_1.val_dec,REQ_1.state,REQ_1.createDate,REQ_1.nom_ent)
    HLitSuivant(REQ_1)
    FIN
    Cliquez pour agrandir...

    Bonjour

    Utiliser POUR TOUT Req1
    TableAjouteLigne(TABLE_REQ_1,REQ_1.id,REQ_1.idClient,REQ_1.no_bill,REQ_1.ref,REQ_1.info,REQ_1.val_dec,REQ_1.state,REQ_1.createDate,REQ_1.nom_ent)

    FIN

    au lieu de
    HLitPremier(REQ_1)

    tantque HEnDehors(REQ_1) = faux
     
  • aminej76

    aminej76 Active Member
    MEMBRE WX

    Inscrit:
    Jan 23, 2018
    Messages:
    283
    J'aime reçus:
    102
    Un grand Merci pour toutes ces informations.
    J'ai une expérience de 10 ans avec HFSQL et je continue de l'utiliser. C'est acceptable.

    Je n'ai aucune connaissance sur webdev et je voudrais creer des sites web dynamiques.
    Est ce que c'est intéressant de l'utiliser et sur quels serveur je fais mon hebergement du site cree avec webdev.

    C'est interessant d'utiliser webdev avec HFSQL ou PHP ?
    Merci.
     
  • Partager cette page

    Chargement...