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

MS SQL Server Discussion :

Plusieurs milliers de requêtes


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 43
    Points : 22
    Points
    22
    Par défaut Plusieurs milliers de requêtes
    Bonjour,

    J'ai un petit soucis, je suis entrain de créer une application et je fais de tests avec des importations de CSV et de transaction de table à table.

    Mon souci c'est qu'il y a certaines actions qui vont demander de fais plusieurs milliers de requêtes (parfois ça monte jusqu'à 100'000 voir plus). Le souci c'est ce que ceci est trop long pour l'utilisateur. Il ne peut pas se permettre de rester 5 minutes devant l'écran à attendre.

    J'aimerais savoir s'il y a possibilité de lancer une requête en arrière plan sur le serveur ?

    Exemple, on envoie tel ou tel paramètre et pouf le client voit que c'est lancé et sur le SQL il continue sa requête tranquille.

    Merci d'avance de votre aide.

    Salutations,

    Hacken

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Points : 502
    Points
    502
    Par défaut
    Je ne vois vraiment pas qu'est-ce qui pourrait justifier le lancement de plusieurs milliers de requêtes pour un seul utilisateur.

    Il y a définitivement un problème de conception à quelque part.

    Donne-nous des détails sur les besoins qui génèrent ces milliers de requêtes et on va voir si on peut pas regrouper le tout.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 43
    Points : 22
    Points
    22
    Par défaut
    C'est très simple.

    Nous avons une base de 50'000 mails et cela évolue de façon exponentielle.

    Quand nous importons cette base de données, il n’y a pas de soucis. Maintenant il se trouve que nous lançons des mailings et nous stockons tous les mails dans une table. Du coup, lors d'une planification nous enregistrons plusieurs fois 50'000 mails dans une base.

    Pour un vendeur qui fait la promotion d'un produit, cela est bien trop long quand il planifie les mailings.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Points : 502
    Points
    502
    Par défaut
    Maintenant il se trouve que nous lançons des mailings et nous stockons tous les mails dans une table. Du coup, lors d'une planification nous enregistrons plusieurs fois 50'000 mails dans une base.
    Est-ce nécesaire de stocker tout le contenu des mails?

    Serait-il possible de ne stocker qu'une référence et une date?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 43
    Points : 22
    Points
    22
    Par défaut
    Bon, je chercherais une autre solution.

    Merci quand même.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 43
    Points : 22
    Points
    22
    Par défaut
    Je reviens juste à la charge pour une question de curiosité.

    Est-il possible de lancer un lot de requête en arrière plan ?

    Merci d'avance.

  7. #7
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    En arrière-plan de quoi ?
    De ton client ? En faisant un thread, sans doute. Ou en lançant un batch de façon asynchrone. C'est la cuisine du client.
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  8. #8
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Justement, vous devez rechercher les performances dans ce sens là au niveau de votre client (Application).
    Vous developpez sous quel language ?
    Les treads du pool peuvent t'y aider.
    Rechercher du côter de l'execution asynchrone des méthodes en utilisants les types délégués.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 43
    Points : 22
    Points
    22
    Par défaut
    L'application client est un Intranet, donc de l'ASP ou PHP.

    Quand je pensais en arrière-plan, je pensais sur le serveur. Mais j'ai trouvé une solution alternative.

    J'ai simplement décider de créer un Schedule Task et lancera un script sur le serveur qui aura tout le temps nécessaire pour créer les mailings.

    Mais si vous pouvez m'apprendre quelque chose sur les requêtes en arrière-plan ou les cron jobs sur SQL je suis preneur :-)

Discussions similaires

  1. [Newsletter] pour plusieurs milliers de membres
    Par s2otony dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 11/09/2007, 01h49
  2. Réponses: 2
    Dernier message: 09/04/2007, 10h21
  3. Plusieurs DISTINCT dans requête ?
    Par dldstyle dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/04/2006, 16h44
  4. Réponses: 7
    Dernier message: 26/09/2005, 17h50
  5. Optimiser MySql pour plusieurs milliers de tables
    Par compu dans le forum Installation
    Réponses: 14
    Dernier message: 02/09/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