CREATE STATISTICS (Transact-SQL)CREATE STATISTICS (Transact-SQL)

SE APLICA A: síSQL Server síAzure SQL Database síAzure Synapse Analytics (SQL DW) síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Crea estadísticas de optimización de consultas en una o más columnas de una tabla, en una vista indizada o en una tabla externa.Creates query optimization statistics on one or more columns of a table, an indexed view, or an external table. Para la mayoría de las consultas, el optimizador de consultas genera ya las estadísticas necesarias para un plan de consulta de alta calidad; en algunos casos, para mejorar el rendimiento de la consulta necesita crear estadísticas adicionales con CREATE STATISTICS modificar el diseño de la consulta.For most queries, the query optimizer already generates the necessary statistics for a high-quality query plan; in a few cases, you need to create additional statistics with CREATE STATISTICS or modify the query design to improve query performance.

Para obtener más información, consulte Estadísticas.To learn more, see Statistics.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

-- Syntax for SQL Server and Azure SQL Database  
  
-- Create statistics on an external table  
CREATE STATISTICS statistics_name   
ON { table_or_indexed_view_name } ( column [ ,...n ] )   
    [ WITH FULLSCAN ] ;  
  
-- Create statistics on a regular table or indexed view  
CREATE STATISTICS statistics_name   
ON { table_or_indexed_view_name } ( column [ ,...n ] )   
    [ WHERE <filter_predicate> ]  
    [ WITH   
        [ [ FULLSCAN   
            [ [ , ] PERSIST_SAMPLE_PERCENT = { ON | OFF } ]    
          | SAMPLE number { PERCENT | ROWS }   
            [ [ , ] PERSIST_SAMPLE_PERCENT = { ON | OFF } ]    
          | <update_stats_stream_option> [ ,...n ]    
        [ [ , ] NORECOMPUTE ]   
        [ [ , ] INCREMENTAL = { ON | OFF } ] 
        [ [ , ] MAXDOP = max_degree_of_parallelism ]
    ] ;  
  
<filter_predicate> ::=   
    <conjunct> [AND <conjunct>]  
  
<conjunct> ::=  
    <disjunct> | <comparison>  
  
<disjunct> ::=  
        column_name IN (constant ,...)  
  
<comparison> ::=  
        column_name <comparison_op> constant  
  
<comparison_op> ::=  
    IS | IS NOT | = | <> | != | > | >= | !> | < | <= | !<  
    
<update_stats_stream_option> ::=  
    [ STATS_STREAM = stats_stream ]  
    [ ROWCOUNT = numeric_constant ]  
    [ PAGECOUNT = numeric_contant ] 
-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse  
  
CREATE STATISTICS statistics_name   
    ON { database_name.schema_name.table_name | schema_name.table_name | table_name }
    ( column_name  [ ,...n ] )   
    [ WHERE <filter_predicate> ]  
    [ WITH {  
           FULLSCAN   
           | SAMPLE number PERCENT   
      }  
    ]  
[;]  
  
<filter_predicate> ::=   
    <conjunct> [AND <conjunct>]  
  
<conjunct> ::=  
    <disjunct> | <comparison>  
  
<disjunct> ::=  
        column_name IN (constant ,...)  
  
<comparison> ::=  
        column_name <comparison_op> constant  
  
<comparison_op> ::=  
    IS | IS NOT | = | <> | != | > | >= | !> | < | <= | !<  

ArgumentosArguments

statistics_namestatistics_name
Es el nombre de las estadísticas que se van a crear.Is the name of the statistics to create.

table_or_indexed_view_nametable_or_indexed_view_name
Es el nombre de la tabla, de la vista indizada o de la tabla externa en que se van a crear las estadísticas.Is the name of the table, indexed view, or external table on which to create the statistics. Para crear estadísticas en otra base de datos, especifique un nombre de tabla completa.To create statistics on another database, specify a qualified table name.

column [ ,...n]column [ ,...n]
Una o varias columnas que se van a incluir en las estadísticas.One or more columns to be included in the statistics. Las columnas deben estar en orden de prioridad, de izquierda a derecha.The columns should be in priority order from left to right. Solo se usa la primera columna para crear el histograma.Only the first column is used for creating the histogram. Todas las columnas se usan para las estadísticas de correlación entre columnas denominadas densidades.All columns are used for cross-column correlation statistics called densities.

Se puede especificar cualquier columna que pueda ser especificada como columna de clave de índice con las siguientes excepciones:You can specify any column that can be specified as an index key column with the following exceptions:

  • Las columnas FILESTREAM, de texto completo y xml no se pueden especificar.Xml, full-text, and FILESTREAM columns cannot be specified.

  • Solamente se pueden especificar columnas calculadas si las opciones de base de datos ARITHABORT y QUOTED_IDENTIFIER están establecidas en ON.Computed columns can be specified only if the ARITHABORT and QUOTED_IDENTIFIER database settings are ON.

  • Se pueden especificar columnas de tipo CLR definido por el usuario si el tipo admite el orden binario.CLR user-defined type columns can be specified if the type supports binary ordering. Es posible especificar columnas calculadas definidas como llamadas a métodos de una columna de un tipo definido por el usuario si los métodos están marcados como deterministas.Computed columns defined as method invocations of a user-defined type column can be specified if the methods are marked deterministic.

WHERE <filter_predicate> Especifica una expresión para seleccionar un subconjunto de filas que se va a incluir al crear el objeto de estadísticas.WHERE <filter_predicate> Specifies an expression for selecting a subset of rows to include when creating the statistics object. Las estadísticas que se crean con un predicado de filtro se llaman estadísticas filtradas.Statistics that are created with a filter predicate are called filtered statistics. El predicado de filtro utiliza la lógica de comparación simple y no puede hacer referencia a una columna calculada, a una columna UDT, a una columna de tipo de datos espacial o a una columna de tipo de datos hierarchyID.The filter predicate uses simple comparison logic and cannot reference a computed column, a UDT column, a spatial data type column, or a hierarchyID data type column. Las comparaciones que utilizan literales NULL no se admiten con los operadores de comparación.Comparisons using NULL literals are not allowed with the comparison operators. En su lugar, use los operadores IS NULL e IS NOT NULL.Use the IS NULL and IS NOT NULL operators instead.

Los siguientes son algunos ejemplos de predicados de filtro para la tabla Production.BillOfMaterials:Here are some examples of filter predicates for the Production.BillOfMaterials table:

  • WHERE StartDate > '20000101' AND EndDate <= '20000630'

  • WHERE ComponentID IN (533, 324, 753)

  • WHERE StartDate IN ('20000404', '20000905') AND EndDate IS NOT NULL

Para obtener más información sobre los índices filtrados, vea Crear índices filtrados.For more information about filter predicates, see Create Filtered Indexes.

FULLSCANFULLSCAN
Calcula estadísticas examinando todas las filas.Compute statistics by scanning all rows. FULLSCAN y SAMPLE 100 PERCENT tienen los mismos resultados.FULLSCAN and SAMPLE 100 PERCENT have the same results. FULLSCAN no se puede utilizar con la opción SAMPLE.FULLSCAN cannot be used with the SAMPLE option.

Cuando se omite, SQL Server utiliza el muestreo para crear las estadísticas y determina el tamaño de la muestra que se requiere para crear un plan de consulta de alta calidad.When omitted, SQL Server uses sampling to create the statistics, and determines the sample size that is required to create a high quality query plan

SAMPLE number { PERCENT | ROWS }SAMPLE number { PERCENT | ROWS }
Especifica el porcentaje o número de filas aproximado de la tabla o vista indizada que usa el optimizador de consultas al crear las estadísticas.Specifies the approximate percentage or number of rows in the table or indexed view for the query optimizer to use when it creates statistics. En PERCENT, number puede tener un valor comprendido entre 0 y 100, mientras que en ROWS, number puede tener un valor comprendido entre 0 y el número total de filas.For PERCENT, number can be from 0 through 100 and for ROWS, number can be from 0 to the total number of rows. El porcentaje o número de filas real de los ejemplos del optimizador de consultas podría no coincidir con el porcentaje o el número especificado.The actual percentage or number of rows the query optimizer samples might not match the percentage or number specified. Por ejemplo, el optimizador de consultas examina todas las filas en una página de datos.For example, the query optimizer scans all rows on a data page.

SAMPLE es útil para los casos especiales en los que el plan de consulta, basado en el muestreo predeterminado, no es óptimo.SAMPLE is useful for special cases in which the query plan, based on default sampling, is not optimal. En la mayoría de las situaciones, no es necesario especificar SAMPLE porque el optimizador de consultas ya utiliza el muestreo y determina el tamaño de muestra estadísticamente significativo de forma predeterminada, tal y como se exige para crear planes de consulta de alta calidad.In most situations, it is not necessary to specify SAMPLE because the query optimizer already uses sampling and determines the statistically significant sample size by default, as required to create high-quality query plans.

SAMPLE no se puede utilizar con la opción FULLSCAN.SAMPLE cannot be used with the FULLSCAN option. Cuando no se especifica SAMPLE ni FULLSCAN, el optimizador de consultas utiliza los datos muestreados y calcula el tamaño de la muestra de forma predeterminada.When neither SAMPLE nor FULLSCAN is specified, the query optimizer uses sampled data and computes the sample size by default.

Recomendamos no especificar 0 PERCENT ni 0 ROWS.We recommend against specifying 0 PERCENT or 0 ROWS. Cuando se especifican 0 PERCENT o ROWS, el objeto de estadísticas se crea pero no contiene datos de estadísticas.When 0 PERCENT or ROWS is specified, the statistics object is created but does not contain statistics data.

PERSIST_SAMPLE_PERCENT = { ON | OFF }PERSIST_SAMPLE_PERCENT = { ON | OFF }
Cuando es ON, las estadísticas conservan el porcentaje de muestreo de la creación para las actualizaciones posteriores que no especifican explícitamente un porcentaje de muestreo.When ON, the statistics will retain the creation sampling percentage for subsequent updates that do not explicitly specify a sampling percentage. Cuando es OFF, el porcentaje de muestreo de estadísticas se restablece al muestreo predeterminado en actualizaciones posteriores que no especifiquen explícitamente un porcentaje de muestreo.When OFF, statistics sampling percentage will get reset to default sampling in subsequent updates that do not explicitly specify a sampling percentage. El valor predeterminado es OFF.The default is OFF.

Nota

Si se trunca la tabla, todas las estadísticas creadas en el HoBT truncado volverán a usar el porcentaje de muestreo predeterminado.If the table is truncated, all statistics built on the truncated HoBT will revert to using the default sampling percentage.

Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) (a partir de SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1 CU4) y versiones posteriores (a partir de SQL Server 2017 (14.x)SQL Server 2017 (14.x) CU1)Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) (starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1 CU4) and later (starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x) CU1).

