none
Calcul des statistiques sur des données RRS feed

  • Question

  • Bonjour,

    j'ai une applciation écrite en VB.NET et qui importe des données (xls, txt, depuis base Access) dans une base SQL Server 2008. jusque la tout va bien, après import je doit ressortir des statistiques à l'utilisateur, genre le nombre de lignes importés, le nombre de lignes non vides par colonne, la valeur MIN, MAX, la moyenne, le taux de remplissages,... sur les colonnes importées ...

    Ces statistiques prennnent beaucoup de temps surtout s'il ya une grosse volumétrie (1 million de ligne est une volumétrie normale pour mes clients et déjà ça mouline à fond pour un million de lignes) (ça prend presque 30 min pour 1 millions de lignes alors que mon import ne dépasse pas 5 min)

    le type de requêtes que j'exécute :

    SELECT MAX(COLA) AS MAXI FROM TA
    SELECT MIN(COLA) AS MINI FROM TA
    SELECT COUNT(DISTINCT (COLA)) AS VDIF FROM TA
    SELECT AVG(COLA) AS MOYENNE FROM TA
    ...
    

    Alors, la question comment optimiser tout ceci pour que ces statistiques ne prennent pas autant de temps ?

    Cordialement,

    lundi 13 décembre 2010 16:02

Réponses

  • Votre table possède t-elle une clef primaire ? Si non, mettez en une par exemple avec un auto incrément.

    Ensuite indexez votre colonne COLA.

    Enfin, vous pouvez opter pour une vue indexée qui améliorera encore grandement ces calculs (en principe ils seront immédiat).

     

    A +


    Frédéric BROUARD, Spécialiste modélisation, SGBR relationnel, optimisation, langage SQL * * * Le site sur le langage SQL et les SGBD relationnels : http://sqlpro.developpez.com/ * * * Expert SQL Server http://www.sqlspot.com : audit, optimisation, tuning, formation * * * Le blog sur SQL / MS SQL Server http://blog.developpez.com/sqlpro * * * Enseignant CNAM PACA, ISEN Toulon, CESI/EXIA Aix En Provence
    • Marqué comme réponse Alex Petrescu mercredi 22 décembre 2010 12:18
    lundi 13 décembre 2010 20:54

Toutes les réponses

  • Votre table possède t-elle une clef primaire ? Si non, mettez en une par exemple avec un auto incrément.

    Ensuite indexez votre colonne COLA.

    Enfin, vous pouvez opter pour une vue indexée qui améliorera encore grandement ces calculs (en principe ils seront immédiat).

     

    A +


    Frédéric BROUARD, Spécialiste modélisation, SGBR relationnel, optimisation, langage SQL * * * Le site sur le langage SQL et les SGBD relationnels : http://sqlpro.developpez.com/ * * * Expert SQL Server http://www.sqlspot.com : audit, optimisation, tuning, formation * * * Le blog sur SQL / MS SQL Server http://blog.developpez.com/sqlpro * * * Enseignant CNAM PACA, ISEN Toulon, CESI/EXIA Aix En Provence
    • Marqué comme réponse Alex Petrescu mercredi 22 décembre 2010 12:18
    lundi 13 décembre 2010 20:54
  • Merci SQL Pro,

     

    je vais tester tout ceci et vous tenir au courant.

    mercredi 15 décembre 2010 14:26