Consulta lenta em tabela com campo bytea

PostgreSQL

05/11/2013

Boa tarde.
Tenho uma tabela que tem um campo bytea onde armazeno um arquivo pdf!
ao realizar uma consulta nesta tabela ex:
"SELECT * FROM TABELA WHERE CHAVE = 123"
o resultado é obtido em (16 segundos) em média.
se retiro o campo que é do tipo BYTEA da consulta o resultado é apresentado em: (125 ms)

Servidor:
PostgreSQL 9.1.1 on x86_64-unknown-linux-gnu, compiled by gcc (Debian 4.4.5-8) 4.4.5, 64-bit

Alguma idéia de como resolver isso?
Alessandro Folk

Alessandro Folk

Curtidas 0

Respostas

Roniere Almeida

Roniere Almeida

05/11/2013

qual o tamanho da tabela?
GOSTEI 0
Alessandro Folk

Alessandro Folk

05/11/2013

qual o tamanho da tabela?


SELECT relname, pg_size_pretty(relpages*8192) as "tamanho" 
  from pg_class
 where relname = 'comimgcl'

Resultado:
comimgcl = 8192 bytes

SELECT n.nspname AS schemaname, 
       c.relname AS tablename, 
       C.reltuples AS Registros, 
       pg_size_pretty(pg_relation_size(n.nspname ||'.'||c.relname)) as Tamanho
FROM pg_class c
LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
LEFT JOIN pg_tablespace t ON t.oid = c.reltablespace
WHERE c.relkind = 'r'
AND n.nspname = 'public'
AND c.relname = 'comimgcl'

Resultado:
schemaname tablename registros tamanho
public comimgcl 42 8192 bytes
GOSTEI 0
Alessandro Folk

Alessandro Folk

05/11/2013

Alguém???

rodei o select abaixo:
select relname,pg_relation_size(oid),pg_table_size(oid) 
  from pg_class
 where relname = 'comimgcl';


o retorno foi:
relname │ pg_relation_size │ pg_table_size
────────┼──────────────┼───────────────
comimgcl │ 8192 │ 97509376
(1 registro)
GOSTEI 0
Alan Mario

Alan Mario

05/11/2013

só sei o basico de postgree, mas vc não acha que deva melhorar algo na consulta?
GOSTEI 0
Alessandro Folk

Alessandro Folk

05/11/2013

só sei o basico de postgree, mas vc não acha que deva melhorar algo na consulta?


Não entendi!
Como assim melhorar a consulta? Pois é um select simples em uma única tabela...
GOSTEI 0
Alan Mario

Alan Mario

05/11/2013

pensei que fosse mais complexo, desculpa.
GOSTEI 0
POSTAR