STATS_STREAM = stats_streamSTATS_STREAM =stats_stream

Solamente se identifica con fines informativos.Identified for informational purposes only. No compatible.Not supported. La compatibilidad con versiones posteriores no está garantizada.Future compatibility is not guaranteed.

NORECOMPUTENORECOMPUTE
Deshabilite la opción automática de actualización de las estadísticas, AUTO_UPDATE_STATISTICS, para statistics_name.Disable the automatic statistics update option, AUTO_STATISTICS_UPDATE, for statistics_name. Si se especifica esta opción, el optimizador de consultas finalizará cualquier actualización de las estadísticas que se esté realizando para statistics_name y deshabilitará las actualizaciones futuras.If this option is specified, the query optimizer will complete any in-progress statistics updates for statistics_name and disable future updates.

Para volver a habilitar las actualizaciones de las estadísticas, quite las estadísticas con DROP STATISTICS y, a continuación, ejecute CREATE STATISTICS sin la opción NORECOMPUTE.To re-enable statistics updates, remove the statistics with DROP STATISTICS and then run CREATE STATISTICS without the NORECOMPUTE option.

Advertencia

Utilizar esta opción puede producir planes de consulta poco óptimos.Using this option can produce suboptimal query plans. Se recomienda usar esta opción con moderación y que lo haga únicamente un administrador de sistemas cualificado.We recommend using this option sparingly, and then only by a qualified system administrator.

