¿En qué reglas utiliza SQL Server para determinar en qué columnas/columnas se creará el índice Phantom Clustered? [cerrado

StackOverflow https://stackoverflow.com/questions/6800864

Pregunta

La guía definitiva para ampliar SQL Server 2005:

Si crea un índice no agrupado y aún no tiene un índice agrupado, SQL Server crea un índice agrupado "fantasma" porque los índices no agrupados siempre apuntan a claves de índice agrupados.

  1. ¿En qué reglas utiliza SQL Server para determinar en qué columnas/columnas se creará el índice Phantom Clustered?

  2. Si está en la clave principal de esa tabla (suposición rápida), ¿qué reglas usa SQL Server para determinar en qué columna/columnas se creará el índice fantasma agrupado para una tabla sin claves primarias?

(Pregunta dirigida a cualquier versión de SQL Server 2005 y más allá)

¿Fue útil?

Solución

Cuando define una clave primaria, SSMS hará que, por defecto, hará que el índice agrupado. Pero si crea específicamente una tabla sin un índice agrupado, está creando una tabla de montón. SQL Server utiliza un valor interno para hacer referencia a filas, pero no es ninguna de sus columnas. Lo siguiente puede ayudar:

En una tabla de montón, ¿qué utiliza un índice no agrupado como puntero a una fila?

http://msdn.microsoft.com/en-us/library/aa964133%28v=sql.90%29.aspx

http://www.mssqltips.com/tip.asp?tip=1254

Otros consejos

La cita que está proporcionando es incorrecta. Es posible que desee leer un libro de alta calidad, como un libro de Kalen Delaney: http://www.sqlserverinternals.com/books.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top