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 Oracle Discussion :

Mesurer taille d'une table avec un filtre


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Par défaut Mesurer taille d'une table avec un filtre
    Bonjour,

    Je cherche à mesurer la taille d'une table dans une base de données oracle.
    En particulier, je cherche à obtenir la taille (en mb par exemple) d'un certain nombre de record de cette table.

    Par exemple :
    size('ma_table' where DATE = '15/10/2013')

    pour obtenir la taille des données de ma table à date d'aujourd'hui.

    J'ai déjà épluché un peu le web, mais je ne trouve aucune solution facile.

  2. #2
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Salut,

    Regarde dans dba_segments :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select bytes / 1024 / 1024 "taille en meg" 
    from dba_segments
    where segment_name = 'TA_TABLE'

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Par défaut
    Merci mais mon problème demeure.

    En effet, je ne peux ni créer, ni supprimer des tables.
    En utilisant


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT bytes / 1024 / 1024 "taille en meg" 
    FROM dba_segments
    WHERE segment_name = 'TA_TABLE'
    je vais obtenir la taille complète de ma table dans ma db, mais je suis obligé de considérer l'entièreté de la table, je ne peux pas mettre des conditions sur la sélection de ma table.

  4. #4
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Ah excuse moi, j'ai lu qu'à moitié

    Tu ne peux pas avoir cette information, parce que ces lignes sont potentiellement mélangées avec d'autres dans les blocs de données.

    Le mieux, c'est de faire un approximation à la proportionnelle : compte le nombre de lignes correspondant à cette date, divise par le nombre total de lignes, puis multiplie par la taille totale.

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/02/2020, 13h52
  2. Réponses: 4
    Dernier message: 17/02/2015, 10h50
  3. [VB.NET] Pb MAJ d'une table avec datagrid filtré
    Par Syrrus dans le forum Accès aux données
    Réponses: 8
    Dernier message: 17/04/2007, 16h34
  4. [Access] Nom d'une table avec un espace dans SQL
    Par Corsaire dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/04/2006, 15h50
  5. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46

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