¿Cómo se ejecuta una unión en dos tablas grandes en una empresa como Facebook o Google?

Explicaré de la manera más rudimentaria: las bases de datos reales pueden tener detalles mucho más complicados.

Una tabla de base de datos es esencialmente una matriz lineal de registros, algo así como una matriz de estructura en terminología C.

Cada índice de una tabla es un árbol binario equilibrado que apunta al índice de matriz de un registro para que cualquier búsqueda de un registro se realice en tiempo logarítmico.

Cuando se realiza una unión interna en campos indexados, las dos tablas se caminan juntas y los campos de ambos se recuperan como uno.
La complejidad temporal de una unión indexada es casi proporcional linealmente al número de registros.

Si se realiza una unión en campos no indexados, el número de búsquedas se vuelve exponencialmente grande ya que las tablas deben buscarse linealmente sin un árbol B. La complejidad temporal de tales uniones se vuelve proporcional al cuadrado del número de registros.