Please send your answer (also) to the list.

Le 28/11/2010 10:23, zhipan Wang a écrit :
> [...]
> Thanks a lot for your detailed reply. I am trying to implement the idea 
> proposed 
> in the paper Database Cracking. The basic idea is like this:
> 
> When a query with a range predicate like "a<col" comes, a copy of the column 
> col 
> is created as a stand-alone table, and I need  to partially sort (so 
> physically 
> reorganize) the table, and insert a  node into the index to point to a tuple 
> in 
> the table, such that all  values in the new table before that tuple are less 
> than a and all values in col after that tuple are greater than or equal to a. 
> As 
> more and more queries come in, the table becomes better ordered, and a qeury 
> can 
> benefit from sequential scan enabled by this order.
> 

Finding a solution to your issue is quite hard, because we don't know
which issue you have. Anyways, some thoughts...

PostgreSQL can already use an index to quickly sort a table. But CLUSTER
may be a more appropriate solution for you. You have to remember that
you'll need to launch CLUSTER from time to time so that the table get
reorganized.

> So the in-place update is a vital part of the program, because a range of 
> values 
> of column col should be stored together on the disk. Is there any way to do 
> such 
> a in-place update without generating much extra overhead?
> 

If you need in-place update, then it's possible that PostgreSQL is not
the right tool for you.

But, as I already said, it's difficult to know for sure as we don't know
what issue you're trying to fix.


-- 
Guillaume
 http://www.postgresql.fr
 http://dalibo.com

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to