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

D�veloppement SQL Server Discussion :

taille d'une requ�te par une autre requ�te


Sujet :

D�veloppement SQL Server

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Par d�faut taille d'une requ�te par une autre requ�te
    J'ai une requ�te R1 pour laquelle j'ai besoin de savoir le nombre
    de lignes retourn�es. 2 solutions imm�diates:
    1) j'ex�cute R1 et j'attends et l� j'obtiens le nombre "exact" de lignes
    2) je demande le plan d'ex�cution et l� j'ai une "estimation" du nombre de lignes.

    Comme ce qui m'int�resse c'est la rapidit� de l'estimation et comme j'ai beaucoup de requ�tes pour lesquelles je veux estimer la taille, j'aimerai savoir s'il est possible
    de d�finir une requ�te R2 qui elle affiche le nombre de lignes estim� retourn�es par R1.

    Grosso modo, je voudrais savoir comment interroger les plans d'ex�cution.

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Par d�faut
    J'ai consult� la doc et j'ai vu qu'avec un
    set showplan_all off
    l'ex�cution de la requ�te revient � afficher son plan dans une table dans laquelle,
    il y a entre autres l'estimation de la taille du r�sultat. Ce qui me manque maintenant
    c'est comment r�cup�rer cette table pour l'interroger par la suite.
    J'ai essay� :
    set showplan_all off

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    select A
    Into temp
    From ma_table
    En pensant na�vement que le plan sera stock� dans temp :-) j'ai bien s�r obtenu
    le plan de la requ�te c-dessus.

  3. #3
    R�dacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de donn�es / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Expert bases de donn�es / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 010
    Billets dans le blog
    6
    Par d�faut
    Cela n'est pas faisable. Ce sont des proc�dures interne qui sont ex�cut�es de mani�res masqu�es � l'usage exclusif de l'analyseur de requ�te, seul capable de les interpr�t�es.
    Vous pouvez cependant obtenir le plan de requ�te en XML et donc l'incorporer dans une variable pour usage sp�cifique...

    Quel est votre but en demandant � l'avance le nombre de ligne, sachant qu'une base de donn�es �tant par nature dynamique entre le moment ou vous aurez demand� le nombre de ligne et le moment ou vous voudrez ex�cuter la requ�te cela aura probablement chang� ?
    A moins de verrouiller de mani�re exclusives toutes les tables en jeu dans votre requ�te pendant tout le traitement, mais l� on en revient � l'�ge de pierre de l'informatique, c'est � dire � travailler en fichier COBOL !

    A +
    Fr�d�ric Brouard - SQLpro - ARCHITECTE DE DONN�ES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : mod�lisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Par d�faut
    Citation Envoy� par SQLpro Voir le message
    Quel est votre but en demandant � l'avance le nombre de ligne, sachant qu'une base de donn�es �tant par nature dynamique entre le moment ou vous aurez demand� le nombre de ligne et le moment ou vous voudrez ex�cuter la requ�te cela aura probablement chang� ?
    A moins de verrouiller de mani�re exclusives toutes les tables en jeu dans votre requ�te pendant tout le traitement, mais l� on en revient � l'�ge de pierre de l'informatique, c'est � dire � travailler en fichier COBOL !
    A +
    Mon but est le suivant: partant d'une table de faits � D dimensions (j'utilise la terminologie datacube) il y a en th�orie 2^D aggr�gations possibles (voire plus si l'on tient compte des
    hi�rachies). SQL Analysis (ou ses successeurs) permet de s�lectionner un sous ensemble
    de ses agr�gations pour les mat�rialiser. Je ne suis pas satisfait du r�sultat mais je pr�sume que dans son algorithme, il fait des estimations de tailles. Je veux tester un autre algorithme sachant qu'il ne faut surtout pas calculer toutes les tailles (�a prendrait trop de temp).

    Quant aux mises � jour, comme vous voyez, je me place dans un contexte o� la base n'est pratiquement utilis�e qu'en consultation. Ce qui m'int�resse ce sont les ordres de grandeur. Par exemple, D1 peut �tre calcul�e � partir de l'agr�gation D1,D2 mais quelle est le rapport taille(D1,D2)/taille(D1). Ayant calcul� ces rapports � un instant t, il y a de fortes chances que ce rapport soit pr�serv� au temps t+1 (si l'on ne consid�re que des insertions).

    Conclusion: il ne s'agit pas d'une utilisation d'une BD op�rationnelle mais plust�t d�cisionnelle.

    Merci pour vos r�ponses.

  5. #5
    Invit� de passage
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    1
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 1
    Par d�faut
    Up,
    Je fais un peu la m�me chose que toi Tachaout.
    As-tu trouver une solution pour utiliser le plan d'ex�cution ?

    Merci
    Kumkaya

Discussions similaires

  1. Remplacer une requ�te sur une class par une valeur constante ?
    Par Lillie CHARLOTTE dans le forum G�n�ral JavaScript
    R�ponses: 9
    Dernier message: 02/06/2015, 10h59
  2. R�ponses: 2
    Dernier message: 18/06/2009, 16h09
  3. R�ponses: 4
    Dernier message: 31/10/2007, 21h27
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    R�ponses: 8
    Dernier message: 21/06/2007, 14h48
  5. masquer une partie d'une vid�o par une banniere
    Par lezabour dans le forum G�n�ral Conception Web
    R�ponses: 1
    Dernier message: 16/10/2006, 17h47

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