Re: [oracle_br] Re: Performance no Oracle com SQL ANSI

2007-11-22 Por tôpico Andre Santos
Mestre Chiappa

Eu não tenho acesso ao Metalink... mas no trecho que você transcreveu (pode
ter passado algo despercebido para mim) está:
   This issue is fixed in
* 10.2.0.4 (Server Patch Set)
* 11g (Future version)

Ou seja, "Este problema está corrigido em"... e ainda cita a versão 11g como
"futura" (dando a idéia que essa nota era antiga). Por isso é que conclui
que já havia sido corrigida.

Porém como você disse que o patch 10.2.0.4 ainda não foi lançado --- e sei
que você não costuma falar sem fundamento  ;^)  --- pesquisei um pouco pelo
Google e vi que realmente este a liberação deste patch estava prevista para
o final de 2007 ou início de 2008.

Obrigado pelo esclarecimento !!!

[ ]

André


Em 21/11/07, jlchiappa <[EMAIL PROTECTED]> escreveu:

>   A frase é "PROVAVELMENTE ESTARÃO CORRIGIDOS", e não "estão", pois como
> a nota mesmo diz o patch 10.2.0.4 é futuro ainda, não existe ainda...
>
> []s
>
> Chiappa
>
> --- Em oracle_br@yahoogrupos.com.br ,
> "Andre Santos"
> <[EMAIL PROTECTED]> escreveu
> >
> > Chiappa
> >
> > Muito obrigado pela informação! É sempre bom ter em mente que,
> dependendo da
> > versão/release, podem haver bugs.
> >
> > Mas, esses específicos que você citou, estão corrigidos a partir da
> versão
> > 10.2.0.4, certo? (pelo menos, foi o que a nota menciona).
> >
> > Valeu!
> >
> > [ ]
> >
> > André
> >
> >
> > Em 21/11/07, jlchiappa <[EMAIL PROTECTED]> escreveu:
> > >
> > > Só acrescento que :
> > >
> > > a) a recomendação do manual ** não é ** por causa de performance, veja
> > > lá que nas razões, são citadas a melhor legibilidade da sintaxe ANSI,
> > > features que são mais difíceis de imitar na sintaxe tradicional (como
> > > FULL OUTER JOINs, OUTER JOIN da mesma tabela com várias outras, etc)
> > >
> > > e
> > >
> > > b) a pessoa ** TEM QUE VER ** se dá pra se usar a sintaxe ANSI no caso
> > > dela : por ser mais nova, ainda há mais de um bug sendo resolvido pra
> > > elas. Falando de 10g, de cara temos os seguintes bugs abertos (nota
> > > 401436.1 Subject: 10.2.0.4 Patch Set - List of Bug Fixes by Problem
> > > Type) :
> > >
> > > ANSI Joins
> > > 4204383 Dump [kkqtnlocbk] optimizing ANSI OUTER JOINs with subqueries
> > > 4702830 OERI[kkoljt1] when using star transformation with an ANSI
> > > outer join
> > > 4901291 Wrong results with left outer joins on view with a function
> > > 5188321 wrong results (no rows) from ANSI outer join
> > > 5590396 Dump or Wrong Results with ANSI JOINS and CONNECT BY
> > > 5765958 OERI[qcscpqbTxt] / OERI[qcsfbdnp:1] from ANSI query in PLSQL
> > > 5964193 OERI[kkqsRewriteCorrCols-1] during query rewrite with ANSI
> joins
> > > 5988085 Dump [kkodsel] from STAR transformation with ANSI view
> > >
> > > ==> o bug 5188321, por exemplo, é explícito :
> > >
> > > Bug 5188321 wrong results (no rows) from ANSI outer join
> > >
> > > This note gives a brief overview of bug 5188321.
> > > Affects:
> > >
> > > Product (Component) Oracle Server (Rdbms)
> > > Range of versions believed to be affected Versions < 11
> > > Versions confirmed as being affected
> > >
> > > * 9.2.0.7
> > > * 9.2.0.8
> > > * 10.1.0.5
> > >
> > > Platforms affected Generic (all / most platforms affected)
> > >
> > > Fixed:
> > >
> > > This issue is fixed in
> > >
> > > * 10.2.0.4 (Server Patch Set)
> > > * 11g (Future version)
> > >
> > > Symptoms:
> > >
> > > Related To:
> > >
> > > * Wrong Results
> > > * ANSI Joins
> > >
> > > Description
> > >
> > > Wrong results can be returned with a query involving a very large
> > > select
> > > list count when ANSI OUTER JOIN syntax is used.
> > >
> > > Workaround:
> > > Use native oracle outer join syntax
> > > or
> > > reduce the select list count.
> > >
> > > ==> ou seja, não há patch e o workaround é usar a boa e velha sintaxe
> > > nativa Então pra mim, que manipulo sempre grandes volumes, vcs
> > > podem imaginar ser seguríssimo apostar um picolé de limão que ** VAI
> > > ** demorar um pouquinho pra eu começar a me preocupar com sintaxe
> ANSI...
> > >
> > > []s
> > >
> > > Chiappa
> > >
> > > --- Em oracle_br@yahoogrupos.com.br 
> > > ,
> > > "Andre Santos"
> > >  escreveu
> > > >
> > > > Alisson
> > > >
> > > > Foi na documentação do Oracle9i Database:
> > > > - SQL Reference
> > > > - Joins
> > > > <
> > > >
> > >
> > >
>
> http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/queries7.htm#2054014
> > > > >
> > > >
> > > > Mas a recomendação permanece na documentação da versão mais
> atual (11g):
> > > > <
> > > >
> > >
> > >
>
> http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/queries006.htm#sthref3238
> > > > >
> > > >
> > > > [ ]
> > > >
> > > > André
> > > >
> > > >
> > > > Em 16/11/07, Alisson Aguiar  escreveu:
> > > > >
> > > > > Beleza, André. Obrigado pela informação.
> > > > >
> > > > > Só para complementar, você tem o link da fonte essa
> informação? É o
> > > > > manual,
> > > > > White Paper, etc. ? Gostaria de apresentar essa informação
> (Oracle),
> > > > > juntamente com outra

