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

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL Azure даAzure Synapse Analytics (хранилище данных SQL) даParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Создает статистику по оптимизации запроса для одного или нескольких столбцов таблицы, индексированного представления или внешней таблицы.Creates query optimization statistics on one or more columns of a table, an indexed view, or an external table. Для большинства запросов оптимизатор уже создает достаточно статистики для формирования высококачественного плана запроса, но в некоторых случаях для повышения производительности запросов нужно создать дополнительные статистические данные с помощью инструкции CREATE STATISTICS или изменить структуру запроса.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.

Дополнительные сведения см. в разделе Статистика.To learn more, see Statistics.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

-- 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 | = | <> | != | > | >= | !> | < | <= | !<  

АргументыArguments

statistics_namestatistics_name
Имя создаваемой статистики.Is the name of the statistics to create.

table_or_indexed_view_nametable_or_indexed_view_name
Имя таблицы, индексированного представления или внешней таблицы, для которого требуется создать статистику.Is the name of the table, indexed view, or external table on which to create the statistics. Чтобы создать статистику для другой базы данных, укажите полное имя таблицы.To create statistics on another database, specify a qualified table name.

column [ ,...n]column [ ,...n]
Один или несколько столбцов, которые будут включены в статистику.One or more columns to be included in the statistics. Столбцы должны быть указаны в порядке приоритета слева направо.The columns should be in priority order from left to right. Для создания гистограммы используется только первый столбец.Only the first column is used for creating the histogram. Для статистики корреляции между столбцами, называемой плотностью, используются все столбцы.All columns are used for cross-column correlation statistics called densities.

Можно указать любой столбец, который может указываться в качестве ключевого столбца индекса, за исключением следующих столбцов.You can specify any column that can be specified as an index key column with the following exceptions:

  • Нельзя указывать столбцы xml, полнотекстовые столбцы и столбцы FILESTREAM.Xml, full-text, and FILESTREAM columns cannot be specified.

  • Вычисляемые столбцы могут быть указаны только в том случае, если параметры ARITHABORT и QUOTED_IDENTIFIER базы данных имеют значение ON.Computed columns can be specified only if the ARITHABORT and QUOTED_IDENTIFIER database settings are ON.

  • Столбцы, имеющие определяемый пользователем тип данных CLR, могут быть указаны, если этот тип поддерживает двоичное упорядочение.CLR user-defined type columns can be specified if the type supports binary ordering. Вычисляемые столбцы, определенные как вызовы методов для столбца определяемого пользователем типа, могут быть указаны, если эти методы отмечены как детерминированные.Computed columns defined as method invocations of a user-defined type column can be specified if the methods are marked deterministic.

WHERE <filter_predicate> указывает выражение для выбора подмножества включаемых строк при создании объекта статистики.WHERE <filter_predicate> Specifies an expression for selecting a subset of rows to include when creating the statistics object. Статистика, создаваемая с предикатом фильтра, называется отфильтрованной.Statistics that are created with a filter predicate are called filtered statistics. Предикат фильтра использует простую логику сравнения и не может ссылаться на вычисляемый столбец, столбец определяемого пользователем типа, столбец типа пространственных данных или столбец типа 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. Сравнения с помощью литералов NULL с операторами сравнения недопустимы.Comparisons using NULL literals are not allowed with the comparison operators. Вместо этого используются операторы IS NULL и IS NOT NULL.Use the IS NULL and IS NOT NULL operators instead.

Далее приведено несколько примеров использования предикатов фильтра для таблицы 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

Дополнительные сведения о предикатах фильтра см. в статье Создание отфильтрованных индексов.For more information about filter predicates, see Create Filtered Indexes.

FULLSCANFULLSCAN
Вычисляет статистику путем сканирования всех строк.Compute statistics by scanning all rows. FULLSCAN и SAMPLE 100 PERCENT имеют одинаковые результаты.FULLSCAN and SAMPLE 100 PERCENT have the same results. FULLSCAN не может быть использован с параметром SAMPLE.FULLSCAN cannot be used with the SAMPLE option.

Если этот параметр опущен, SQL Server использует выборку для создания статистики и определяет размер выборки, необходимый для создания плана запроса высокого качества.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 }
Указывает приблизительное процентное соотношение или число строк в таблице или индексированном представлении для оптимизатора запросов, которые используются при создании статистики.Specifies the approximate percentage or number of rows in the table or indexed view for the query optimizer to use when it creates statistics. Аргумент number для параметра PERCENT может иметь значение от 0 до 100, а для параметра ROWS аргумент number может иметь значение от 0 до общего числа строк.For PERCENT, number can be from 0 through 100 and for ROWS, number can be from 0 to the total number of rows. Фактическое процентное соотношение или число строк, отбираемых оптимизатором запросов, может не совпадать с заданным значением.The actual percentage or number of rows the query optimizer samples might not match the percentage or number specified. Например, оптимизатор запросов просматривает все строки на странице данных.For example, the query optimizer scans all rows on a data page.

