|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 663 ![]() |
Bonjour,
Pour trouver la liste des statistiques en double dans une base de données, j'ai écrit la requête suivante : Code :
Code :
J'ai donc écrit la requête suivante : Code :
A quoi cela peut-il être dû ? @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||||||
|
00
|
|
|
#2 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
J'ai pas encore tes scripts j'avoue
.. mais a tu fais un dbcc updateusage avant ?++ |
|
00
|
|
|
#3 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 663 ![]() |
Je l'ai lancé sans conviction sur une BD de 3TB, je pense que ça va prendre quelques heures ...
Sans conviction parce qu'ici nous cherchons les doublons entre les statistiques d'une même table ... Se peut-il donc que la définition des statistiques retournées par DBCC SHOW_STATISTICS en termes d'ordre des colonnes soit faussée ? Si tel est le cas, pour quelle raison ? J'avais compris que DBCC UPDATEUSAGE corrige les données que retourne la procédure stockée sp_spaceused. En fait, je n'ai jamais noté de différence entre le nombre de lignes qu'on obtient en exécutant un COUNT(*) sur une table et ce que je peux obtenir à l'aide de la seconde requête que j'ai publiée ici. Je comprends que le nombre de lignes ne soit pas mis à jour en temps réel, car cela demanderait un travail considérable sur les tables supportant les transactions d'une base de données OLTP. En revanche sur une opération telle qu'un BULK INSERT, que l'on exécute : - sp_spaceused pour la table qui subit cette opération - la requête de mon billet pour la même table - un COUNT(*) sur la table On obtient strictement la même valeur. @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#4 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Tu pourrais nous donner un exemple de valeurs que tu trouves ?
Que cherches tu a faire avec cette requete qui te cherche les statistiques en double ? PS : A y reflechir effectivement DBC UPDATEUSAGE ne devrait pas regler ton probleme ++ |
|
00
|
|
|
#5 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 663 ![]() |
En fait j'ai remarqué que le moteur de base de données ne supprime pas une statistique de colonne(s) qui a la même définition qu'un index sur la même table (même colonnes dans la clé, et même ordre des colonnes).
Cela n'est pas très gênant et ne donnera certainement pas un gain en performances énorme, mais je trouve qu'il est dommage d'avoir deux fois la même statistique sur la même table ... @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#6 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 950 ![]() |
En fait le contenu des statistiques peut être différent car il n'est pas callculé au même instant. De plus si tu traîne ces stats depuis une ancienne version, genre 2000, la méthode de calcul des stats à été modifiée....
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
Copyright © 2000-2012 - www.developpez.com