AJUDA COM QUERY
Pessoal boa tarde,
Tenho uma duvida com SQL.
Estou com uma view chata aqui com a performance causando desespero no cliente.
Mais ou menos dessa forma esta minha query:
Select * from View Where Campo1 in ( 6 ) AND
campo3
IN (SELECT Campo4
FROM Tabela WHERE Codigo = 92031 AND data = to_date([ô]20120201[ô],[ô]YYYYMMDD[ô]) )
AND Outradata = TO_DATE([ô]20120210[ô],[ô]YYYYMMDD[ô])
Minha duvida como conseguiria que o SQL na mesma query executa-se essa parte do codigo
{
Select * from View Where Campo1 in ( 6 ) AND
campo3
IN (SELECT Campo4
FROM Tabela WHERE Codigo = 92031 AND data = to_date([ô]20120201[ô],[ô]YYYYMMDD[ô]) )
}
e depois com o resultado da query em cima essa parte.
{
AND Outradata = TO_DATE([ô]20120210[ô],[ô]YYYYMMDD[ô])
}
essa ultima data(Outradata) que causa a lentidão.
Lembrando não posso alterar nenhuma definição de base de dados Ãndices,join nada dentro da view ou em tabelas.
Tenho uma duvida com SQL.
Estou com uma view chata aqui com a performance causando desespero no cliente.
Mais ou menos dessa forma esta minha query:
Select * from View Where Campo1 in ( 6 ) AND
campo3
IN (SELECT Campo4
FROM Tabela WHERE Codigo = 92031 AND data = to_date([ô]20120201[ô],[ô]YYYYMMDD[ô]) )
AND Outradata = TO_DATE([ô]20120210[ô],[ô]YYYYMMDD[ô])
Minha duvida como conseguiria que o SQL na mesma query executa-se essa parte do codigo
{
Select * from View Where Campo1 in ( 6 ) AND
campo3
IN (SELECT Campo4
FROM Tabela WHERE Codigo = 92031 AND data = to_date([ô]20120201[ô],[ô]YYYYMMDD[ô]) )
}
e depois com o resultado da query em cima essa parte.
{
AND Outradata = TO_DATE([ô]20120210[ô],[ô]YYYYMMDD[ô])
}
essa ultima data(Outradata) que causa a lentidão.
Lembrando não posso alterar nenhuma definição de base de dados Ãndices,join nada dentro da view ou em tabelas.
você pode criar uma tabela temporária mas não sei se isso vai ajudar.
Select * #tmpView from View Where Campo1 in ( 6 ) AND
campo3
IN (SELECT Campo4
FROM Tabela WHERE Codigo = 92031 AND data = to_date([ô]20120201[ô],[ô]YYYYMMDD[ô]) )
e depois com o resultado da query em cima essa parte.
select * from #tmpView where Outradata = TO_DATE([ô]20120210[ô],[ô]YYYYMMDD[ô])
JWCELYO valeu,
Esqueci de colocar outra coisa, o banco desse cliente é ORACLE eu mesmo conheço pouco, mais acho que isso não funciona [Ô]#tmpView[Ô].
Vou pesquisar como criar uma temporária, mais a ideia é boa!
Esqueci de colocar outra coisa, o banco desse cliente é ORACLE eu mesmo conheço pouco, mais acho que isso não funciona [Ô]#tmpView[Ô].
Vou pesquisar como criar uma temporária, mais a ideia é boa!
Tópico encerrado , respostas não são mais permitidas