Para obtener más información sobre la opción AUTO_STATISTICS_UPDATE, vea Opciones de ALTER DATABASE SET (Transact-SQL).For more information about the AUTO_STATISTICS_UPDATE option, see ALTER DATABASE SET Options (Transact-SQL). Para obtener más información sobre cómo deshabilitar y volver a habilitar las actualizaciones de estadísticas, vea Estadísticas.For more information about disabling and re-enabling statistics updates, see Statistics.

INCREMENTAL = { ON | OFF }INCREMENTAL = { ON | OFF }
Cuando se establece en ON, se crean estadísticas por cada partición.When ON, the statistics created are per partition statistics. Cuando se establece en OFF, se combinan las estadísticas de todas las particiones.When OFF, stats are combined for all partitions. El valor predeterminado es OFF.The default is OFF.

Si no se admiten las estadísticas por partición, se genera un error.If per partition statistics are not supported an error is generated. Las estadísticas incrementales no se admiten para los siguientes tipos de estadísticas:Incremental stats are not supported for following statistics types:

  • Estadísticas creadas con índices que no están alineados por partición con la tabla base.Statistics created with indexes that are not partition-aligned with the base table.
  • Estadísticas creadas sobre bases de datos secundarias legibles AlwaysOn.Statistics created on Always On readable secondary databases.
  • Estadísticas creadas sobre bases de datos de solo lectura.Statistics created on read-only databases.
  • Estadísticas creadas sobre índices filtrados.Statistics created on filtered indexes.
  • Estadísticas creadas sobre vistas.Statistics created on views.
  • Estadísticas creadas sobre tablas internas.Statistics created on internal tables.
  • Estadísticas creadas con índices espaciales o índices XML.Statistics created with spatial indexes or XML indexes.

