Considera una query semplice come questa:
SELECT * FROM DATA
JOIN
(
SELECT * FROM DATA
)TEMPORARY_DATA
ON TEMPORARY_DATA.DATA_IDN = DATA.DATA_IDN
Qual è la performance di questo? È O(n2)
perché TEMPORARY_DATA
non ha indici rispetto alle normali tabelle. I join normali penso che avvenga in O(nlogn)
time perché è indicizzato giusto?
Questo cambia se la query interna è leggermente complessa e così diretta? Voglio dire è possibile l'ottimizzazione non è in grado di indovinare che non è la tabella DATI indicizzata!
Sono novizio di queste cose, per favore fatemi sapere se questo appartiene ad un altro posto sulla rete SO.