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

ASP.NET Ajax Discussion :

Ajax et surcharge de base de données [Débutant(e)]


Sujet :

ASP.NET Ajax

  1. #1
    Membre averti
    Homme Profil pro
    Freelance
    Inscrit en
    Juillet 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 45
    Par défaut Ajax et surcharge de base de données
    Bonjour,
    Je cherche le moyen de plus élégant et efficace pour afficher une liste d'éléments en "temps réel", càd actualiser la page avec de l'AJAX toutes les secondes.
    J'ai besoin d'afficher une 20aine d'éléments et ça implique donc de faire 1requête/seconde/client est-ce que ça ne risque pas de surcharger la base de données ?
    Techniquement cette solution est en cours de développement mais j'ai peur que la base de données soit surchargée lorsqu'on multiplie le nombre de clients.
    Merci,
    Haelle

  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut Création d'une variable d'application
    Le moyen le plus simple qui me vient en tête :

    - Dans ta table, ajoute un trigger afin de mettre à jour un flag dans une table tierce, qui indique quand la dernière modification a été faire.
    => Ou assure-toi que les traitements qui modifient la table fasse ce travail eux-même

    Dans ton application, tu crées deux variables d'application.
    - Une de type "date" qui contient l'heure de la dernière interrogation de la table.
    => A chaque chargement de page, tu testes si l'heure actuelle est > que cette variable. Si ce n'est pas le cas, tu récupère la seconde variable d'application. Sinon, tu réalimentes la seconde variable d'application.

    - Une seconde de type string qui contient le résultat de la requête que tu veux faire tourner toutes les secondes.
    => Lorsque tu alimentes cette table, vérifie dans la table le flag pour voir s'il a changé. S'il n'a pas changé, alors tu n'as pas besoin de recharger la variable.


    De cette façon, tu as :
    - Une requête qui tourne 1 fois par seconde, dans une table qui ne contient qu'une ligne et qu'une colonne, quel que soit le nombre de clients connectés.
    - Une requête dans ta table qui ne s'exécute que si tu as effectivement des données qui ont changé depuis la dernière lecture.


    Ceci devrait donc :
    - Décharger considérablement ta base de données
    - Rendre ton application infiniment plus rapide

  3. #3
    Membre averti
    Homme Profil pro
    Freelance
    Inscrit en
    Juillet 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 45
    Par défaut
    Merci pour ta réponse rapide est intéressante !

    Mais je ne pense pas avoir bien compris le fonctionnement.
    Pour ce qui est clair :
    table avec le flag ok, je peux faire le trigger ça me parait plus simple
    La variable "string" contient les précieuses infos qu'on recherche
    La variable "date" contient l'heure à laquelle on a interrogé la table avec le flag

    Pour ce qui n'est pas clair :
    mais quel est l'utilité de la variable "date" ? si on teste à chaque chargement si heure actuelle > "date" ça sera toujours vrai non ?
    Et du coup on réalimente tout le temps "string"

Discussions similaires

  1. [AJAX] Ajax Json Php et Base de données
    Par langme dans le forum AJAX
    Réponses: 2
    Dernier message: 18/10/2012, 18h17
  2. Ajax - Listes liées SANS base de données
    Par imip549 dans le forum jQuery
    Réponses: 2
    Dernier message: 24/10/2011, 15h10
  3. [AJAX] Ajax et base de données
    Par Sayrus dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/05/2007, 16h35
  4. [AJAX] base de donnée Ajax
    Par kawther dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/02/2007, 16h52

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