Válido para : SQL Server 2014 (12.x)SQL Server 2014 (12.x) y versiones posteriores.Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later.

MAXDOP = max_degree_of_parallelismMAXDOP = max_degree_of_parallelism
Se aplica a: SQL ServerSQL Server (desde SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP2 y SQL Server 2017 (14.x)SQL Server 2017 (14.x) CU3).Applies to: SQL ServerSQL Server (Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP2 and SQL Server 2017 (14.x)SQL Server 2017 (14.x) CU3).

Reemplaza la opción de configuración max degree of parallelism durante la operación estadística.Overrides the max degree of parallelism configuration option for the duration of the statistic operation. Para obtener más información, vea Establecer la opción de configuración del servidor Grado máximo de paralelismo.For more information, see Configure the max degree of parallelism Server Configuration Option. Utilice MAXDOP para establecer un límite para el número de procesadores utilizados en la ejecución de un plan paralelo.Use MAXDOP to limit the number of processors used in a parallel plan execution. El máximo es 64 procesadores.The maximum is 64 processors.

max_degree_of_parallelism puede tener estos valores:max_degree_of_parallelism can be:

11
Suprime la generación de planes paralelos.Suppresses parallel plan generation.

>1>1
Restringe el número máximo de procesadores usados en una operación estadística paralela al número especificado o a un número inferior, en función de la carga de trabajo actual del sistema.Restricts the maximum number of processors used in a parallel statistic operation to the specified number or fewer based on the current system workload.

0 (predeterminado)0 (default)
Usa el número real de procesadores o menos, según la carga de trabajo actual del sistema.Uses the actual number of processors or fewer based on the current system workload.

<update_stats_stream_option> Solamente se identifica con fines informativos.Identified for informational purposes only. No compatible.Not supported. La compatibilidad con versiones posteriores no está garantizada.Future compatibility is not guaranteed.<update_stats_stream_option> Solamente se identifica con fines informativos.Identified for informational purposes only. No compatible.Not supported. La compatibilidad con versiones posteriores no está garantizada.Future compatibility is not guaranteed.

PermisosPermissions

Se requiere uno de estos permisos:Requires one of these permissions:

  • ALTER TABLEALTER TABLE
  • El usuario es el propietario de la tablaUser is the table owner
  • Pertenencia al rol fijo de base de db_ddladmin.Membership in the db_ddladmin fixed database role

Notas generalesGeneral Remarks

SQL ServerSQL Server puede usar tempdb para ordenar las filas buscadas antes de crear las estadísticas.can use tempdb to sort the sampled rows before building statistics.

Estadísticas para tablas externasStatistics for external tables

Al crear las estadísticas de tabla externa, SQL ServerSQL Server importa la tabla externa en una tabla SQL ServerSQL Server temporal y crea las estadísticas.When creating external table statistics, SQL ServerSQL Server imports the external table into a temporary SQL ServerSQL Server table, and then creates the statistics. En las estadísticas de muestra, solo se importan las filas muestreadas.For samples statistics, only the sampled rows are imported. Si la tabla externa es grande, es mucho más rápido utilizar el muestreo predeterminado en vez de la opción de examen completo.If you have a large external table, it will be much faster to use the default sampling instead of the full scan option.

Estadísticas con una condición de filtradoStatistics with a filtered condition

Las estadísticas filtradas pueden mejorar el rendimiento de las consultas que se seleccionan desde subconjuntos de datos bien definidos.Filtered statistics can improve query performance for queries that select from well-defined subsets of data. Las estadísticas filtradas utilizan un predicado de filtro de la cláusula WHERE para seleccionar el subconjunto de datos que se incluye en las estadísticas.Filtered statistics use a filter predicate in the WHERE clause to select the subset of data that is included in the statistics.

