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 :

[SQL2005] Quelle est l'utilité de la CLR?


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Mars 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2006
    Messages : 88
    Points : 50
    Points
    50
    Par défaut [SQL2005] Quelle est l'utilité de la CLR?
    Bonjour,

    Je me débrouille pas mal en C# mais par contre en T-SQL j'ai énormément de mal donc avec SQL SERVER 2005 on peut écrire (entre autre) nos procédures stockées en C# par exemple. Donc, je me demande ce que ca changeait par rapport à faire ses requêtes en C# dans son code-behind par exemple (pour asp.net)? Ca me parait trop beau pour être vrai! On me disait que SQL SERVER 2005 gardait le schéma d'éxécution des SP ce qui rendait l'éxécution plus rapide mais si on le fait en C# ca revient au même que si on fesait la requete dans notre .cs ?

    Finallement,c a ne reviendrait pas au même vu que c'est plus du T-SQL? Je parle niveau performances notemment. Car ca risque de me faciliter la vie de les écrire en C# surtout si c'est aussi performant qu'avec du T-SQL..

    Merci à vous.

  2. #2
    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
    Salut,

    L'inclusion du CLR dans SQL server peut être utile pour du code séquentiel, algorithimique, qu'il est difficile de faire en T-SQL par exemple.

    Si tu utilises des sprocs en langage MSIL qui vont faire la même chose que ton code T-SQL, tu vas tuer ton serveur. Il n'y a aucune comparaison possible en terme de performances, et ce n'est pas du tout là pour remplacer T-SQL. Penses-y comme la possibilité d'ajouter ton code de middle-tier dans ton serveur SQL directement.

    Tu n'as de toute façon aucune manière dans ton code C# d'attaquer directement les données, tu dois ouvrir une connexion au SQL local et lui envoyer des ordres SQL. Tu n'as aucun moyen de traiter des groupes de données comme en SQL. Tout ce que tu peux faire, c'est l'équivalent des curseurs, certainement en moins rapide.
    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

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 565
    Points
    52 565
    Billets dans le blog
    5
    Par défaut
    ca risque de me faciliter la vie de les écrire en C# surtout si c'est aussi performant qu'avec du T-SQL..
    Justement non !

    TRANSACT SQL est fait pour gérer MASSIVEMENT des données

    SQL CLR est fait pour des traitements complexes portant sur des données unitaires.

    TRANSACT SQL sera TOUJOURS plus performants dans l'accès aux données que SQL CLR. De plus SQL CLR possède un défaut majeur inhérent à tout L4G : lé défaut d'inpédence : traitement des "NULL", collations, etc....

    Le seul intérêt de SQL CLR :
    1) traitement complexes : math, physique, manipulations de chaînes de caractères
    2) implementation d'UDT
    3) implémentation de nouvelles fonctions d'agrégation.
    En dehors de cela; tout faire avec Transact SQL.

    TRANSACT SQL est un langage hyper simple et très facile à apprendre. Grosso modo il n'y a que 20 commandes à apprendre !

    Je vous conseille de suivre un de mes cours à Orsys par exemple. En attendant, pour un aperçu de Transact SQL, lisez l'article que j'ai écrit :
    http://sqlpro.developpez.com/cours/s...r/transactsql/

    Je constate d'ailleurs que vous avez failli tomber dans le paneau que j'ai évoqué il y a maintenant un an :
    Lisez la conclusion de ce papier : http://sqlpro.developpez.com/SQL_Server_2K5/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. [W3C] Quelle est l'utilité réelle de cette ligne de code ?
    Par unreal2me dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 20/12/2006, 15h59
  2. Quelle est l'utilité des Relations & Foreign Keys?
    Par Danny Blue dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/06/2006, 12h18
  3. Réponses: 1
    Dernier message: 11/03/2006, 09h55
  4. [Requete][Where] Quelle est l'utilité d'une clause: 1=1 ?
    Par alpachico dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/12/2005, 18h40
  5. [D7] Quelle est l'utilité de MySQL Embedded avec Delphi ?
    Par raoulmania dans le forum Bases de données
    Réponses: 1
    Dernier message: 16/11/2005, 18h40

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