Várias empresas, estruturas e bibliotecas criaram funcionalidades semelhantes a bancos de dados relacionais para atender a vários objetivos: integração de linguagem mais rígida (R, pandas, linq), aplicativos de dados de nicho (solr, software de mapeamento), máquinas de escalonamento ou memórias (hadoop, datomic, memcached) , etc. O principal poder do SQL é permitir que você descreva o que deseja, permitindo que a máquina escolha como obtê-lo.
O processo geral usado pela Oracle é o seguinte:
Consulta -> Analisar Árvore -> Gerar conjunto de planos -> Pontuação de cada plano -> Escolha um plano -> Execução -> Saída
Um caminho alternativo é gerar um plano de execução usando heurísticas – uma abordagem mais fácil e a escolha óbvia para muitos aplicativos.
http://garysieling.com/blog/sql-execution-plans-in-javascript