sp_createstats (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Appelle l’instruction CREATE STATISTICS pour créer des statistiques à colonne unique sur des colonnes qui ne sont pas déjà la première colonne d’un objet de statistiques. La création de statistiques à colonne unique augmente le nombre d’histogrammes, ce qui peut améliorer les estimations de cardinalité, les plans de requête et les performances des requêtes. La première colonne d'un objet de statistiques comporte un histogramme ; les autres colonnes n'ont pas d'histogramme.

sp_createstats est utile aux applications de tests des performances, par exemple, pour lesquelles les délais d'exécution des requêtes sont critiques, car il n'est pas possible d'attendre que l'optimiseur de requête génère des statistiques de colonnes uniques. Dans la plupart des cas, il n’est pas nécessaire d’utiliser sp_createstats; l’optimiseur de requête génère des statistiques sur une seule colonne si nécessaire pour améliorer les plans de requête lorsque l’option AUTO_CREATE_STATISTICS est activée.

Pour plus d’informations sur les statistiques, consultez Statistiques. Pour plus d’informations sur la génération de statistiques à colonne unique, consultez l’option AUTO_CREATE_STATISTICS dans OPTIONS ALTER DATABASE SET (Transact-SQL).

Conventions de la syntaxe Transact-SQL

Syntaxe

  
sp_createstats   
    [   [ @indexonly =   ] { 'indexonly'   | 'NO' } ]   
    [ , [ @fullscan =    ] { 'fullscan'    | 'NO' } ]   
    [ , [ @norecompute = ] { 'norecompute' | 'NO' } ]  
    [ , [ @incremental = ] { 'incremental' | 'NO' } ]  

Arguments

[ @indexonly = ] 'indexonly' Crée des statistiques uniquement sur les colonnes qui se trouvent dans un index existant et qui ne sont pas la première colonne d’une définition d’index. indexonly est char(9). La valeur par défaut est NO.

[ @fullscan = ] 'fullscan' Utilise l’instruction CREATE STATISTICS avec l’option FULLSCAN . fullscan est char(9). La valeur par défaut est NO.

[ @norecompute = ] 'norecompute' Utilise l’instruction CREATE STATISTICS avec l’option NORECOMPUTE . norecompute est char(12). La valeur par défaut est NO.

[ @incremental = ] 'incremental' Utilise l’instruction CREATE STATISTICS avec l’option INCREMENTAL = ON . L’incrémentiel est char(12). La valeur par défaut est NO.

Codet de retour

0 (réussite) ou 1 (échec)

Jeux de résultats

Chaque nouvel objet de statistiques porte le même nom que la colonne sur laquelle il est créé.

Remarques

sp_createstats ne crée ni ne met à jour les statistiques sur les colonnes qui sont la première colonne d’un objet de statistiques existant ; Cela inclut la première colonne de statistiques créées pour les index, les colonnes avec des statistiques à colonne unique générées avec AUTO_CREATE_STATISTICS option et la première colonne de statistiques créées avec l’instruction CREATE STATISTICS. sp_createstats ne crée pas de statistiques sur les premières colonnes d’index désactivés, sauf si cette colonne est utilisée dans un autre index activé. sp_createstats ne crée pas de statistiques sur les tables avec un index cluster désactivé.

Lorsque la table contient un jeu de colonnes, sp_createstats ne crée pas de statistiques sur les colonnes éparses. Pour plus d’informations sur les jeux de colonnes et les colonnes éparses, consultez Utiliser des ensembles de colonnes et Utiliser des colonnes éparses.

Autorisations

Nécessite l'appartenance au rôle de base de données fixe db_owner.

Exemples

R. Créer des statistiques de colonnes uniques sur toutes les colonnes appropriées

L'exemple suivant crée des statistiques de colonnes uniques pour toutes les colonnes appropriées de la base de données active.

EXEC sp_createstats;  
GO  

B. Créer des statistiques de colonnes uniques sur toutes les colonnes d'index appropriées

L'exemple suivant crée des statistiques de colonnes uniques pour toutes les colonnes appropriées qui sont déjà dans un index et qui ne constituent pas la première colonne de cet index.

EXEC sp_createstats 'indexonly';  
GO  

Voir aussi

Statistiques
CREATE STATISTICS (Transact-SQL)
Options SET d’ALTER DATABASE (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL)
DROP STATISTICS (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)
Procédures stockées du moteur de base de données (Transact-SQL)
Procédures stockées système (Transact-SQL)