Estou depurando problemas de desempenho com meu banco de dados e vejo algumas entradas incomuns no log do banco de dados:
2021-04-21 01:07:33.857 UTC [14823] user@db LOG: duration: 933645.469 ms plan:
Query Text: select systemv0_.id as id1_11_0_, systemv0_.createdTs as createdT2_11_0_, systemv0_.systemType as syste3_11_0_, systemv0_.foundProblemsCount as foundPro4_11_0_, systemv0_.groupid as groupid8_11_0_,... (rest omitted for brevity)
O que são esses identificadores estranhos com números e sublinhados? Normalmente, um plano de execução tem nomes e identificadores claros, como systemview.id
.
Minha hipótese é que existem várias consultas simultâneas e os problemas de desempenho são devidos ao banco de dados tentando desesperadamente permanecer consistente sob condições de pouca memória. Percebi algumas coisas suspeitas em outras consultas - vários Recheck Cond
e Materialize
nós de árvore, que parecem estar acontecendo com frequência devido ao tamanho insuficiente de alguns buffers de banco de dados (causados por pouca memória do host?). Seria bom se alguém pudesse confirmar ou desmascarar minha teoria.
Esses não são os nomes das tabelas, mas os aliases. Você pode usá-los para tornar uma consulta mais legível:
Mas é claro que você também pode abusar de aliases para ofuscar e inflar uma consulta, como alguns mapeadores relacionais de objeto fazem.
"systemv0_" pode ser um nome de tabela (mas suspeito que isso seja improvável).
"systemv0_" pode ser um nome de correlação (ou "alias") para uma tabela real
select ... from table1 as systemv0_
(como em ).Esse tipo de "aliasing de aparência estranha" é muito comum com ferramentas de mapeamento de objeto relacional (ORM), que eu suspeito que seja o que gera essa consulta. Fique tranquilo, não há nada "desagradável" acontecendo dentro do seu banco de dados.
Claro, essa consulta parece estranha para você e para mim, mas, para o seu DBMS, não é diferente da consulta de estilo "selecionar * da tabela1" simples que escreveríamos à mão. (Não que você use "select *" no código do aplicativo, é claro).