Команда SAMPLE полезна в особых случаях, в которых план запроса на основе выборки по умолчанию не является оптимальным.SAMPLE is useful for special cases in which the query plan, based on default sampling, is not optimal. В большинстве ситуаций нет необходимости указывать параметр SAMPLE, поскольку по умолчанию оптимизатор запросов применяет такие правила отбора, чтобы сформировать выборку статистически значимого размера, что необходимо для создания высококачественных планов запросов.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 нельзя использовать вместе с параметром FULLSCAN.SAMPLE cannot be used with the FULLSCAN option. Если не указана ни одна из команд SAMPLE или FULLSCAN, оптимизатор запросов использует выбранные данные и вычисляет размер выборки по умолчанию.When neither SAMPLE nor FULLSCAN is specified, the query optimizer uses sampled data and computes the sample size by default.

Не рекомендуется указывать значения 0 PERCENT и 0 ROWS.We recommend against specifying 0 PERCENT or 0 ROWS. Если для PERCENT или ROWS указано значение 0, объект статистики будет создан без статистических данных.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 }
Если установлено значение ON, статистика будет сохранять заданный процент выборки для последующих обновлений, где явно не указан процент выборки.When ON, the statistics will retain the creation sampling percentage for subsequent updates that do not explicitly specify a sampling percentage. Если установлено значение OFF, процент выборки будет сбрасываться на значение по умолчанию при последующих обновлениях, где явно не указан процент выборки.When OFF, statistics sampling percentage will get reset to default sampling in subsequent updates that do not explicitly specify a sampling percentage. Значение по умолчанию — OFF.The default is OFF.

Примечание

Если таблица усечена, вся статистика, построенная на усеченном HoBT, вернется к использованию процентного соотношения выборки по умолчанию.If the table is truncated, all statistics built on the truncated HoBT will revert to using the default sampling percentage.

