Praveen Kumar N wrote:
> Let me explain once more.
>
> I have two relations which are 10 times more than bufferpool size.I
> have observed the following things when joined that two relations(it
> using merge join to join both relations)
>
> 1.It first accessed system catalog tables
> 2.Relation 1
> 3.Relation 2
>
> my doubt is one whole relation cant fit in the main memory.That too
> when we use merge join, it should keep some part of 1st relations and
> should scan second relation as bufferpool size is less compared to
> size of each relation.similarly for the remainin part of 1st
> relation.But it is not happening here.First whole Relation1 is scanned
> and then Relation 2 is scanned. Then how is it joining two relations
> using merge join? Am I missing something?
Hmm. A hash join, maybe? You should do EXPLAIN on the query to see what
it really does, otherwise we're just guessing.
> I traced scanning of relation by editing the functions ReadBuffer()
> and BufferAlloc(),StrategyGetBuffer().
That sounds valid.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com