Search Postgresql Archives

SUBSTRING performance for large BYTEA

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

 



I'm working on reading large BYTEA fields from PostgreSQL 8.1.  (For
legacy reasons, it's unattractive to move them to large objects.)  I'm
using JDBC, and as various people have pointed out
<http://archives.postgresql.org/pgsql-jdbc/2005-06/msg00138.php>, the
standard stream-style access method runs out of memory for large BYTEAs.

Karsten Hilbert mentions using SUBSTRING to read these BYTEA fields a
chunk at a time
<http://archives.postgresql.org/pgsql-general/2005-01/msg00032.php>.
I've tried this, and indeed it works.  (Once I corrected for the 1-based
indexing ;-))

My question is about performance in the postgres server.  When I execute
"SELECT SUBSTRING (my_bytea FROM ? FOR ?) FROM my_table WHERE id = ?",
does it fetch the whole BYTEA into memory?  Or does it access only the
pages that contain the requested substring?

    Vance

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings


[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