Qual é a consulta mais rápida no PostgreSQL, que posso usar como validaçãoQuery vinculando um recurso JNDI?
Achei que SELECT 1
é o mais simples, mas neste documento é dito que no PostgreSQL devemos usar select version()
. Isso não é óbvio para mim.
Eu tentei comparar EXPLAIN ANALYZE SELECT 1
e EXPLAIN ANALYZE SELECT version()
ainda não consigo ver por que o segundo é (ou deveria ser) mais rápido.
Isso é obviamente um absurdo.
SELECT 1
é mais rápido (mesmo que apenas um pouquinho).version()
também retorna alguns bytes de texto, no meu caso:Portanto, você também obtém algumas E/S adicionais.
pgAdmin, por exemplo, usa
SELECT 1
como consulta de validação.O JIRA analisa a versão do banco de dados ao se conectar para descobrir como deve lidar com o escape de strings , algo que mudou em versões posteriores do banco de dados. Essa é a principal razão pela qual eu sei que eles usam a verificação de versão mais longa e lenta em vez de um SELECT mais simples. Pode haver outro código especÃfico da versão lá também.