En mi mesa tengo dos columnas estrechamente relacionados A y B. ¿Qué consideraciones debo posible hechas para decidir si se debe crear:¿Debo definir el índice (A) y el índice (B), o el índice (A, B) o ambos?
- índice (A) y el índice (B),
- índice (A, B),
- ambos de los anteriores?
¿Cómo este cambio si:
- uso sólo consultas como
where A = 5 and B = 10
(y nunca comowhere A = 5
), - también utilizar consultas como
where A > 3 and A < 10 and B > 12 and B < 20
, - a menudo utilizan
order by (A, B)
, - a menudo usa
group by (A, B)
?
Nota: intencionalmente no he proporcionado más detalles sobre mi caso particular, ya que quiero una respuesta general que también sirva para otros. Yo uso mysql, pero si das una respuesta más general que cubre SQL en general, sería genial.
tenga en cuenta que he leído [esta pregunta] (http://stackoverflow.com/questions/2291193/mysql-difference-between-add-indexa-add-indexb-and-add-ind) pero doesn ' cubrir toda mi pregunta – TMS
Use EXPLAIN tanto como pueda en sus consultas, y experimente con varias configuraciones de índice. ¡Eso debería ser bastante instructivo! – SirDarius