Cuándo utilizar CREATE STATISTICSWhen to Use CREATE STATISTICS

Para obtener más información sobre cuándo usar CREATE STATISTICS, vea Estadísticas.For more information about when to use CREATE STATISTICS, see Statistics.

Hacer referencia a las dependencias para las estadísticas filtradasReferencing Dependencies for Filtered Statistics

La vista de catálogo sys.sql_expression_dependencies realiza el seguimiento de cada columna en la expresión del predicado de estadísticas filtradas como una dependencia de referencia.The sys.sql_expression_dependencies catalog view tracks each column in the filtered statistics predicate as a referencing dependency. Tenga en cuenta las operaciones que realiza en las columnas de la tabla antes de crear estadísticas filtradas, porque no puede quitar, modificar, cambiar el nombre de la definición de una columna de tabla definida en un predicado de estadísticas filtradas.Consider the operations that you perform on table columns before creating filtered statistics because you cannot drop, rename, or alter the definition of a table column that is defined in a filtered statistics predicate.

Limitaciones y restriccionesLimitations and Restrictions

  • No se admite la actualización de estadísticas en tablas externas.Updating statistics is not supported on external tables. Para actualizar las estadísticas en una tabla externa, quite las estadísticas y vuelva a crearlas.To update statistics on an external table, drop and re-create the statistics.
  • Puede mostrar hasta 64 columnas por objeto de estadísticas.You can list up to 64 columns per statistics object.
  • La opción MAXDOP no es compatible con opciones STATS_STREAM, ROWCOUNT y PAGECOUNT.The MAXDOP option is not compatible with STATS_STREAM, ROWCOUNT and PAGECOUNT options.
  • La opción MAXDOP está limitada por la configuración MaX_DOP del grupo de cargas de trabajo de Resource Governor, si se usa.The MAXDOP option is limited by the Resource Governor workload group MAX_DOP setting, if used.

EjemplosExamples

En los ejemplos se usa la base de datos de AdventureWorks.Examples use the AdventureWorks database.

A.A. Utilizar CREATE STATISTICS con SAMPLE number PERCENTUsing CREATE STATISTICS with SAMPLE number PERCENT

En el ejemplo siguiente, se crean las estadísticas ContactMail1 a partir de una muestra aleatoria del 5 por ciento de las columnas BusinessEntityID y EmailPromotion de la tabla Person de la base de datos AdventureWorks2012AdventureWorks2012.The following example creates the ContactMail1 statistics, using a random sample of 5 percent of the BusinessEntityID and EmailPromotion columns of the Person table of the AdventureWorks2012AdventureWorks2012 database.

CREATE STATISTICS ContactMail1  
    ON Person.Person (BusinessEntityID, EmailPromotion)  
    WITH SAMPLE 5 PERCENT;  

B.B. Utilizar CREATE STATISTICS con FULLSCAN y NORECOMPUTEUsing CREATE STATISTICS with FULLSCAN and NORECOMPUTE

En el ejemplo siguiente se crean las estadísticas NamePurchase para todas las filas de las columnas BusinessEntityID y EmailPromotion de la tabla Person y se deshabilita la posibilidad de volver a calcular las estadísticas automáticamente.The following example creates the NamePurchase statistics for all rows in the BusinessEntityID and EmailPromotion columns of the Person table and disables automatic recomputing of statistics.

CREATE STATISTICS NamePurchase  
    ON AdventureWorks2012.Person.Person (BusinessEntityID, EmailPromotion)  
    WITH FULLSCAN, NORECOMPUTE;  

C.C. Utilizar CREATE STATISTICS para crear estadísticas filtradasUsing CREATE STATISTICS to create filtered statistics

En el ejemplo siguiente se crean las estadísticas filtradas ContactPromotion1.The following example creates the filtered statistics ContactPromotion1. El Motor de base de datosDatabase Engine muestrea el 50 por ciento de los datos y, a continuación, selecciona las filas cuyo valor EmailPromotion es igual a 2.The Motor de base de datosDatabase Engine samples 50 percent of the data and then selects the rows with EmailPromotion equal to 2.

CREATE STATISTICS ContactPromotion1  
    ON Person.Person (BusinessEntityID, LastName, EmailPromotion)  
WHERE EmailPromotion = 2  
WITH SAMPLE 50 PERCENT;  
GO  

