1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Tabelas SQL + comparação

Discussão em 'Programação' iniciada por Barata, 12 de Setembro de 2008. (Respostas: 4; Visualizações: 827)

  1. Barata

    Barata I folded Myself

    Boas.

    Tenho aqui um problema sobre se hei-de fazer uma tabela única ou várias tabelas.

    Tenho números, afectos a productos diferentes, que têm de ser lidos em intervalos de 1000, comparados, e guardados.

    Estamos a falar de 400 produtos, o que por ano equivale a um máximo de 40 milhões de registos.

    A estrutura da tabela é fixa. Isto é, quer opte por fazer 400 tabelas, quer opte por fazer apenas uma, a estrutura é igual.
    Código:
    ID  - referencia - numero - checkd - estado
    
    A minha pergunta é, o que é mais eficiente a nivel de pesquisa? Uma tabela para todos os produtos, ou uma tabela para cada um deles?

    SQL SERVER running.
     
  2. AliFromCairo

    AliFromCairo Power Member

    Ter 400 tabelas relativas a produtos individuais não me parece uma boa ideia. Em termos de eficiência, eu diria que é melhor fazeres experiências (criando índices específicos, se necessário) com os tais 40 milhões de registos antes de pensares sequer em mudar a estrutura base.
     
  3. SunsetRider

    SunsetRider Power Member

    Podes ter uma tabela com os produtos todos, a unica coisa que tens que garantir é que tens outras tabelas para ajudar ao filtro, ou seja, se queres obter o produto ID = 1 podes adicionar CAT_ID = 1

    select PRODUTO from Produtos f , categorias d where f.id =d.id and f.id = 1 and d.cat_id = 1

    para melhorares isto podes criar indices torna a cena mto mais rapida mas isto é suficiente
     
  4. fLaSh_CF

    fLaSh_CF Banido

    Cria 4 tabelas, em cada tabela adiciona até 10 milhões de registos..

    Como a tabela tem apenas 4 campos, calculo que seja dados em string.. penso que funcionara bem.. é uma questão de testares.. A algum tempo a traz criei um plugin para um projecto .. que tinha uma BD com uma tablela com cerca de 16 milhões de dados em SQLite.. era um pouco lento o query a tabela tambem tinha muitos mais campos ..
     
  5. CrazyBomber

    CrazyBomber Power Member

    Assim à partida, não me parece muito boa ideia separar os dados.
    Acho que deves criar apenas uma tabela. A performance pode ser melhorada criando VIEWS e ÌNDICES relevantes.
     

Partilhar esta Página