Sobes.tech
Senior

Quale indice composito creeresti?

sobes.tech AI

Risposta dell'AI

Durante la creazione di un indice composto per le condizioni WHERE A=a AND B=b e WHERE B=b AND A=a, è importante considerare l'ordine delle colonne nell'indice e la frequenza di filtraggio.

Se le query usano sempre entrambe le condizioni insieme, un indice su (A, B) o (B, A) funzionerà, ma l'efficienza dipende da quale colonna è più selettiva (cioè filtra più dati).

  • Se A è più selettiva, è meglio un indice (A, B).
  • Se B è più selettiva, è meglio (B, A).

È anche importante considerare che un indice (A, B) è efficace per le query con filtro su A o su A e B, ma non solo su B.

Se le query variano nell'ordine delle condizioni e a volte riguardano solo un campo, si può considerare di creare due indici separati o usare un indice coprente con colonne incluse.

Esempio di creazione di indice in SQL:

CREATE INDEX idx_a_b ON table_name (A, B);