Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

anderson.dan

Tabela com parâmetros vagos

Recommended Posts

Bom dia, pessoal.

 

Eu estou montando o seguinte esquema no banco de dados, uma tabela chamada {{atividade}} e outra chamada {{atividade_parametro}}.

Na tabela {{atividade}} tem os dados, como, data e hora inicial, data e hora final, na tabela {{atividade_parametro}} tem os parâmetros da atividade, seria uma relação "um para muitos", ou seja, uma atividade tem vários parâmetros.

 

Por que criar uma tabela para os parâmetros, por que cada atividade terá que guardar dados de alguma área no sistema, por exemplo, uma atividade relacionada à cobrança paga, terá vários parâmetros, valor_pago, data_pagamento, assim eu não preciso criar uma tabela para cada tipo de atividade, e sim, somente a tabela parâmetro. Qual o problema? Justamente é a performance, acredito que não ficará bom depois quando precisar, por exemplo, fazer um relatório, com milhares e alguns casos milhões de linhas para buscar, visto que a coluna "parametro" pode ser algo padrão, um número identificando-o, por exemplo, mas a coluna "valor do parâmetro" tem que ser algo "livre", por que ali pode ter, um número inteiro, um decimal, um texto, etc...

 

Alguém tem alguma ideia?

 

Obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta. Mas daí que eu me refiro, por ser um campo livre, não ficar ruim os índices? Por exemplo, dizem que indexar um valor grande, como um texto não dá. :s haha Pode ser um decimal, um texto, uma data, o tipo da coluna será 'longtext', já para poder armazenar qualquer valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, depende de que tipo de dado vai colocar lá dentro, se for um texto, existe o FULLTEXT INDEX para tabelas MyISAM, aí pra pesquisar terá de utilizar MATCH([colunas_indice]) AGAINST("valores a ser encontrados").

 

Com certeza afetará o desempenho, um campo LONGTEXT ocupa o espaço normal de cada caractere mais 4 bytes, não sei se é este tamanho mesmo, espero que algum expert esclareça, kk.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim... Obrigado, este realmente é o problema, por que não vai ter um tipo de dado certo vai ser variável. A solução que eu encontrei é criar a coluna "parametro", e as colunas "valor_varchar", "valor_integer", "valor_decimal", etc... Pelo menos a performance aumenta muito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.