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

WinDev Discussion :

Lenteur accès SQLServer Natif vs OLEDB


Sujet :

WinDev

  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 24
    Par défaut Lenteur accès SQLServer Natif vs OLEDB
    Bonjour à vous,

    J'ai un petit soucis présentement au niveau de l'accès à un serveur SQL 2005.

    Bon, au départ, l'application était sous Windev 11 connection par OLEDB.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HDécritConnexion(Connexion_CM,sUserBD,sPasswordBD,sServeurBD,sBaseDonnees,hOledbSQLServer,hOLectureEcriture,"",hCurseurClient+hCurseurPessimiste)
    Dans certains modules il y avait une lenteur dû à une série de requête complexe.

    Nous avons donc migré le projet en version 14 et acheté l'accès natif SQLServer. Tout s'est bien passé jusqu'au moment de la validation des performances.

    Nous avons remplacé la connexion par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    H.ModeSQLServer = 0
    HDécritConnexion(Connexion_CM,sUserBD,sPasswordBD,sServeurBD,sBaseDonnees,hAccèsNatifSQLServer,hOLectureEcriture,"",hCurseurClient+hCurseurPessimiste)
    Nous avons alors fait le test sur une requête existante du projet. En OLEDB, la requête prend 3 ms à s'exécuter. En mode SQLServer natif, 12 ms.

    Surprenant, la majorité de nos processus prennent au minimum le double du temps à s'exécuter. Un processus qui prenait 35 secondes en prend maintenant 71 secondes.

    Je me pose alors la question, est-ce normal ?

    Manque-t-il quelque chose ? Avez-vous eu le même problème ?

    Merci de m'aider à illucider ce problème.

    Daniel

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    Bonjour,

    Vous pouvez utiliser le profiler de SQL Server pour voir les requêtes qui sont réellement exécutées sur le serveur. Faites un scénario identique avec oledb et accès natif pour voir s'il y a des différences.

    Une anecdote :

    En accès natif MySQL, un fichier est décrit dans l'analyse avec une clé primaire auto incrément. Quand on génère le script SQL de création des tables, la colonne est créée comme INTEGER sans auto incrément. Pourtant si on fait un HAjoute, on a bien une valeur incrémentée dans la colonne . Je sentais l'entourloupe et j'ai regardé quels ordres étaient envoyés lors du HAjoute.Tenez vous bien, c'était quelquechose du style :

    - show columns from table
    - select max(id) from table
    - insert into ....



    Merci Windev, l'analyse et les ordres H

    Et si on type la colonne en autoincrément, on n'a pas droit au select max mais bel et bien au show columns (forcément).

  3. #3
    Membre Expert
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 393
    Par défaut
    Bonjour

    Je confirme les dires de vmolines (salut comment ça va?), les ordres H.. génèrent beaucoup de requêtes sur le réseau.
    Déjà il vaut mieux faire des HExecuteRequeteSQL avec le paramètre hRequêteSansCorrection ou au mieux utiliser les ordres SqlExec ...

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    Ca va bien merci hormis le fait que je travaille sur un projet avec analyse et ordres H ...

    J'avais laissé la conclusion ouverte suite à mon anecdote mais nous sommes bien d'accord .


    Pour généraliser et/ou pondérer un peu, je dirais que dans la mesure où on a un minimum de conaissance SQL (sans être un expert) et que le projet ne nécessite pas d'être multi SGBD, il n'y a aucun intérêt à utiliser les ordres H. L'analyse, quant à elle, peut être utilisée en synchro (BDD -> Analyse) comme aide à la saisie et support visuel. Elle ne doit pas être à l'origine du schéma de la base de données.

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 401
    Par défaut
    Je plussoie également ayant déjà rencontré le problème des ID automatique.

    Je ne passe maintenant que par des SQLExec et j'ai supprimé l'utilisation de l'analyse, même en support visuel, dans le but d'alléger la synchronisation du projet sur le GDS, qui passe beaucoup de temps sur l'analyse et à tendance à faire écrouler le débit des tuyaux.

Discussions similaires

  1. accès SQLserver natif ou pas
    Par khlzk dans le forum WinDev
    Réponses: 5
    Dernier message: 11/07/2012, 14h32
  2. Acces dotnet natif
    Par chris81 dans le forum Firebird
    Réponses: 10
    Dernier message: 18/12/2007, 11h30
  3. lenteur accés bdd via vpn
    Par fmh1982 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 29/10/2007, 13h01
  4. remplir un champ avec le nom d'accès sqlserver
    Par stephano dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/09/2007, 09h38
  5. Lenteur accès site
    Par Willy @X dans le forum Apache
    Réponses: 5
    Dernier message: 28/06/2006, 16h07

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