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

SQL Oracle Discussion :

Conseils sur calculs de stats


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Par défaut Conseils sur calculs de stats
    Bonjour à tous,

    j'ai un projet à mettre en place : le calcul d'innombrables statistiques sur une base de 4 000 000 d'entrées.

    Les stats sont par exemple le prix moyen, de ces 4 000 000 d'entrées, ensuite le prix par catégorie, etc....

    Je pensais créer une collection avec Bulk collect, en récupérant uniquement les informations que j'utiliserais pour le calcul et faire un foreach tout en incrémentant des variables pour faire un calcul final.

    Comme ça ça me parait lourd, de faire un foreach 4 000 000 de fois...

    Avez-vous un truc plus optimisé ?

    Merci de votre aide

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Fonctions analytiques

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Par défaut
    C'est la base, mais ça me fait peur de faire ça sur une table aussi grosse.

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Si tu peux faire le calcul par SQL il y a peu des chances que ton algorithme en PL/SQL sera plus performant.
    A la limite peut être que tu pourrais éviter de recalculer certaines choses en utilisant des vues matérialisées ou en stockant certaines sommes pré calculés dans tes données.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Par défaut
    J'ai au moins une centaine de stats à sortir, et y'a des trucs tordus

  6. #6
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 418
    Par défaut
    Citation Envoyé par mnitu
    Si tu peux faire le calcul par SQL il y a peu des chances que ton algorithme en PL/SQL sera plus performant.
    +1

    +1 aussi pour les vues matérialisées. Ca peut te permettre me mettre en forme tes données pour faire tes requêtes après. De plus, la clause GROUP dans Oracle est bien plus étoffée que le "classique" GROUP BY. Je te conseille de regarder du côté des GROUPING SET.

    Par contre, je ne connaîs pas Fonctions analytiques.

  7. #7
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par shadeoner Voir le message
    Bonjour à tous,

    j'ai un projet à mettre en place : le calcul d'innombrables statistiques sur une base de 4 000 000 d'entrées.

    Les stats sont par exemple le prix moyen, de ces 4 000 000 d'entrées, ensuite le prix par catégorie, etc....
    Une approche est d'implémenter le query rewrite et les vues matérialisées. Ainsi tu crées ta vue matérialisées avec tes group by, count(*), count(keys), etc, ensuites lorsque tu calcules tes statistiques, Oracle utiliseras automatiquement les mviews et le gain de perf sera monstrueux

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Par défaut
    Je ne connais pas le query rewrite je vais chercher tout ça

    Merci

    En utilisant les fonctions analytiques c'est plutôt rapide. J'ai quelques soucis, je vais faire un autre message

  9. #9
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Par défaut
    Super je te remercie, je vais lire ça attentivement.

Discussions similaires

  1. Calcul des stats sur postgrsql
    Par juniorYanis dans le forum Administration
    Réponses: 3
    Dernier message: 14/10/2013, 18h03
  2. Calcul des stats sur SYS et SYSTEM
    Par orafrance dans le forum Oracle
    Réponses: 8
    Dernier message: 05/10/2005, 16h25
  3. cherche conseil sur livre pour jbuilder
    Par med1 dans le forum JBuilder
    Réponses: 3
    Dernier message: 09/06/2004, 13h33
  4. [débutant] conseils sur contraintes et alter table
    Par maysa dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 26/05/2004, 09h03
  5. Recherche Livre / Conseils sur la conception de Base
    Par Yeuma dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 02/01/2004, 14h25

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