lokoder escreveu:
> Os materiais que consultei mostram um compilador de consulta e um compilador
> DML na arquitetura do SGBD.
> O compilador de consulta entraria em cena quando fazemos uma consulta
> ad-hoc, usando o terminal, por exemplo, e o compilador DML quando embutimos
> um comando SQL de consulta num software.
> 
Acho que você confundiu as coisas. No PostgreSQL (vide [1]), temos dois
módulos: DML (execução de consultas tais como SELECT, UPDATE e DELETE) e DDL +
outros (consultas tais como CREATE TABLE, GRANT e TRUNCATE).

> A minha dúvida é: por que dois compiladores pra 'mesma coisa'?
> 
Porque simplesmente o primeiro módulo (DML) precisa montar um plano de
execução e o segundo módulo *não*.

> Claro que elas chegarão ao SGBD por diferentes modos, mas estando lá dentro,
> não significam a mesma coisa, a nível de compilação/otimização?
> 
Errado. Elas chegam pelo mesmo modo; e, após passar pelo _parser_ elas vão
para um caminho ou para outro (slide 18 em [1]).


[1] http://www.timbira.com/presentations/pgday_df_2009/perf_pg.pdf


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a