Melhore o desempenho do desenvolvedor SQL no construtor de consultas

5

Eu uso o Oracle SQL Developer (versão 17.3.1.279) no Windows 10 de 64 bits.
Ele está conectado a um banco de dados Oracle na rede por meio do TNS.

Sempre que eu abro o "construtor de consultas" pela primeira vez para uma consulta, ou após algumas alterações no código SQL, é preciso muito tempo (30-60 s) para carregar.

Além disso, "insights de conclusão" aparecem bem devagar (3-4 s), então geralmente termino de digitar os nomes de tabelas e colunas antes deles aparecerem (a configuração é de 0.6 s para que eles apareçam).

Com base nos problemas acima, suspeito que o desenvolvedor do SQL sempre leia informações do banco de dados. Existe uma maneira de torná-lo armazenar informações localmente? (estrutura do banco de dados é bastante permanente, muda menos de uma vez por ano)

Já dei uma olhada no gerenciador de tarefas, e o que é estranho é que, mesmo que o desenvolvedor SQL não responda ao preparar o "construtor de consultas", ele não usa muitos recursos

Recursos usados pelo desenvolvedor do SQL durante a preparação da exibição:

  • 0-1,5% da minha CPU (pulando até 7% por alguns segundos)
  • 600 - 650 MB de RAM (eu tenho um total de 16 GB, dos quais 9 GB são gratuitos, então não acho que seria um gargalo).
  • 0 MB / s de disco e 0% de rede

No desempenho geral não é afetado isso

  • uso da CPU 10-30%
  • memória: 7-8 GB usada, 8-10 GB confirmada, 8-9 GB livre
  • uso do disco: 0-5%
por Máté Juhász 23.02.2018 / 12:20

1 resposta

2

Uma possível explicação é que o construtor de consultas precisa obter todos os tabelas de banco de dados e todas as informações da coluna antes de permitir acesso ao próprio criador de consultas e que todos esses dados são carregados é o que leva tempo. Para este problema eu só posso pensar na solução alternativa de usar um esquema de fonte de dados customizado onde apenas as informações da tabela requeridas está incluído, se isso for possível no seu caso.

Para sua pergunta sobre um cache local, aqui estão algumas referências, embora pareça que eles afetam apenas as consultas e seu problema pode estar com o carregamento dos metadados das tabelas:

Você também pode usar o comando Alter Table para alterar a residência do tabelas que você usa para Cache. Isso só é adequado se você tiver RAM suficiente para manter as tabelas na memória, onde elas serão lidas bit a bit e mantido quando acessado. Mas eu realmente não sei se os metadados das tabelas dos catálogos do sistema também é lido e mantido na memória.

Abaixo estão listadas outras dicas gerais que também podem ajudar:

  • Desative recursos não utilizados em Ferramentas / Recursos

  • Desativar extensões
    Em Preferências, desative todas as extensões desnecessárias, exceto talvez o SearchBar (precisa reiniciar o SQL Developer). Isso também limpará o menu principal dos itens não usados.

  • Defina a preferência 'Olhar e visualizar' para hospedar o sistema operacional Isso ajudará a farm-out a GUI para o host, em vez de desenhar tudo via Java. Outros parâmetros Java poderiam ser ajustados, mas isso é apenas para os aventureiros.

  • Fechar grades e arquivos quando terminar

  • Defina o limite de histórico do SQL como um valor baixo

  • Se estiver executando via Remote Desktop, ajuste as configurações gráficas

  • Otimize o scanner de vírus
    O SQL-Developer é um programa Java que consiste em grandes .jar archives, que são apenas .zip archives, então não adianta escanear todo o arquivo para apenas alguns arquivos. Você pode excluir a pasta SQL-Developer das verificações de vírus.

  • Executar o SQL-Developer como administrador

  • Se tudo mais falhar, existem Alternativas gratuitas para o Oracle SQL Developer .

por 26.02.2018 / 14:39