Compartir a través de


Creación de estadísticas

Se aplica a: SQL Server 2022 (16.x) Azure SQL Database Azure SQL Managed Instance Base de datos de Azure SQL de Microsoft Fabric

Puede crear estadísticas de optimización de consultas en una o más columnas de una tabla o vista indexada en SQL Server mediante SQL Server Management Studio o Transact-SQL. Para la mayoría de las consultas, el optimizador de consultas ya genera las estadísticas necesarias para un plan de consulta de alta calidad; en algunos casos, para obtener los mejores resultados es necesario crear estadísticas adicionales.

Limitaciones y restricciones

Antes de crear estadísticas con la instrucción CREATE STATISTICS, compruebe que la opción AUTO_CREATE_STATISTICS está establecida en la base de datos. De este modo se asegurará de que el optimizador de consultas continúe creando rutinariamente estadísticas de una sola columna para las columnas del predicado de la consulta.

Puede mostrar hasta 32 columnas por objeto de estadísticas.

No se puede quitar, modificar ni cambiar la definición de una columna de la tabla que se define en un predicado de estadísticas filtrado.

Permisos

Requiere que el usuario sea el propietario de la tabla o vista indexada o un miembro de uno de los roles siguientes: rol fijo de servidor sysadmin , rol fijo de base de datos db_owner o rol fijo de base de datos db_ddladmin .

Uso de SQL Server Management Studio

  1. En el Explorador de objetos, seleccione el signo más para expandir la base de datos en la que desea crear una nueva estadística.

  2. Selecciona el signo más para expandir la carpeta Tablas.

  3. Seleccione el signo más para expandir la tabla en la que desea crear una nueva estadística.

  4. Haga clic con el botón derecho en la carpeta Estadísticas y, después, seleccione Nueva estadística....

    Las siguientes propiedades se muestran en la página General del cuadro de diálogo Nuevas estadísticas de la tabla table_name.

    Propiedad Descripción
    Nombre de tabla Muestra el nombre de la tabla descrita por las estadísticas.
    Nombre de las estadísticas Muestra el nombre del objeto de base de datos donde se almacenan las estadísticas.
    Columnas de estadísticas Esta cuadrícula muestra las columnas descritas por este conjunto de estadísticas. Todos los valores de la cuadrícula son de solo lectura.
    Nombre Muestra el nombre de la columna descrita por las estadísticas. Puede ser una sola columna o una combinación de columnas de una sola tabla.
    Tipo de datos Indica el tipo de datos de las columnas descritas por las estadísticas.
    Tamaño Muestra el tamaño del tipo de datos de cada columna.
    Identidad Cuando se activa, indica una columna de identidad.
    Permitir valores NULL Indica si la columna acepta valores NULL.
    Add (Agregar) Agregue más columnas de la tabla a la cuadrícula de estadísticas.
    Remove Quita la columna seleccionada de la cuadrícula de estadísticas.
    Subir Desplaza la columna seleccionada a una ubicación anterior de la cuadrícula de estadísticas. La ubicación en la cuadrícula puede afectar considerablemente a la utilidad de las estadísticas.
    Bajar Desplaza la columna seleccionada a una ubicación posterior de la cuadrícula de estadísticas.
    Las estadísticas de estas columnas se actualizaron por última vez Indica la antigüedad de las estadísticas. Las estadísticas actuales tienen mayor valor. Actualice las estadísticas después de realizar grandes cambios en los datos o después de agregar datos atípicos. Las estadísticas de las tablas que tienen una distribución coherente de datos deben actualizarse con menor frecuencia.
    Actualizar estadísticas de estas columnas Comprueba la actualización de las estadísticas cuando se cierra el cuadro de diálogo.

    La siguiente propiedad se muestra en la página Filtro del cuadro de diálogo Nuevas estadísticas de la tabla table_name.

    Propiedad Descripción
    Expresión de filtro Define qué filas de datos se incluyen en las estadísticas filtradas. Por ejemplo: Production.ProductSubcategoryID IN ( 1, 2, 3 )
  5. En el cuadro de diálogo Nuevas estadísticas de la tabla table_name, en la página General, seleccione Agregar.

    Las propiedades siguientes se muestran en el cuadro de diálogo Seleccionar columnas . Esta información es de solo lectura.

    Propiedad Descripción
    Nombre Muestra el nombre de la columna descrita por las estadísticas. Puede ser una sola columna o una combinación de columnas de una sola tabla.
    Tipo de datos Indica el tipo de datos de las columnas descritas por las estadísticas.
    Tamaño Muestra el tamaño del tipo de datos de cada columna.
    Identidad Cuando se activa, indica una columna de identidad.
    Permitir valores NULL Indica si la columna acepta valores NULL.
  6. En el cuadro de diálogo Seleccionar columnas, active la casilla o casillas de cada columna para la que desee crear una estadística y seleccione Aceptar.

  7. En el cuadro de diálogo New Statistics on Table table_name (Nuevas estadísticas de la tabla table_name ), seleccione Aceptar.

Uso de Transact-SQL

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar.

    USE AdventureWorks2022;
    GO
    -- Create new statistic object called ContactMail1
    -- on the BusinessEntityID and EmailPromotion columns in the Person.Person table.
    
    CREATE STATISTICS ContactMail1
        ON Person.Person (BusinessEntityID, EmailPromotion);
    GO
    
  4. La estadística creada anteriormente puede mejorar los resultados de la consulta siguiente.

    USE AdventureWorks2022;
    GO
    SELECT LastName, FirstName
    FROM Person.Person
    WHERE EmailPromotion = 2
    ORDER BY LastName, FirstName;
    GO
    

Pasos siguientes