[oracle_br] Re: Performance no Oracle com SQL ANSI

2007-11-21 Por tôpico jlchiappa
A frase é "PROVAVELMENTE ESTARÃO CORRIGIDOS", e não "estão", pois como
a nota mesmo diz o patch 10.2.0.4 é futuro ainda, não existe ainda...

[]s

 Chiappa

--- Em oracle_br@yahoogrupos.com.br, "Andre Santos"
<[EMAIL PROTECTED]> escreveu
>
> Chiappa
> 
> Muito obrigado pela informação! É sempre bom ter em mente que,
dependendo da
> versão/release, podem haver bugs.
> 
> Mas, esses específicos que você citou, estão corrigidos a partir da
versão
> 10.2.0.4, certo? (pelo menos, foi o que a nota menciona).
> 
> Valeu!
> 
> [ ]
> 
> André
> 
> 
> Em 21/11/07, jlchiappa <[EMAIL PROTECTED]> escreveu:
> >
> >   Só acrescento que :
> >
> > a) a recomendação do manual ** não é ** por causa de performance, veja
> > lá que nas razões, são citadas a melhor legibilidade da sintaxe ANSI,
> > features que são mais difíceis de imitar na sintaxe tradicional (como
> > FULL OUTER JOINs, OUTER JOIN da mesma tabela com várias outras, etc)
> >
> > e
> >
> > b) a pessoa ** TEM QUE VER ** se dá pra se usar a sintaxe ANSI no caso
> > dela : por ser mais nova, ainda há mais de um bug sendo resolvido pra
> > elas. Falando de 10g, de cara temos os seguintes bugs abertos (nota
> > 401436.1 Subject: 10.2.0.4 Patch Set - List of Bug Fixes by Problem
> > Type) :
> >
> > ANSI Joins
> > 4204383 Dump [kkqtnlocbk] optimizing ANSI OUTER JOINs with subqueries
> > 4702830 OERI[kkoljt1] when using star transformation with an ANSI
> > outer join
> > 4901291 Wrong results with left outer joins on view with a function
> > 5188321 wrong results (no rows) from ANSI outer join
> > 5590396 Dump or Wrong Results with ANSI JOINS and CONNECT BY
> > 5765958 OERI[qcscpqbTxt] / OERI[qcsfbdnp:1] from ANSI query in PLSQL
> > 5964193 OERI[kkqsRewriteCorrCols-1] during query rewrite with ANSI
joins
> > 5988085 Dump [kkodsel] from STAR transformation with ANSI view
> >
> > ==> o bug 5188321, por exemplo, é explícito :
> >
> > Bug 5188321 wrong results (no rows) from ANSI outer join
> >
> > This note gives a brief overview of bug 5188321.
> > Affects:
> >
> > Product (Component) Oracle Server (Rdbms)
> > Range of versions believed to be affected Versions < 11
> > Versions confirmed as being affected
> >
> > * 9.2.0.7
> > * 9.2.0.8
> > * 10.1.0.5
> >
> > Platforms affected Generic (all / most platforms affected)
> >
> > Fixed:
> >
> > This issue is fixed in
> >
> > * 10.2.0.4 (Server Patch Set)
> > * 11g (Future version)
> >
> > Symptoms:
> >
> > Related To:
> >
> > * Wrong Results
> > * ANSI Joins
> >
> > Description
> >
> > Wrong results can be returned with a query involving a very large
> > select
> > list count when ANSI OUTER JOIN syntax is used.
> >
> > Workaround:
> > Use native oracle outer join syntax
> > or
> > reduce the select list count.
> >
> > ==> ou seja, não há patch e o workaround é usar a boa e velha sintaxe
> > nativa Então pra mim, que manipulo sempre grandes volumes, vcs
> > podem imaginar ser seguríssimo apostar um picolé de limão que ** VAI
> > ** demorar um pouquinho pra eu começar a me preocupar com sintaxe
ANSI...
> >
> > []s
> >
> > Chiappa
> >
> > --- Em oracle_br@yahoogrupos.com.br ,
> > "Andre Santos"
> >  escreveu
> > >
> > > Alisson
> > >
> > > Foi na documentação do Oracle9i Database:
> > > - SQL Reference
> > > - Joins
> > > <
> > >
> >
> >
http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/queries7.htm#2054014
> > > >
> > >
> > > Mas a recomendação permanece na documentação da versão mais
atual (11g):
> > > <
> > >
> >
> >
http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/queries006.htm#sthref3238
> > > >
> > >
> > > [ ]
> > >
> > > André
> > >
> > >
> > > Em 16/11/07, Alisson Aguiar  escreveu:
> > > >
> > > > Beleza, André. Obrigado pela informação.
> > > >
> > > > Só para complementar, você tem o link da fonte essa
informação? É o
> > > > manual,
> > > > White Paper, etc. ? Gostaria de apresentar essa informação
(Oracle),
> > > > juntamente com outras que coletei.
> > > >
> > > > Abraço,
> > > > Alisson
> > > >
> > > > Em 16/11/07, Andre Santos
> > >
> > > > escreveu:
> > > > >
> > > > > Alisson
> > > > >
> > > > > A própria Oracle recomenda que se use a sintaxe mais moderna
(atual
> > > > padrão
> > > > > ANSI), em vez do antigo operador (+):
> > > > > 
> > > > > Oracle Corporation recommends that you use the FROM clause OUTER
> > JOIN
> > > > > syntax
> > > > > rather than the Oracle join operator. Outer join queries that
> > use the
> > > > > Oracle
> > > > > join operator (+) are subject to the following rules and
> > restrictions,
> > > > > which
> > > > > do not apply to the FROM clause join syntax:
> > > > > (...)
> > > > > 
> > > > >
> > > > > Poderia citar umas boas razões para adotar a sintaxe atualizada,
> > mas a
> > > > > questão é sobre performance... no momento, vou no palpite. :^)
> > > > > Algumas vezes, quando fiz um outer join na sintaxe "antiga"
e depois
> > > > refiz
> > > > > na sintaxe "atual", notei que a ordenação do conjunto de
linhas foi
> > > > > diferente... daí 

