> Tech > CRL ou T-SQL, à  chacun sa spécialité

CRL ou T-SQL, à  chacun sa spécialité

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Pour appréhender les scénarios qui nécessitent du code T-SQL et ceux qui tireront parti du code CLR, considérez les activités dans lesquelles chacun d’eux excelle. T-SQL est plus puissant et efficace que le code .NET lorsque le gros de l’activité porte sur des accès aux données et une manipulation de

CRL ou T-SQL, à  chacun sa spécialité

celles-ci. Mais T-SQL est un langage déclaratif, non un langage procédural. Par conséquent, il n’est pas conçu pour des tâches faisant intervenir de nombreux calculs, telles que la logique itérative ou procédurale, la manipulation de chaînes ou la mise en forme des données en général. Pour ces activités, .NET est plus performant. Examinons quelques exemples.

Manipulation de chaînes
Cet aspect, illlustré dans notre premier exemple, constitue le point faible de T-SQL et le point fort de .NET. T-SQL prend en charge des possibilités élémentaires de manipulation de chaînes via des fonctions intégrées et des prédicats. Lorsque les fonctions T-SQL intégrées suffisent à vos besoins, vous devez les employer car il vous sera difficile de surpasser leurs performances avec votre propre code, quel que soit l’environnement de développement employé. Par ailleurs, en utilisant les prédicats T-SQL intégrés (par ex., LIKE), vous permettez à l’optimiseur d’effectuer son travail de magicien, à savoir optimiser l’exécution de votre code. Mais pour des tâches de manipulation de chaînes plus complexes allant au-delà des possibilités de T-SQL, c’est une autre histoire.

Si vous essayez d’utiliser du code T-SQL, il vous faudra généralement mettre en oeuvre une logique itérative inélégante. T-SQL n’a tout simplement pas les outils appropriés pour cela. En revanche, .NET fournit un environnement supérieur pour la manipulation de chaînes. Par exemple, il prend en charge les expressions régulières, lesquelles constituent des outils puissants pour la mise en correspondance et le remplacement de modèles.

Même si vous ne vous appuyez pas sur .NET pour la manipulation de chaînes et si vous décidez plutôt d’implémenter un algorithme itératif ou procédural similaire utilisant à la fois T-SQL et .NET, vous constaterez que le code .NET est tout simplement beaucoup plus rapide pour ce type de situation. Notez que le SQL ANSI prend en charge les expressions régulières, mais cette gestion n’est pas encore mise en oeuvre dans T-SQL.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010