Gostaria de saber qual a diferença de performance entre o Embedded Sql e o TCQuery e qual é a recomendação da TOTVS em relação a uso das duas formas?
Atenciosamente.
Gostaria de saber qual a diferença de performance entre o Embedded Sql e o TCQuery e qual é a recomendação da TOTVS em relação a uso das duas formas?
Atenciosamente.
Olá,
O Embedded SQL
permite a criação da query de forma mais amigável, facilitando a leitura da mesma no fonte, além disso, ele já tem facilitadores para a filial, tabela, ChangeQuery
, além de um cache interno para evitar o ChangeQuery
em certas situações.
Já o TCQuery
é um xcommand
, presente em um dos includes padrões do Protheus, ele vai gerar a query de forma simples, via DbUseArea
e TCGenQry
, sem qualquer tratamento de dados, ChangeQuery
etc.
Entre os dois, o recomendado seria a utilização do Embedded SQL
.
Porém conforme a evolução do produto, hoje a maneira mais segura e recomendada é via a classe FWExecStatement
, que já possui métodos que evitam o SQL Injection.
Documentações:
FWExecStatement - Frameworksp - TDN
Embedded SQL - Frameworksp - TDN
ChangeQuery - Frameworksp - TDN
DBUseArea - TOTVSTEC - TDN
TCGenQry - TOTVSTEC - TDN