2008-09-25 8 views
5

Una tabla en mi área de responsabilidad de nuestro producto ha sido criticada por tener más de un índice ortogonal.¿Qué es un índice ortogonal?

¿Qué es un índice ortogonal?
¿Por qué es malo?
¿Cómo se puede evitar la situación?

--Update--
El motor de base de datos back-end no es necesariamente relevante aquí ya que nuestra aplicación es independiente de la base de datos. Pero si ayuda, Oracle es una posibilidad.

La tabla en cuestión no se utiliza para el análisis financiero.

+0

Sospecho que puedo encontrar la respuesta a la primera pregunta, pero creo que la gente necesita un poco más de detalle para responder a las dos últimas. Por ejemplo, ¿qué motor de base de datos? Los detalles son realmente útiles para solicitar respuestas buenas y útiles. –

+0

¿Se están usando estos datos para el análisis de inversiones como la simulación Monte Carlo? – wcm

+0

Sabes que supongo que esta es una pregunta tonta, pero ¿por qué no preguntarle al "crítico" qué quieren decir cuando dicen "índice ortogonal"? Es posible que no estén usando el término correcto o que signifiquen algo totalmente diferente de lo que cualquiera esté familiarizado. –

Respuesta

0

Othogonal simplemente significa independiente, es decir, no relacionado con la preocupación principal.

0

Creo que he escuchado el término 'índice ortogonal' en dos ocasiones distintas, pero no tengo más conocimiento si ese es un término reconocido. En ambas ocasiones, que se referían a un índice que no iba a ser utilizado por el optimizador de consultas, ya que:

  • en una ocasión, se indexa una columna completamente irrelevante, nunca utilizado como criterio de búsqueda o columna de ordenación ; el término me pareció "extravagante", pero no objeté :)

  • en la otra ocasión, era un índice de dos columnas, pero el orden de las columnas en el campo era el inverso al necesario .

no tengo absolutamente ni idea de si esto es relevante a su pregunta :)

3

ortogonal significa independientes entre sí.

No tengo idea de por qué sería malo. De hecho, generalmente uso índices secundarios (además de la clave primaria de autoincrement 'id') cuando hay una consulta común que no tiene nada que ver con la primaria.

0

Podría estar respondiendo mi propia pregunta aquí, pero siéntase libre de hablar con sus propios pensamientos.

La respuesta de Javier (+1) me llevó a pensar que tal vez el punto aquí es que tener más de un índice único podría ser malo si los elementos en ese índice no están relacionados.

En otras palabras, está aumentando las posibilidades de que los datos reales sean imposibles de almacenar debido a una restricción de exclusividad de los índices secundarios. También podría introducir restricciones artificiales sobre los datos que no necesariamente deberían estar allí.

Cuestiones relacionadas