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
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера