¿Me interesa si existe la posibilidad de especificar una intercalación para una columna cuando se crea un índice que es diferente de la intercalación de esa columna? Y cuando se indexa, ¿se ordenan los datos de cadena de acuerdo con la intercalación de la columna o la intercalación de la base de datos?Intercalaciones en índices en SQL Server
Respuesta
No creo que puedas. Aunque COLLATE se documenta por separado, se le nota que sólo hay 3 lugares que figuran en los que puede ocurrir:
- crear o alterar una base de datos
- crear o alterar una columna de tabla
- Lanzamiento de la colación de una expresión
Tenga en cuenta que, por ejemplo, en CREATE TABLE:
<column_definition> ::=
column_name <data_type>
[ FILESTREAM ]
[ COLLATE collation_name ]
...
que la cláusula COLLATE se menciona explícitamente.
Considerando que, en CREATE INDEX:
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON <object> (column [ ASC | DESC ] [ ,...n ])
...
nota que todo lo que está permitido aquí es una columna - no es una definición de columna, ni una expresión.
creo que la intercalación de cada columna dentro de un índice sigue la intercalación de la columna subyacente (s) en la tabla apropiada. La intercalación de la base de datos no se utiliza para mucho, que yo sepa, aparte de proporcionar una intercalación predeterminada a las columnas durante las instrucciones CREATE/ALTER table.
Puede crear el campo calculado con la intercalación necesaria y crear el índice en este campo.
Intente hacer una vista indizada y agregue la intercalación a la columna en la instrucción de selección.
Creo que el rendimiento de esto sería horrible, http://dev.mysql.com/doc/refman/5.0/en/view-restrictions.html, http://www.percona.com/blog/2007/08/12/mysql-view-as-performance-troublemaker /, al derrotar el punto de los índices en primer lugar ..... – Pacerier
@Pacerier me doy cuenta de que esto es antiguo, pero quería señalar que se ha vinculado a la información sobre la plataforma equivocada. En 2014, SQL Server tuvo vistas más avanzadas con un mejor potencial de rendimiento que las descritas en ese documento MySQL. – Daniel
- 1. Índices agrupados SQL Server
- 2. Ordenar una columna con diferentes intercalaciones en SQL Server
- 3. ¿Dinámicamente nombrar índices en SQL Server 2005?
- 4. SQL Server no agrupado diseño de índices
- 5. SQL Server Tabla de sinónimos con índices
- 6. sql server: crear índices en claves externas donde sea necesario
- 7. Cómo administrar varios índices superpuestos en SQL Server 2005
- 8. Cómo script de índices, claves, claves externas en SQL Server
- 9. Índices de SQL Server: ¿qué columnas incluir en el índice?
- 10. Índices alineados por partición en SQL Server 2008
- 11. Optimizar Eliminar en SQL Server
- 12. Índices de SQL Server: ascendente o descendente, ¿qué diferencia hace?
- 13. sql server delete ralentizado drásticamente por los índices
- 14. SQL Server DELETE es más lento con los índices
- 15. SQL en SQL Server
- 16. SQL Server 2005 - ¿Con qué frecuencia debe reconstruir los índices?
- 17. Hacer una unión en dos bases de datos con diferentes intercalaciones en SQL Server y obtener un error
- 18. Optimizar ROW_NUMBER() en SQL Server
- 19. Índices SQL Server 2008 - ganancia de rendimiento en consultas frente a pérdida en INSERT/UPDATE
- 20. ¿Los índices se chupan en SQL?
- 21. Generar instrucciones CREATE INDEX en SQL Server
- 22. UNIX_TIMESTAMP en SQL Server
- 23. ¿Redondeo en SQL Server?
- 24. Mejor uso de índices en tablas temporales en T-SQL
- 25. Cómo copiar índices de una tabla a otra en SQL Server
- 26. ¿Qué son los índices de cobertura y las consultas cubiertas en SQL Server?
- 27. ¿Cómo se relaciona la palabra clave `primary key` con los índices agrupados en SQL Server?
- 28. para mantener un índice - Analizar stastics uso de índices en SQL Server 2008
- 29. Cómo importar tablas sin perder índices y claves en SQL Server 2008
- 30. ¿Con qué frecuencia deberían reconstruirse los índices en nuestra base de datos SQL Server?
Eso requiere doble almacenamiento ..... – Pacerier
@Pacerier Si estoy leyendo los documentos correctamente, no necesita usar 'PERSISTED' para crear un índice en una columna calculada. – binki