Hi Jukka,

I never noticed a "select find_extent( 'table', 'geom' )" was used
Maybe this is to be able to do a "full extent" from jump ? - bad idea if 
you have a 10M rows table ;-(

In the code, the author mentionned :
// Use find_extent - sometimes estimated_extent was returning null
and I saw in postgis history that there has been some bug fixes with 
estimated_extent

Did you try OpenJUMP after having replaced find_extent by estimated_extent ?

Anyway, this will not solve the second point : OpenJUMP cannot load a 
10M features layer, and using datastore plugin with a large database 
often lead to an OOM.
I think limiting the number of returned objects maybe done in the query, 
adding a limit statement to the sql where clause
To solve the problem in a more definitive way, one should only load a 
pointer and an envelope from the database and add a cache (without a 
good cache, I think access time would kill jump performance).
Such a work is still to be done...

Michaël





Jukka Rahkonen a écrit :

>Hi,
>
>I made my first large PostGIS table with nearly ten million rows.  Untill this 
>I
>had thought that OpenJUMP works very well with PostGIS but now I am not sure
>anymore. What I say is about the native PostGIS driver, I have not tried the
>others with this large table.
>
>I believe that the first problem I notised actually makes all big PostGIS 
>tables
> unusable slow and I am not sure if it really needs to be so.
>OpenJUMP seems to start PostGIS query by sending:
>SELECT AsBinary(find_extent( 'table', 'geom' ))
>
>I could not find function find_extent from PostGIS manual but I suppose it is
>doing the same as 
>SELECT extent(geom)from table;
>This will mean full scan to geometry table every time than PostGIS layer is
>accessed. Index does not help with this function and it takes several minutes 
>to
>run the query with my 10 million row table. The final query returning the
>geometries takes just seconds.  I wonder why these exact extents are queried? 
>It
>looks like coming from here (taken from CVN.txt):
>2006-05-08 16:20  jaquino
>       * com/vividsolutions/jump/datastore/postgis/PostgisDSMetadata.java:
>       Use find_extent for PostGIS extents
>
>Alternative query 
>SELECT estimated_extent('table','geom');
>is returning the result immediately, but it is not accurate. I do not know for
>what OpenJUMP is using and needing the exact extents of the database layer, or
>if estimated extents could be used instead.
>
>Another problem is that with a big database table it is too simple to send
>queries which will leed to memory running out and a total jam.  All that is
>needed is to zoom out too far. Perhaps situation could be done more safe for 
>the
>user by adding an option to limit the number or returned features?  This option
>should be selectable in the Add datastore layer and Run datastore query 
>dialogs,
>I believe it would need just adding LIMIT max_number to PostGIS queries.  I
>understand this would be dangerous as well if the user does not realise that 
>the
>query did not give a full set of data.  So I am not if this is a good idea of
>all.  Perhaps there could be a warning message in case of
>max_features=returned_features?
>
>Regards,
>
>-Jukka Rahkonen-
>
>
>-------------------------------------------------------------------------
>This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
>Register now and save $200. Hurry, offer ends at 11:59 p.m., 
>Monday, April 7! Use priority code J8TLD2. 
>http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
>_______________________________________________
>Jump-pilot-devel mailing list
>Jump-pilot-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
>
>  
>


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Register now and save $200. Hurry, offer ends at 11:59 p.m., 
Monday, April 7! Use priority code J8TLD2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to