Re: [oracle_br] Re: Performance no Oracle com SQL ANSI

2007-11-21 Por tôpico Andre Santos
Chiappa

Muito obrigado pela informação! É sempre bom ter em mente que, dependendo da
versão/release, podem haver bugs.

Mas, esses específicos que você citou, estão corrigidos a partir da versão
10.2.0.4, certo? (pelo menos, foi o que a nota menciona).

Valeu!

[ ]

André


Em 21/11/07, jlchiappa <[EMAIL PROTECTED]> escreveu:
>
>   Só acrescento que :
>
> a) a recomendação do manual ** não é ** por causa de performance, veja
> lá que nas razões, são citadas a melhor legibilidade da sintaxe ANSI,
> features que são mais difíceis de imitar na sintaxe tradicional (como
> FULL OUTER JOINs, OUTER JOIN da mesma tabela com várias outras, etc)
>
> e
>
> b) a pessoa ** TEM QUE VER ** se dá pra se usar a sintaxe ANSI no caso
> dela : por ser mais nova, ainda há mais de um bug sendo resolvido pra
> elas. Falando de 10g, de cara temos os seguintes bugs abertos (nota
> 401436.1 Subject: 10.2.0.4 Patch Set - List of Bug Fixes by Problem
> Type) :
>
> ANSI Joins
> 4204383 Dump [kkqtnlocbk] optimizing ANSI OUTER JOINs with subqueries
> 4702830 OERI[kkoljt1] when using star transformation with an ANSI
> outer join
> 4901291 Wrong results with left outer joins on view with a function
> 5188321 wrong results (no rows) from ANSI outer join
> 5590396 Dump or Wrong Results with ANSI JOINS and CONNECT BY
> 5765958 OERI[qcscpqbTxt] / OERI[qcsfbdnp:1] from ANSI query in PLSQL
> 5964193 OERI[kkqsRewriteCorrCols-1] during query rewrite with ANSI joins
> 5988085 Dump [kkodsel] from STAR transformation with ANSI view
>
> ==> o bug 5188321, por exemplo, é explícito :
>
> Bug 5188321 wrong results (no rows) from ANSI outer join
>
> This note gives a brief overview of bug 5188321.
> Affects:
>
> Product (Component) Oracle Server (Rdbms)
> Range of versions believed to be affected Versions < 11
> Versions confirmed as being affected
>
> * 9.2.0.7
> * 9.2.0.8
> * 10.1.0.5
>
> Platforms affected Generic (all / most platforms affected)
>
> Fixed:
>
> This issue is fixed in
>
> * 10.2.0.4 (Server Patch Set)
> * 11g (Future version)
>
> Symptoms:
>
> Related To:
>
> * Wrong Results
> * ANSI Joins
>
> Description
>
> Wrong results can be returned with a query involving a very large
> select
> list count when ANSI OUTER JOIN syntax is used.
>
> Workaround:
> Use native oracle outer join syntax
> or
> reduce the select list count.
>
> ==> ou seja, não há patch e o workaround é usar a boa e velha sintaxe
> nativa Então pra mim, que manipulo sempre grandes volumes, vcs
> podem imaginar ser seguríssimo apostar um picolé de limão que ** VAI
> ** demorar um pouquinho pra eu começar a me preocupar com sintaxe ANSI...
>
> []s
>
> Chiappa
>
> --- Em oracle_br@yahoogrupos.com.br ,
> "Andre Santos"
> <[EMAIL PROTECTED]> escreveu
> >
> > Alisson
> >
> > Foi na documentação do Oracle9i Database:
> > - SQL Reference
> > - Joins
> > <
> >
>
> http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/queries7.htm#2054014
> > >
> >
> > Mas a recomendação permanece na documentação da versão mais atual (11g):
> > <
> >
>
> http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/queries006.htm#sthref3238
> > >
> >
> > [ ]
> >
> > André
> >
> >
> > Em 16/11/07, Alisson Aguiar <[EMAIL PROTECTED]> escreveu:
> > >
> > > Beleza, André. Obrigado pela informação.
> > >
> > > Só para complementar, você tem o link da fonte essa informação? É o
> > > manual,
> > > White Paper, etc. ? Gostaria de apresentar essa informação (Oracle),
> > > juntamente com outras que coletei.
> > >
> > > Abraço,
> > > Alisson
> > >
> > > Em 16/11/07, Andre Santos
> <[EMAIL PROTECTED]>
> > > escreveu:
> > > >
> > > > Alisson
> > > >
> > > > A própria Oracle recomenda que se use a sintaxe mais moderna (atual
> > > padrão
> > > > ANSI), em vez do antigo operador (+):
> > > > 
> > > > Oracle Corporation recommends that you use the FROM clause OUTER
> JOIN
> > > > syntax
> > > > rather than the Oracle join operator. Outer join queries that
> use the
> > > > Oracle
> > > > join operator (+) are subject to the following rules and
> restrictions,
> > > > which
> > > > do not apply to the FROM clause join syntax:
> > > > (...)
> > > > 
> > > >
> > > > Poderia citar umas boas razões para adotar a sintaxe atualizada,
> mas a
> > > > questão é sobre performance... no momento, vou no palpite. :^)
> > > > Algumas vezes, quando fiz um outer join na sintaxe "antiga" e depois
> > > refiz
> > > > na sintaxe "atual", notei que a ordenação do conjunto de linhas foi
> > > > diferente... daí suponho que o "plano de execução" deve ter sido um
> > > pouco
> > > > diferente também.
> > > > Já que a Oracle recomenda a sintaxe mais moderna, suponho que a
> > > > "tendência"
> > > > seja que o otimizador seja cada vez mais voltado a isso.
> > > >
> > > > Mas, para tirar qualquer dúvida, seria bom montar um teste (não
> trivial,
> > > > com
> > > > tabelas grandes) e verificar os tempos de resposta e os planos
> de acesso
> > > > gerados.
> > > >
> > > > [ ]
> > > >
> > > > André
> > > >
> > > > Em 

