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

Administration SQL Server Discussion :

Travailler sur des vues ou sur des tables, vs performance ?


Sujet :

Administration SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 107
    Points : 50
    Points
    50
    Par défaut Travailler sur des vues ou sur des tables, vs performance ?
    Bonjour,

    Voici une courte description du contexte:

    Base de données de production de plusieurs TerraBytes.
    Cette base doit être en tout temps accessible (aucun processus de maintenance bloquant ou autre) 24 heures/24 et 7 jours/7 pour recevoir de nouvelles commandes.

    Dans quelle mesure pouvons-nous obtenir un gain de performance en manuiplant (INSERT, UPDATE, DELETE) ou en lisant les vues plutôt que les tables ?

    Merci.

  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 : 42
    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
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    En voici un démonstration par SQLPro.

    @++

  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 761
    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 761
    Points : 52 548
    Points
    52 548
    Billets dans le blog
    5
    Par défaut
    Que vous fassiez vos requêtes par des vues ou directement sur des tables, comme une vue n'est autre qu'une requête SQL auquel on a donné un nom, il n'y a pas de différence avec l'exécution directe de la requête.

    Maintenant le débat se situe à un autre niveau... Si vous attaquez directement vos tables, alors à chaque modification de la structure de la base il vous faudra modifier aussi les applications.
    Ceci est beaucoup moins sensible si vous travaillez exclusivement avec des vues... En effet il est facile de recomposer une vue identiques même si les tables sous-jacentes ont bougées...

    Enfin, si vous voulez être extrêmement performant, il est très intéressant de ne travailler qu'en utilisant des vues y compris pour les mises à jours. Contrairement à une idée reçues, les vues peuvent être mis à jour (INSERT, UPDATE, DELETE...) dans certains conditions (déterminisme de ligne de chaque table).
    Mais à l'aide des trigger INSTEAD OFF, vous pouvez tout faire y compris du mapping relationnel objet, et il n'y a pas plus rapide ni plus sûr comme en témoigne Dulcian :
    http://www.dulcian.com/Articles/Thic...ited_final.htm

    Pour ma part cela fait près de 10 ans que je travaille comme cela en conseil pour mes clients, et j'ai sauvé des projets dont les grosses SSII disaient qu'ils étaient soit disant irréalisable dans les temps impartis...

    Pour une petite étude sur la chose, jetez un coup d'œil à l'article que j'ai écrit sur les règles de Codd, et en particulier à la règle 6 page 5 et sa dernière démo :
    http://sqlpro.developpez.com/SGBDR/ReglesCodd/

    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/ * * * * *

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 107
    Points : 50
    Points
    50
    Par défaut
    Merci pour vos informations & expertises.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/01/2015, 14h38
  2. Réponses: 4
    Dernier message: 27/08/2011, 20h06
  3. [WS 2008] impossible d'enregistré des clients Win7 sur un Active Directory sur un serveur Win2008
    Par arnaudperfect dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 04/02/2010, 13h37
  4. Réponses: 7
    Dernier message: 06/01/2010, 08h32

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