Colección de citas famosas - Diccionario de frases chinas - ¿Cómo crea sqlserver un índice?

¿Cómo crea sqlserver un índice?

¿Qué es un índice?

Tome la página de índice (índice) del "Diccionario chino" como ejemplo: al igual que los caracteres chinos en el "Diccionario chino" se almacenan por páginas, los registros de datos en SQL Server También se almacenan por páginas. La capacidad de cada página es generalmente de 4K. Para acelerar la búsqueda, los diccionarios de palabras chinas generalmente tienen un directorio (índice) ordenado por pinyin, trazos, radicales, etc. Podemos optar por buscar por pinyin o trazos para encontrar rápidamente el carácter (palabra) que necesitamos.

Del mismo modo, SQL Server permite a los usuarios crear índices en tablas y especificar la clasificación previa por columnas, lo que mejora enormemente la velocidad de las consultas.

Los datos en SQL Server también se almacenan en páginas (4KB).

Índice: Es el método interno de SQL Server para organizar los datos. Proporciona a SQL Server una forma de organizar los datos de la consulta.

Página de índice: la página de datos que almacena índices en la base de datos; la página de índice es similar a la página de directorio ordenada por pinyin o trazos en el diccionario chino.

La función del índice: al utilizar el índice, la velocidad de recuperación de la base de datos se puede mejorar enormemente y el rendimiento de la base de datos se puede mejorar.

Tipo de índice

Índice único: Un índice único no permite que dos filas tengan el mismo valor de índice.

Índice de clave principal: la definición de una clave principal para una tabla creará automáticamente un índice de clave principal, que es un tipo especial de índice único. Los índices de clave principal requieren que cada valor de la clave principal sea único y no pueda estar vacío.

Índice agrupado: el orden físico de las filas de la tabla es el mismo que el orden lógico (índice) de los valores clave, y solo puede haber uno por tabla.

Índice no agrupado: Un índice no agrupado especifica el orden lógico de las tablas. Los datos se almacenan en una ubicación y el índice se almacena en otra ubicación. El índice contiene un puntero a la ubicación donde se almacenan los datos. Puede haber varios, menos de 249.

Tipo de índice: tomando nuevamente el diccionario chino como ejemplo, espero que pueda comprender los conceptos de índice agrupado e índice no agrupado.

Índice único:

El índice único no permite que dos filas tengan el mismo valor de índice.

La mayoría de las bases de datos no permiten que los índices únicos recién creados se guarden con la tabla si hay valores clave duplicados en los datos existentes. La base de datos también se niega a aceptar datos nuevos cuando duplicarían valores clave en la tabla. Por ejemplo, si se crea un índice único en la columna de identificación del estudiante en la tabla stuInfo, no se podrá duplicar ningún número de identificación del estudiante.

Consejo: Se ha creado una restricción única y se creará automáticamente un índice único. Aunque los índices únicos son útiles para encontrar información, para obtener un mejor rendimiento, se recomienda utilizar restricciones de clave primaria o restricciones únicas.

Índice de clave principal:

La definición de una clave principal para una tabla en un diagrama de base de datos creará automáticamente un índice de clave principal, que es un tipo especial de índice único. Los índices de clave principal requieren que cada valor de la clave principal sea único. También permite un acceso rápido a los datos cuando se utilizan índices de clave primaria en consultas.

Índice agrupado

En un índice agrupado, el orden físico de las filas de la tabla es el mismo que el orden lógico (índice) de los valores clave. Una tabla sólo puede contener un índice agrupado. Por ejemplo, de forma predeterminada, el diccionario de palabras chino organiza los números de página de cada página del diccionario en orden pinyin. Las letras pinyin A, B, C, D... X, Y, Z son el orden lógico del índice, mientras que los números de página 1, 2, 3... son el orden físico. De forma predeterminada, para los diccionarios ordenados por Pinyin, el orden del índice y el orden lógico son los mismos. Es decir, los caracteres (palabras) con orden pinyin más bajo tienen números de página más grandes. Por ejemplo, el número de página del carácter (palabra) correspondiente al pinyin "ha" está detrás del número de página del carácter (palabra) correspondiente al pinyin "ba".

Índice no agrupado

Si no es un índice agrupado, el orden físico de las filas de la tabla no coincide con el orden lógico de los valores clave. Los índices agrupados proporcionan un acceso a los datos más rápido que los índices no agrupados. Por ejemplo, el índice ordenado por trazos es un índice no agrupado y el número de página de un carácter (palabra) dibujado con "1" puede ser mayor (menor) que el número de página de un carácter (palabra) dibujado con "3 ".

Consejo: En SQL Server, una tabla solo puede crear 1 índice agrupado y varios índices no agrupados. Establezca una columna como clave principal, que es un índice agrupado de forma predeterminada.

Cómo crear un índice

La sintaxis para crear un índice usando sentencias T-SQL:

Crear [único][agrupado|no agrupado]< /p >

Nombre del índice del índice

En el nombre de la tabla (nombre de la columna...)

[Factor de relleno = x]

Q UNIQUE representa un índice único. Esto es opcional.

qclustered y no clustered significa índice agrupado o índice no agrupado, opcional.

Q FILLFACTOR indica el factor de relleno y especifica un valor entre 0 y 100 que indica el porcentaje de espacio que llena la página de índice.

Cree un índice en la columna de examen escrito de la tabla stuMarks:

Usar stuDB

Ir

Si existe (seleccione el nombre de sysindexes

Donde nombre = 'IX_writeExam')

Eliminar la marca de índice. IX_escritoExam

/*-Crea un índice no agrupado para la columna escrita: el factor de relleno es 30%-*/

Crea un índice no agrupado IX_escritoExam

Acerca de stuMarks (examen escrito)

Factor de relleno = 30

Ir

/*-Especificar consulta por índice IX_Examen escrito-*/

SELECT * FROM stu marks(INDEX = IX _ examen escrito)

Escribe un ejemplo entre 60 y 90

Aunque podemos especificar el índice en función del cual SQL Server consulta los datos, Por lo general, no es necesario especificarlo manualmente. SQL Server optimizará automáticamente la consulta según el índice que creamos.

Pros y contras de Index

Ventajas

–Acceso rápido.

–Mejora la unicidad de las filas.

Desventajas

–Las tablas de índice requieren más espacio de almacenamiento en la base de datos.

–Los comandos que manipulan datos tardan más en procesarse porque requieren actualizar el índice.

Pautas para crear índices

Seleccione las columnas para indexar según los siguientes criterios.

–Esta columna se utiliza para búsquedas frecuentes.

–Esta columna se utiliza para ordenar los datos.

No cree un índice utilizando las siguientes columnas:

–La columna contiene solo unos pocos valores distintos.

–La tabla contiene sólo unas pocas filas. Es posible que la creación de índices para tablas pequeñas no sea rentable porque SQL Server tarda más en buscar datos en el índice que fila por fila en la tabla.