Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

A consulta do Oracle é lenta (ou falha) no aplicativo .NET, mas é rápida no SQL Developer


Não tinha nada a ver com o provedor ODP.NET. O problema era que a biblioteca que usamos para criar conexões para nós (que, claro, não é usada pelo Oracle SQL Developer, e que eu não usei quando tentei o provedor da Microsoft) estava sempre executando as seguintes instruções antes de fazer qualquer coisa:
ALTER SESSION SET NLS_COMP = LINGUISTIC
ALTER SESSION SET NLS_SORT = BINARY_CI

Isso faz com que o Oracle não faça distinção entre maiúsculas e minúsculas. Mas, eles também tornam todos os índices convencionais inúteis. Como estávamos consultando a partir de uma View, ela tinha ordenação embutida. E como não possuímos o banco de dados, não podemos tornar os índices linguísticos para corrigir o problema de desempenho.

Fornecer uma maneira de não executar essas instruções neste cenário (raro) corrigiu o problema.