Применимо к: SQL Server 2016 (13.x)SQL Server 2016 (13.x) (начиная с SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1 CU4) и выше (начиная с 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

Указано только в ознакомительных целях.Identified for informational purposes only. Не поддерживается.Not supported. Совместимость с будущими версиями не гарантируется.Future compatibility is not guaranteed.

NORECOMPUTENORECOMPUTE
Отключите автоматический параметр обновления статистики AUTO_STATISTICS_UPDATE для statistics_name.Disable the automatic statistics update option, AUTO_STATISTICS_UPDATE, for statistics_name. Если данный параметр определен, оптимизатор запросов завершит любое выполняемое обновление статистики для statistics_name и отключит будущие обновления.If this option is specified, the query optimizer will complete any in-progress statistics updates for statistics_name and disable future updates.

Чтобы вновь включить обновление статистики, удалите статистику с помощью инструкции DROP STATISTICS, а затем выполните инструкцию CREATE STATISTICS без параметра NORECOMPUTE.To re-enable statistics updates, remove the statistics with DROP STATISTICS and then run CREATE STATISTICS without the NORECOMPUTE option.

Предупреждение

Использование этого параметра может привести к созданию неоптимальных планов запросов.Using this option can produce suboptimal query plans. Рекомендуется ограничить использование этого параметра, причем использовать его надлежит только опытным системным администраторам.We recommend using this option sparingly, and then only by a qualified system administrator.

Дополнительные сведения о параметре AUTO_STATISTICS_UPDATE см. в разделе Параметры ALTER DATABASE SET (Transact-SQL).For more information about the AUTO_STATISTICS_UPDATE option, see ALTER DATABASE SET Options (Transact-SQL). Дополнительные сведения об отключении и повторном включении обновления статистики см. в разделе Статистика.For more information about disabling and re-enabling statistics updates, see Statistics.

INCREMENTAL = { ON | OFF }INCREMENTAL = { ON | OFF }
При значении ON статистики создаются как статистики отдельно по секциям.When ON, the statistics created are per partition statistics. При значении OFF статистика для всех секций комбинируется.When OFF, stats are combined for all partitions. Значение по умолчанию — OFF.The default is OFF.

Если статистики по секциям не поддерживаются, возвращается ошибка.If per partition statistics are not supported an error is generated. Добавочные статистики не поддерживаются для следующих типов статистических данных.Incremental stats are not supported for following statistics types:

  • Статистики, созданные с индексами, не выровненными по секциям для базовой таблицы.Statistics created with indexes that are not partition-aligned with the base table.
  • Статистики, созданные в доступных для чтения базах данных-получателях AlwaysOn.Statistics created on Always On readable secondary databases.
  • Статистики, созданные в базах данных, доступных только для чтения.Statistics created on read-only databases.
  • Статистики, созданные по фильтрованным индексам.Statistics created on filtered indexes.
  • Статистика, созданная по представлениям.Statistics created on views.
  • Статистики, созданные по внутренним таблицам.Statistics created on internal tables.
  • Статистики, созданные с пространственными индексами или XML-индексами.Statistics created with spatial indexes or XML indexes.

Область применения: SQL Server 2014 (12.x)SQL Server 2014 (12.x) и более поздних версий.Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later.

MAXDOP = max_degree_of_parallelismMAXDOP = max_degree_of_parallelism
Область применения: SQL ServerSQL Server (начиная с SQL Server 2016 (13.x)SQL Server 2016 (13.x) с пакетом обновления 2 (SP2) и SQL Server 2017 (14.x)SQL Server 2017 (14.x) с накопительным пакетом обновления 3 (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).

Переопределяет параметр конфигурации max degree of parallelism на время выполнения операции со статистикой.Overrides the max degree of parallelism configuration option for the duration of the statistic operation. Дополнительные сведения см. в разделе Настройка параметра конфигурации сервера max degree of parallelism.For more information, see Configure the max degree of parallelism Server Configuration Option. MAXDOP можно использовать для ограничения числа процессоров, используемых при параллельном выполнении планов.Use MAXDOP to limit the number of processors used in a parallel plan execution. Максимальное число процессоров — 64.The maximum is 64 processors.

Параметр max_degree_of_parallelism может иметь одно из следующих значений:max_degree_of_parallelism can be:

11
Подавляет формирование параллельных планов.Suppresses parallel plan generation.

>1>1
Ограничивает максимальное количество процессоров, используемых в параллельных операциях со статистиками, заданным или меньшим числом в зависимости от текущей рабочей нагрузки системы.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 (по умолчанию)0 (default)
В зависимости от текущей рабочей нагрузки системы использует реальное или меньшее число процессоров.Uses the actual number of processors or fewer based on the current system workload.

<update_stats_stream_option> Указано только в ознакомительных целях.Identified for informational purposes only. Не поддерживается.Not supported. Совместимость с будущими версиями не гарантируется.Future compatibility is not guaranteed.<update_stats_stream_option> Указано только в ознакомительных целях.Identified for informational purposes only. Не поддерживается.Not supported. Совместимость с будущими версиями не гарантируется.Future compatibility is not guaranteed.

РазрешенияPermissions

Требуются одно из указанных далее разрешений.Requires one of these permissions:

  • ALTER TABLEALTER TABLE
  • Пользователь является владельцем таблицыUser is the table owner
  • Членство в предопределенной роли базы данных db_securityadminMembership in the db_ddladmin fixed database role

Общие замечанияGeneral Remarks

SQL ServerSQL Server может использовать базу данных tempdb для сортировки выбранных строк до создания статистики.can use tempdb to sort the sampled rows before building statistics.

Статистика для внешних таблицStatistics for external tables

При создании статистики внешней таблицы SQL ServerSQL Server импортирует внешнюю таблицу во временную таблицу SQL ServerSQL Server, а затем создает статистику.When creating external table statistics, SQL ServerSQL Server imports the external table into a temporary SQL ServerSQL Server table, and then creates the statistics. Для примеров статистики импортируются только строки с выборкой.For samples statistics, only the sampled rows are imported. При наличии большой внешней таблицы выборка по умолчанию будет работать гораздо быстрее полной проверки.If you have a large external table, it will be much faster to use the default sampling instead of the full scan option.

Статистика с отфильтрованным условиемStatistics with a filtered condition

Отфильтрованная статистика может повысить производительность запросов, которые выполняют выборку из четко определенных подмножеств данных.Filtered statistics can improve query performance for queries that select from well-defined subsets of data. Отфильтрованная статистика использует предикат фильтра в предложении WHERE для выбора подмножества данных, включенных в статистику.Filtered statistics use a filter predicate in the WHERE clause to select the subset of data that is included in the statistics.

Условия использования инструкции CREATE STATISTICSWhen to Use CREATE STATISTICS

Дополнительные сведения об условиях использования CREATE STATISTICS см. в разделе Статистика.For more information about when to use CREATE STATISTICS, see Statistics.

Упоминаемые зависимости для отфильтрованной статистикиReferencing Dependencies for Filtered Statistics

Представление каталога sys.sql_expression_dependencies представляет каждый столбец в предикате отфильтрованной статистики как ссылаемую зависимость.The sys.sql_expression_dependencies catalog view tracks each column in the filtered statistics predicate as a referencing dependency. Обратите внимание на операции, которые выполняются на столбцах таблицы, созданной до создания отфильтрованной статистики, потому что определение столбца таблицы, указанного в предикате отфильтрованной статистики, невозможно удалить, переименовать или изменить.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.

ОграниченияLimitations and Restrictions

  • Обновление статистики во внешних таблицах не поддерживается.Updating statistics is not supported on external tables. Для обновления статистики во внешней таблице удалите и повторно создайте статистику.To update statistics on an external table, drop and re-create the statistics.
  • Каждый объект статистики может содержать до 64 столбцов.You can list up to 64 columns per statistics object.
  • Параметр MAXDOP несовместим с параметрами STATS_STREAM, ROWCOUNT и PAGECOUNT.The MAXDOP option is not compatible with STATS_STREAM, ROWCOUNT and PAGECOUNT options.
  • Параметр MAXDOP ограничивается параметром MAX_DOP группы рабочей нагрузки Resource Governor (если применимо).The MAXDOP option is limited by the Resource Governor workload group MAX_DOP setting, if used.

ПримерыExamples

В примерах используется база данных AdventureWorks.Examples use the AdventureWorks database.

A.A. Использование инструкции CREATE STATISTICS с аргументом «SAMPLE число PERCENT»Using CREATE STATISTICS with SAMPLE number PERCENT

В следующем примере создается статистика ContactMail1, использующая случайную 5-процентную выборку из столбцов BusinessEntityID и EmailPromotion таблицы Person базы данных 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. Использование инструкции CREATE STATISTICS с аргументами FULLSCAN и NORECOMPUTEUsing CREATE STATISTICS with FULLSCAN and NORECOMPUTE

В следующем примере создается статистика NamePurchase по всем строкам для столбцов BusinessEntityID и EmailPromotion таблицы Person, при этом автоматический перерасчет статистики блокируется.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. Создание отфильтрованной статистики с помощью инструкции CREATE STATISTICSUsing CREATE STATISTICS to create filtered statistics

В следующем примере создается отфильтрованная статистика ContactPromotion1.The following example creates the filtered statistics ContactPromotion1. Компонент Компонент Database EngineDatabase Engine просматривает 50 процентов данных, а затем выбирает все строки с EmailPromotion, равным 2.The Компонент Database EngineDatabase 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. Создание статистики для внешней таблицыCreate statistics on an external table

Помимо указания списка столбцов при создании статистики для внешней таблицы необходимо определить, следует ли создавать статистику с помощью выборки строк или путем сканирования всех строк.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.

Поскольку SQL ServerSQL Server импортирует данные из внешней таблицы во временную таблицу для создания статистики, полное сканирование займет больше времени.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. Для большой таблицы обычно достаточно выполнить выборку по умолчанию.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. Использование инструкции CREATE STATISTICS с аргументами FULLSCAN и PERSIST_SAMPLE_PERCENTUsing CREATE STATISTICS with FULLSCAN and PERSIST_SAMPLE_PERCENT  

В приведенном ниже примере создается статистика NamePurchase для всех строк в столбцах BusinessEntityID и EmailPromotion таблицы Person и задается 100-процентная выборка для всех последующих обновлений, которые неявно указывают процент выборки.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;  

В примерах используется база данных AdventureWorksDW.Examples using AdventureWorksDW database.

Е.F. Создание статистики по двум столбцамCreate statistics on two columns

В следующем примере создается статистика CustomerStats1 на основе столбцов CustomerKey и EmailAddress таблицы DimCustomer.The following example creates the CustomerStats1 statistics, based on the CustomerKey and EmailAddress columns of the DimCustomer table. Статистика создается на базе статистически значимой выборки строк в таблице 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. Создание статистики с помощью полной проверкиCreate statistics by using a full scan

В следующем примере создается статистика CustomerStatsFullScan на основе проверки всех строк в таблице 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. Создание статистики путем указания процента выборкиCreate statistics by specifying the sample percentage

В следующем примере создается статистика CustomerStatsSampleScan на основе проверки 50 % строк в таблице 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;  

См. также:See Also

Статистика 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)