Pelo que entendi,
Derived Queries -> Consulta criadas através do código Java.
JPQL -> Query criada através de uma estrutura SQL mas com os nomes da Entidade do Java.
Native Query -> Consulta SQL.
Qual a mais performática ?
Pelo que entendi,
Derived Queries -> Consulta criadas através do código Java.
JPQL -> Query criada através de uma estrutura SQL mas com os nomes da Entidade do Java.
Native Query -> Consulta SQL.
Qual a mais performática ?
Na maioria dos casos a mais performática é a query nativa.
Native Query - podem fazer uso de recursos específicos do banco de dados, não passam por nenhuma conversão para serem geradas. As desvantagens são: está diretamente ligada a um banco especifico (é necessário refaze-la em caso de uma mudança de banco) e fugir bastante do paradigma orientado a objetos;
JPQL - é uma das tentativas mais aceitas de acesso a banco usando orientação a objetos (não é perfeita), e o código gerado em jpql roda em diversos bancos sem alteração. Desvantagem: por ter uma camada de abstração, em algum momento o código jpql tem que ser transformado e código nativo, isso gera uma performance menor;
Derived Queries - é um recurso sensacional que veio com o spring data, mas também passa pela fase de transformação em query nativa.