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 :

Index et vues


Sujet :

Développement SQL Server

  1. #1
    Membre régulier Avatar de zoullou
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 130
    Points : 103
    Points
    103
    Par défaut Index et vues
    Bonjour,

    Je m'occupe d'une application ayant fait un partitionnement "maison" d'une table énorme (500 000 000 d'enregistrement). Ce partitionnement consiste à créé X tables totalement identique et pour les interrogations et utiliser une vue effectuant des "select * from TABLE_X1 UNION ALL select * from TABLE_X2 UNION ALL select * from TABLE_X3 UNION ALL...".

    Sur chacune de mes tables X, j'ai un champs TOTO indexé. Je voulais savoir si le fait d'interroger ce champs TOTO via la vue utilise ces indexes ou un FULL scan de chaque table X est effectué à chaque consultation de la vue ?

    Cordialement,

  2. #2
    Expert éminent sénior
    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 : 45
    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
    Points : 12 891
    Points
    12 891
    Par défaut
    Bonjour tout dépend.

    Je vous invite à lire ce billet.

    ++

  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 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Si vous ne mettez pas de contraintes de domaine su chacune des tables sur la colonne qui sert de rangement alors votre partitionnement coutera au moins aussi cher, voir plus que la requête initiale.

    A partir de 2005, plutôt que de faire des vues partitionnées indexées, faite directement une table partitionnée.

    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. Index sur vue contenant une fonction
    Par Wil14 dans le forum Développement
    Réponses: 14
    Dernier message: 30/05/2012, 22h54
  2. Indexer une vue matérialisée
    Par james_sunderland dans le forum Débuter
    Réponses: 5
    Dernier message: 06/03/2012, 20h09
  3. indexé des vues
    Par Shivan dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 12/01/2009, 15h51
  4. [Sql] index sur vue
    Par fxp17 dans le forum Oracle
    Réponses: 8
    Dernier message: 23/02/2006, 10h56
  5. [DB2] Question sur les index et les vues
    Par ahoyeau dans le forum DB2
    Réponses: 1
    Dernier message: 14/03/2005, 08h30

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