Descrição

Limite de campos por tabela

Observações

O número máximo de campos que podem ser criados em uma tabela é de 350. Essa é uma limitação estrutural do Protheus para garantia do funcionamento e compatibilidade com os bancos de dados homologados.

Caso seja necessário a utilização de um número maior de campos, é recomendável o uso de tabelas auxiliares. As tabelas auxiliares criadas por usuário devem possuir tratamento para ser consultada / alimentada via pontos de entrada contidos na rotina em questão, para desta forma, servir como auxiliar no tratamento da regra desejada.

Importante: Toda criação e manutenção de tabelas deve ser realizada exclusivamente pelas ferramentas disponibilizadas no módulo Configurador, bem como, toda manipulação de dados nas tabelas, exclusivamente via processamento. Não se recomenda quaisquer procedimentos diretamente no banco de dados.

No caso de criação de novos campos por parte da TOTVS, os mesmos serão adicionados na tabela através do UPDDISTR, podendo assim ultrapassar o limite de 350, tornando a tabela indisponível para criação de novos campos customizados.


Porque há o limite de campos?

Trabalhar com tabelas muito largas (350+ colunas) em SQL Server, Oracle e PostgreSQL traz problemas que impacta no armazenamento, performance, manutenção e até limites físicos dos SGBDs.
Segue um panorama por categoria e por banco:


Problemas práticos e de performance

a) Tamanho da linha e overflow

b) Índices mais pesados

c) Impacto no lock e concorrência

d) Problemas de manutenção e modelagem

e) Backup e restore mais lentos

f) Custo de transferência

Pontos específicos por banco

SQL Server

Oracle

PostgreSQL