[oracle_br] Re: Performance no Oracle com SQL ANSI

2007-11-21 Por tôpico jlchiappa
Só acrescento que :

a) a recomendação do manual ** não é ** por causa de performance, veja
lá que nas razões, são citadas a melhor legibilidade da sintaxe ANSI,
features que são mais difíceis de imitar na sintaxe tradicional (como
FULL OUTER JOINs, OUTER JOIN da mesma tabela com várias outras, etc)

e

b) a pessoa ** TEM QUE VER ** se dá pra se usar a sintaxe ANSI no caso
dela : por ser mais nova, ainda há mais de um bug sendo resolvido pra
elas. Falando de 10g, de cara temos os seguintes bugs abertos (nota
401436.1 Subject:   10.2.0.4 Patch Set - List of Bug Fixes by Problem
Type) :

ANSI Joins
4204383 Dump [kkqtnlocbk] optimizing ANSI OUTER JOINs with subqueries
4702830 OERI[kkoljt1] when using star transformation with an ANSI
outer join
4901291 Wrong results with left outer joins on view with a function
5188321 wrong results (no rows) from ANSI outer join
5590396 Dump or Wrong Results with ANSI JOINS and CONNECT BY
5765958 OERI[qcscpqbTxt] / OERI[qcsfbdnp:1] from ANSI query in PLSQL
5964193 OERI[kkqsRewriteCorrCols-1] during query rewrite with ANSI joins
5988085 Dump [kkodsel] from STAR transformation with ANSI view

