Search Postgresql Archives

Re: Inequality operators are not deduced.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I wrote:
> However, it seems to be inapplicable for inequality operators. The plan
> was improved after I added the deduce-able 'U.i = 100' in theory.

Sorry, there was a miss. The correct is 'U.i < 100'.

> 
> EXPLAIN SELECT * FROM T, U WHERE T.i = U.i AND T.i < 100;
>                                  QUERY PLAN                                  
> -----------------------------------------------------------------------------
>  Merge Join  (cost=0.00..340.38 rows=100 width=8)
>    Merge Cond: (t.i = u.i)
>    ->  Index Scan using t_pkey on t  (cost=0.00..10.00 rows=100 width=4)
>          Index Cond: (i < 100)
>    ->  Index Scan using u_pkey on u  (cost=0.00..3048.26 rows=100000 width=4)
> 
> EXPLAIN SELECT * FROM T, U WHERE T.i = U.i AND T.i < 100 AND U.i < 100;
>                                QUERY PLAN                                
> -------------------------------------------------------------------------
>  Merge Join  (cost=0.00..11.32 rows=1 width=8)
>    Merge Cond: (t.i = u.i)
>    ->  Index Scan using t_pkey on t  (cost=0.00..10.00 rows=100 width=4)
>          Index Cond: (i < 100)
>    ->  Index Scan using u_pkey on u  (cost=0.00..9.94 rows=96 width=4)
>          Index Cond: (i < 100)


Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux