Em nosso banco de dados, usamos um tipo personalizado para armazenar localizações 3D:
CREATE TYPE float3d AS (
x real,
y real,
z real);
Em muitos exemplos vejo INTERNALLENGTH
usado como parâmetro com a definição de tipos personalizados. Além disso, a documentação me diz que "[a] suposição padrão é que é de comprimento variável", se esse parâmetro for omitido. Isso também é verdade para tipos como o acima, onde o tamanho pode ser calculado (3 * 4 bytes + preenchimento de 4 bytes)? Então, devo adicionar 16 como comprimento interno à definição?
Além disso, existem outros parâmetros que poderiam melhorar o desempenho da manipulação de muitas entradas (~ 10.000.000) usando esse tipo?
O parâmetro
INTERNALLENGTH
só é aplicável à criação de um novo tipo base , que é uma operação bastante especializada para usuários avançados. Seria necessário fornecer função de entrada e saída, etc.O que você exibe é a criação de um novo tipo composto , que é uma operação mais comum. Não há parâmetro
INTERNALLENGTH
para isso. Leia o manual mais uma vez.Para otimizar o espaço em disco e o desempenho, prefiro evitar o uso de tipos compostos devido à grande sobrecarga de linha. Os detalhes dependem dos detalhes de suas necessidades.