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

Développement SQL Server Discussion :

[procedure stockée] C# ou T-SQL


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 16
    Par défaut [procedure stockée] C# ou T-SQL
    Bonjour tout le monde!
    j'ai une procédure stockée développée en c# mais coté performance (temps de calcule). admettant que c'est pas possible de l'optimiser ... pensez vous que je dois le developper en T-SQL pour que ca prenne moins de temps ?

    cordialement

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Sans votre code et un jeu de données, difficile à dire ...

    Si vous remplacez des traitements que vous pouvez faire de façon ensembliste, il est certain que vous gagnerez en le réécrivant en T-SQL.
    Les modules d'assembly .NET sont conçus pour remplacer très avantageusement les traitements itératifs, c'est à dire exactement ce pour quoi SQL Server n'est pas conçu.

    @++

  3. #3
    Membre chevronné Avatar de agemis31
    Profil pro
    DBA
    Inscrit en
    Octobre 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DBA

    Informations forums :
    Inscription : Octobre 2007
    Messages : 399
    Par défaut
    Bonsoir,

    Ca dépend de ce que vous faites. TSQL est plus rapide sur des traitements ensemblistes, il est fait pour ça. Pour des traitements procéduraux ou exotiques, c# peut prendre l'avantage. Mais on fait déja pas mal de choses en TSQL.

    Que voulez vous faire ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 16
    Par défaut
    merci pour vos réponses !(même si c'et un peu tard)

    je préfère éviter de poster mon code (car c'est une usine à gaz , projet de ma thèse)

    un exemple ... une procedure stockée (toute bête) qui prend en paramètre un entier n et retourne la valeur n+1. donc l'ecrire en c# ou en TSQL

    les procedures stockées sont des opérateurs albriques et clos (prennent en entrée des tuples et produisent en sorite d'autres tuples). Le traitement se fait itérativement sur chaque tuple en entrée

  5. #5
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    un exemple ... une procedure stockée (toute bête) qui prend en paramètre un entier n et retourne la valeur n+1. donc l'ecrire en c# ou en TSQL
    Je ne vois pas l'avantage de le faire en C# dans ce cas ... surtout si vous opérez ce calcul sur un ensemble de tuples de votre table.

    Le traitement se fait itérativement sur chaque tuple en entrée
    Pourquoi le faire itérativement et pas de façon ensembliste ?

    ++

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 16
    Par défaut

    Le traitement se fait itérativement sur chaque tuple en entrée?
    Pourquoi le faire itérativement et pas de façon ensembliste ?
    (Ensembliste , c'est à dire sur l'ensemble des tuples en entrée?)
    iterativement, pour faire du pipelinage...

    Ce qui m'intéresse surtout c'est les choix entre C# et T-SQL. quand est ce qu'il est préférable de faire une procédure stockée en C# ou T-SQL

  7. #7
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Je vois l'intérêt des fonctions en C# sur des traitements de chaîne de caractère (nécessitant des fonctions regexp par exemple) ou pour du calcul complexe.

    Je vous invite à voir ce billet.

    ++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. procedure stocké entre delphi7 et sql serveur
    Par thered dans le forum Bases de données
    Réponses: 5
    Dernier message: 01/02/2011, 11h45
  2. Réponses: 1
    Dernier message: 18/09/2008, 23h07
  3. Convertir une procedure stockée MYSQL en PL/SQL?
    Par bliml dans le forum PL/SQL
    Réponses: 0
    Dernier message: 18/09/2008, 10h20
  4. Transformer une procedure stockée en script PL/SQL?
    Par arnauann dans le forum PL/SQL
    Réponses: 4
    Dernier message: 28/09/2007, 14h46
  5. Procedure stockée avec ntext dans SQL server 2000
    Par nagababa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/11/2003, 20h46

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