==> o bug 5188321, por exemplo, é explícito :

Bug 5188321  wrong results (no rows) from ANSI outer join

This note gives a brief overview of bug 5188321.
Affects:

Product (Component) Oracle Server (Rdbms)
Range of versions believed to be affected   Versions < 11
Versions confirmed as being affected

* 9.2.0.7
* 9.2.0.8
* 10.1.0.5 

Platforms affected  Generic (all / most platforms affected)

Fixed:

This issue is fixed in  

* 10.2.0.4 (Server Patch Set)
* 11g (Future version) 

Symptoms:

Related To:

* Wrong Results 
* ANSI Joins 

Description

Wrong results can be returned with a query involving a very large
select 
list count when ANSI OUTER JOIN syntax is used.


Workaround: 
  Use native oracle outer join syntax 
 or 
  reduce the select list count.

==> ou seja, não há patch e o workaround é usar a boa e velha sintaxe
nativa Então pra mim, que manipulo sempre grandes volumes, vcs
podem imaginar ser seguríssimo apostar um picolé de limão que ** VAI
** demorar um pouquinho pra eu começar a me preocupar com sintaxe ANSI...

[]s

 Chiappa
 
--- Em oracle_br@yahoogrupos.com.br, "Andre Santos"
<[EMAIL PROTECTED]> escreveu
>
> Alisson
> 
> Foi na documentação do Oracle9i Database:
> - SQL Reference
>- Joins
> <
>
http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/queries7.htm#2054014
> >
> 
> Mas a recomendação permanece na documentação da versão mais atual (11g):
> <
>
http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/queries006.htm#sthref3238
> >
> 
> [ ]
> 
> André
> 
> 
> Em 16/11/07, Alisson Aguiar <[EMAIL PROTECTED]> escreveu:
> >
> >   Beleza, André. Obrigado pela informação.
> >
> > Só para complementar, você tem o link da fonte essa informação? É o
> > manual,
> > White Paper, etc. ? Gostaria de apresentar essa informação (Oracle),
> > juntamente com outras que coletei.
> >
> > Abraço,
> > Alisson
> >
> > Em 16/11/07, Andre Santos
<[EMAIL PROTECTED]>
> > escreveu:
> > >
> > > Alisson
> > >
> > > A própria Oracle recomenda que se use a sintaxe mais moderna (atual
> > padrão
> > > ANSI), em vez do antigo operador (+):
> > > 
> > > Oracle Corporation recommends that you use the FROM clause OUTER
JOIN
> > > syntax
> > > rather than the Oracle join operator. Outer join queries that
use the
> > > Oracle
> > > join operator (+) are subject to the following rules and
restrictions,
> > > which
> > > do not apply to the FROM clause join syntax:
> > > (...)
> > > 
> > >
> > > Poderia citar umas boas razões para adotar a sintaxe atualizada,
mas a
> > > questão é sobre performance... no momento, vou no palpite. :^)
> > > Algumas vezes, quando fiz um outer join na sintaxe "antiga" e depois
> > refiz
> > > na sintaxe "atual", notei que a ordenação do conjunto de linhas foi
> > > diferente... daí suponho que o "plano de execução" deve ter sido um
> > pouco
> > > diferente também.
> > > Já que a Oracle recomenda a sintaxe mais moderna, suponho que a
> > > "tendência"
> > > seja que o otimizador seja cada vez mais voltado a isso.
> > >
> > > Mas, para tirar qualquer dúvida, seria bom montar um teste (não
trivial,
> > > com
> > > tabelas grandes) e verificar os tempos de resposta e os planos
de acesso
> > > gerados.
> > >
> > > [ ]
> > >
> > > André
> > >
> > > Em 16/11/07, Alisson Aguiar <[EMAIL PROTECTED]
>
> > > escreveu:
> > > >
> > > > Pessoal,
> > > >
> > > > Existe diferença de performance ao utilizar a sintaxe
proprietária do
> > > > Oracle
> > > > e o padrão ANSI 92/99 no que diz respeito ao OUTER JOIN? Fui
> > questionado
> > > > sobre essa diferença e nunca medi para ver se existe.
> > > >
> > > > Alguém aqui já chegou ver se realmente existe diferença na
performance
>