D.D. Crear estadísticas en una tabla externaCreate statistics on an external table

La única decisión que debe tomar al crear las estadísticas en una tabla externa, además de proporcionar la lista de columnas, es si desea crear las estadísticas mediante el muestreo de las filas o examinando todas las filas.The only decision you need to make when you create statistics on an external table, besides providing the list of columns, is whether to create the statistics by sampling the rows or by scanning all of the rows.

Puesto que SQL ServerSQL Server importa datos de la tabla externa en una tabla temporal para crear estadísticas, la opción de examen completo tardará mucho más tiempo.Since SQL ServerSQL Server imports data from the external table into a temporary table to create statistics, the full scan option will take much longer. En una tabla grande, el método de muestreo predeterminado generalmente es suficiente.For a large table, the default sampling method is usually sufficient.

--Create statistics on an external table and use default sampling.  
CREATE STATISTICS CustomerStats1 ON DimCustomer (CustomerKey, EmailAddress);  
  
--Create statistics on an external table and scan all the rows  
CREATE STATISTICS CustomerStats1 ON DimCustomer (CustomerKey, EmailAddress) WITH FULLSCAN;  

E.E. Utilizar CREATE STATISTICS con FULLSCAN y PERSIST_SAMPLE_PERCENTUsing CREATE STATISTICS with FULLSCAN and PERSIST_SAMPLE_PERCENT  

En el ejemplo siguiente se crean las estadísticas NamePurchase para todas las filas de las columnas BusinessEntityID y EmailPromotion de la tabla Person, y se establece un porcentaje de muestreo del 100 % para todas las actualizaciones siguientes en las que no se especifique un porcentaje de muestreo de forma explícita.The following example creates the NamePurchase statistics for all rows in the BusinessEntityID and EmailPromotion columns of the Person table and sets a 100 percent sampling percentage for all subsequent updates that do not explicitly specify a sampling percentage.  

CREATE STATISTICS NamePurchase  
    ON AdventureWorks2012.Person.Person (BusinessEntityID, EmailPromotion)  
    WITH FULLSCAN, PERSIST_SAMPLE_PERCENT = ON;  

Ejemplos en los que se usa la base de datos AdventureWorksDW.Examples using AdventureWorksDW database.

F.F. Crear estadísticas en dos columnasCreate statistics on two columns

En el ejemplo siguiente se crean estadísticas de CustomerStats1 basadas en las columnas CustomerKey y EmailAddress de la tabla DimCustomer.The following example creates the CustomerStats1 statistics, based on the CustomerKey and EmailAddress columns of the DimCustomer table. Las estadísticas se crean en función de un muestreo estadísticamente significativo de las filas de la tabla Customer.The statistics are created based on a statistically significant sampling of the rows in the Customer table.

CREATE STATISTICS CustomerStats1 ON DimCustomer (CustomerKey, EmailAddress);  

G.G. Crear estadísticas mediante un examen completoCreate statistics by using a full scan

En este ejemplo se crean las estadísticas de CustomerStatsFullScan, en función del examen de todas las filas de la tabla DimCustomer.The following example creates the CustomerStatsFullScan statistics, based on scanning all of the rows in the DimCustomer table.

CREATE STATISTICS CustomerStatsFullScan 
ON DimCustomer (CustomerKey, EmailAddress) WITH FULLSCAN;  

H.H. Crear las estadísticas especificando el porcentaje de muestreoCreate statistics by specifying the sample percentage

En este ejemplo se crean las estadísticas de CustomerStatsSampleScan, en función del examen del 50 % de las filas de la tabla DimCustomer.The following example creates the CustomerStatsSampleScan statistics, based on scanning 50 percent of the rows in the DimCustomer table.

CREATE STATISTICS CustomerStatsSampleScan 
ON DimCustomer (CustomerKey, EmailAddress) WITH SAMPLE 50 PERCENT;  

Consulte tambiénSee Also

Utilizar las estadísticas para mejorar el rendimiento de las consultas Statistics
UPDATE STATISTICS (Transact-SQL) UPDATE STATISTICS (Transact-SQL)
sp_updatestats (Transact-SQL) sp_updatestats (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL) DBCC SHOW_STATISTICS (Transact-SQL)
DROP STATISTICS (Transact-SQL) DROP STATISTICS (Transact-SQL)
sys.stats (Transact-SQL) sys.stats (Transact-SQL)
sys.stats_columns (Transact-SQL)sys.stats_columns (Transact-SQL)