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 :

identifier les tables volumineuses non partitionnées [2008R2]


Sujet :

MS SQL Server

  1. #1
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 134
    Points : 38 557
    Points
    38 557
    Billets dans le blog
    9
    Par défaut identifier les tables volumineuses non partitionnées
    Bonjour,

    Connaissez vous une requête qui permettrait, à partir d'un certain effectif (par exemple 100 millions de lignes), d'identifier la liste des tables qui ne sont pas partitionnées.
    En d'autres termes, extraire la liste des tables qui, a priori au moins, gagneraient à être partitionnées

    Je suis toujours sur mon vieux bousin hébergé sur une 2008R2

    D'avance merci pour vos réponses

  2. #2
    Membre expérimenté

    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2014
    Messages
    815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 815
    Points : 1 350
    Points
    1 350
    Billets dans le blog
    2
    Par défaut
    Une simple jointure entre sys.partitions et sys.tables

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 134
    Points : 38 557
    Points
    38 557
    Billets dans le blog
    9
    Par défaut
    Merci,

    du coup quelque chose comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    select tab.name              as Tabl
         , par.index_id
         , par.partition_number  as PartNum
         , par.rows
         , par.data_compression_desc as DataComp
    from sys.tables tab
    inner join sys.partitions par
       on par.object_id = tab.object_id
    where par.rows > 10000000
      and not exists
         (select 1
          from sys.partitions pa2
          where pa2.object_id=par.object_id
            and pa2.partition_number > 1)

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    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 766
    Points : 52 561
    Points
    52 561
    Billets dans le blog
    5
    Par défaut
    Il te manque le schéma SQL de la table...

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

  5. #5
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 134
    Points : 38 557
    Points
    38 557
    Billets dans le blog
    9
    Par défaut
    Effectivement, mais là c'est facile : un seul schéma
    Merci

    J'ai légèrement modifié la requête ainsi, pour n'avoir qu'un seul résultat par table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    select distinct                                
           substring(tab.name, 01, 20) as Tabl     
         , par.partition_number     as PartNum     
         , par.rows                                
         , data_compression_desc   as DataComp     
    from sys.tables tab                            
    inner join sys.partitions par                  
       on par.object_id = tab.object_id            
    where par.rows > 10000000                      
      and not exists                               
         (select 1                                 
          from sys.partitions pa2                  
          where pa2.object_id=par.object_id        
            and pa2.partition_number > 1)          
    order by rows desc

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

Discussions similaires

  1. [Toutes versions] Identifier les variables locales non utilisées
    Par basto dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/03/2017, 17h32
  2. Réponses: 4
    Dernier message: 22/05/2007, 09h22
  3. comment lister les tables et leur identifiants
    Par jclyon dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 25/07/2006, 22h03
  4. Réponses: 1
    Dernier message: 27/03/2006, 16h58
  5. Identifier les enregistrements Lu d'une table
    Par aityahia dans le forum Bases de données
    Réponses: 3
    Dernier message: 25/03/2006, 18h50

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