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

Oracle Discussion :

[Nombre maximum de lignes sur une table.]


Sujet :

Oracle

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2004
    Messages : 327
    Points : 487
    Points
    487
    Par défaut [Nombre maximum de lignes sur une table.]
    Bonjour,

    Sur une base oracle 9.2. Je viens de me récuperer une appli faites à la va-vite. J'ai quelques tables dont le volume est amené à augmenter régulierement. Entre 10 000 et 30 000 inserts par jour selon la table.

    Rien n'est prévu à ce jour pour "décharger" les tables et on s'approche du million d'enregistrements. Même si tout est sur un SAN en cluster et des machines puissantes je vois bien qu'il y aura des problèmes de performance à terme.

    Quelle serait pour vous la meilleure solution pour "vider" les tables ?
    Batch ? Triggers ? Comment peut on définir le seuil critique à partir duquel il faut declencher les opérations de nettoyage ? Quels sont les objects à examiner en priorité (tablespaces ?)

  2. #2
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    Bonjour,

    Pour moi la meilleure solution est un batch régulier, une fois par mois par exemple.

    Après cela dépend du critère qui permet de vider ta table. Et cela dépend si les donnèes que tu vires sont supprimées ou copiées vers une autre table.

    Surveiller les tablespaces est effectivement une bonne solution pour savoir lorsque tu atteind le seuil critique.

    voili, voilou
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  3. #3
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    le seuil critique dépend des perfs, là il n'y a pas de régle. Le batch est une bonne solution, pense également au partitionning qui peut être intéressant... malheureusement l'option est couteuse

  4. #4
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Il n'y a pas d'algorithme infaillible qui puisse dire à partir de quel moment la taille d'une table va poser problème en termes de performances. Vous pouvez essayer de simuler l'accroisssement des données sur un système de test et analyser les performances du système.

    Si vous voulez garder des données sur une durée fixe et purger toutes les données plus vieilles (ex: je ne veux garder que 2 ans en ligne et tout ce qui est plus vieux de 2 ans doit être purgé et/ou archivé), l'utilisation du partionnement peut être une solution intéressante: http://download-uk.oracle.com/docs/c...i.htm#i1008287. Ceci dit, en général, avoir quelques millions de lignes dans une table ne nécessite pas forcément l'utilisation du partionnement et il faut savoir que le partionnement est un option de la version Entreprise facturée séparément.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2004
    Messages : 327
    Points : 487
    Points
    487
    Par défaut
    Merci pour votre aide.

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

Discussions similaires

  1. [AC-2007] Afficher le nombre total de ligne d'une table
    Par Crachover dans le forum IHM
    Réponses: 2
    Dernier message: 26/02/2010, 09h46
  2. Nombre maximum d'enregistrement dans une table
    Par p_oum dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 10/02/2010, 12h04
  3. Réponses: 6
    Dernier message: 18/10/2009, 08h28
  4. Ordre de sélection des lignes sur une table DB2
    Par Pierre Formosa dans le forum DB2
    Réponses: 1
    Dernier message: 26/04/2006, 20h03
  5. [ORACLE 10g] Droits en ligne sur une table
    Par Cerberes dans le forum Oracle
    Réponses: 4
    Dernier message: 04/02/2005, 10h39

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