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 :

Process a 25% (lors d'un query utilisant un subselect)


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Par défaut Process a 25% (lors d'un query utilisant un subselect)
    voila ma requete qui consiste a recuperer tous les unique IP sur 24heure d'une meme campaign.

    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
    16
    CREATE    PROCEDURE dbo.SP_Impressions24
    (
    	@CampaignID int,		
    	@loggedStart datetime,
    	@loggedEnd datetime
    )
    AS
     
    select CONVERT(char(12),logat,1) As DayDate,count(*) as Clicks from impression_request as A WITH (NOLOCK) 
    where CampaignID=@CampaignID and logat between @loggedStart and @loggedEnd
    and not EXISTS 
    (select * from impression_request as C WITH (NOLOCK) 
    where CampaignID = A.campaignid 
    and C.request_IP=A.request_IP and C.request_raw=A.request_raw and C.logat>DATEADD(hour,-24,A.logat) and  C.logat<A.logat)
    group by  CONVERT(char(12),logat,1)
    RETURN
    mon probleme est le suivant lors du lancement de cette requete le serveur rame et rame enormement (serveur : xeon 4 processeurs avec 2 gb ram et raid en hd).
    si bien que lorsque je jette un oeil sur les process j'obtiens les infos suivantes pour le pid 85 (celui qui apperement cause probleme):

    Object |LockType|Mode |Status |Owner| Index | Reso
    CampLogDB | DB | S |GRANT|Sess | |
    CampLogDB.ImpreTb |TAB |Sch-s|GRANT|Xact | |


    a plusieurs reprises avec une journee d'intervalle jai mis des indexes sur ma table dont un avec cluster apres ces index placees au lancement de la requete tout se passe super bien achaque fois je crois que le probleme est resolu puis le lendemain le probleme recommance, pourtant je nai rien changer entre le moment ou ca allait et le moment ou les problemes recommencent .

    voila j'espere avoir ete assez clair (c'est mon 1er poste dans ce forum alors un peu d'indulgence) et si vous avez besoin de plus de precision je me ferai une joie d'en aporter .

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 227
    Billets dans le blog
    25
    Par défaut
    Chargez-vous des données massivement le soir ?
    Vos statistiques sont-elles à jour ?

    Essayez d'exécuter la commande suivante avant votre exécution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    update statistics impression_request
    exec sp_recompile impression_request
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre émérite Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Par défaut
    Merci de me repondre si rapidement.

    La DB est organisee de la facon suivante :

    Une DB active qui contient un
    tableau impression actif (ne contient pas d'index pour faciliter l'ecriture)
    tableau impression qui est mise a jour toutes les heures . (c'est ce meme tableau qui contient les index)

    puis il y a une autre DB Archive (qui est mise a jour au moins toutes les semaines qui libere de la place pour la DB active)
    cette meme DBarchive contient UN tableau impression qui lui contient egalement les indexes.

    je sais que j'aurai du passer par un CUBE mais malheuresement ou heurement la progression est telle que c'est le seul moyen que j'ai trouver pour le moment pour faire face a la masse de donnee .

    Code:
    update statistics impression_request
    exec sp_recompile impression_request
    desoler mais j'ai du mal a comprendre update statistic est une sorte de pseudocode ou c'est une command qui appartient au systeme pour sql server

    egalement pour sp_recompile (quelle est son role ??) je n'arrive pas a comprendre le sens de recompile sur le point de vue database (est-ce que cela reactualiserait les indexes ????)

    je vais jetter un oeil surtout ca et je vous tiens au courant.

    encore une fois merci.

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 227
    Billets dans le blog
    25
    Par défaut
    update statistics est une commande T-SQL régénérant les statistiques pour une table donnée.
    sp_recompile est une procédures stockée demandant aux objets compilés de se recompiler en tenant compte des dernières statistiques.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/05/2008, 03h18
  2. Réponses: 10
    Dernier message: 03/01/2008, 17h09
  3. Init lors de la première utilisation
    Par Mister Nono dans le forum Struts 1
    Réponses: 16
    Dernier message: 22/11/2007, 12h06
  4. Réponses: 12
    Dernier message: 03/09/2006, 18h26
  5. [JDBC] SQL Exception lors d'une Query !
    Par Castagnems dans le forum JDBC
    Réponses: 5
    Dernier message: 30/04/2004, 12h00

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