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

C# Discussion :

Serveur web vs base de données


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 254
    Par défaut Serveur web vs base de données
    Bonjour,

    J'ai un gros dilemme. Comme tout le monde en informatique vous allez me dire... pour celui-ci en tout cas je n'ai pas assez de connaissance pour pouvoir y répondre seul.

    Je dois aller chercher des données dans un base de données et ensuite les afficher sous forme d'un tableau dans une page web. Rien de sorcier. Mon utilisateur me demande aussi de pouvoir filtrer les lignes de ce tableau en fonction de différents critères (disponibles dans mes colonnes).

    Je me demande ce qui vaut le mieux entre filtrer en C# ou filtrer en SQL ?

    En C# ça veut dire n'avoir qu'une seule procédure stockée pour récupérer les données dans la base de donnée puis filtrer mon dataset. En d'autres mots faire travailler le serveur web.

    En SQL ça veut dire filtrer dans ma procédure stockée. J'envoie donc mes paramètres de filtres dans ma requête et c'est ma procédure stockée qui s'occupe de ma ramener un dataset déjà allégé. En d'autres mots faire travailler ma base de données.

    Qu'est ce qui vaut mieux et dans quels cas ?

    Merci.

    PS: je suppose que je dois pas être le premier à poser cette question. Si des éléments de réponses sont déjà disponibles sur ce forum ou sur d'autres pages web je veux bien les références. Personnellement j'ai déjà fait des recherches et je n'ai rien trouvé. Peut être que je cherche mal.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    DataSet beurk !

    Ben en terme de perf, à mon avis il vaut mieux les filtrer en base. Parceque, récupérer toutes les lignes et les filtrer en C#, ça peut être inutile : Par exemple si un filtre devait renvoyer une seul ligne et que toi sans filtre tu récup 100000 lignes, euh ce n'est pas top ... ça te fait récupérer 99999 lignes pour rien.

    Sinon y a Linq ... A quand 3.5 partout.
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  3. #3
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    Ce sera sans doute plus rapide si tu fais travailler ta base de données, et sans doute beaucoup moins galère à implémenter

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 254
    Par défaut
    Je suis tout à fait d'accord avec vos avis mais fort souvent avant de filtrer on fait de toute façon un premier appel de la procédure stockée. Ensuite l'utilisateur se dit qu'il y a trop de données affichés et il décide de réduire ces lignes en appliquant un filtre.

    Donc le dataset est déjà existant. Mais qu'est ce qu'il vaut mieux ? Appliquer le filtre sur le dataset (gridview) ou cérrement refaire un second appel à la base de données ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Par défaut
    Citation Envoyé par DranDane Voir le message
    Appliquer le filtre sur le dataset (gridview) ou cérrement refaire un second appel à la base de données ?
    Rappel t'as base de donnée.

  6. #6
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Si ta datatable est déja chargée il n'y a pas vraiment d'avantage a relancer la requete en sql

    A ta place je déciderais en fontion du confort de programation et de l'utilité de la rémanence de ta datatable
    Si tu mets une dataview dessus tu peux appliquer différents filtres en gardant la meme table sans devoir la recharger.

Discussions similaires

  1. [SQL Serveur] Déployer une base de données
    Par aityahia dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 20/05/2007, 19h12
  2. Conseils Application serveur JAVA et base de données.
    Par Neutrino- dans le forum Persistance des données
    Réponses: 7
    Dernier message: 23/01/2007, 12h22
  3. Interface Web pour Base de données
    Par kmaniche dans le forum C++Builder
    Réponses: 6
    Dernier message: 21/01/2007, 15h29
  4. Réponses: 3
    Dernier message: 11/12/2006, 19h57
  5. Réponses: 12
    Dernier message: 19/08/2006, 20h53

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