Ir para conteúdo
Fórum Script Brasil
  • 0

MySQL + Particionamento de Tabelas


Felipe Basso

Pergunta

Bom dia pessoal,

Estou dando uma lida sobre particionamento de Tabelas utilizando o MySQL para que eu possa colocá-la em prática aqui na empresa.

Entendi que há algumas formas de criar o particionamento partir das novas versões do MySQL, sendo elas: Key, Range, Date, etc.

Uma dúvida ?!?!

Criei a Tab1 com particionamento por Year of Date .. da seguinte forma:

CREATE TABLE tab1 (
    id int not null,
    nome char(50) not null,
    data datetime not null
) ENGINE = MyISAM
  PARTITION BY RANGE(YEAR(data)) (
    PARTITION p0 VALUES LESS THAN(2000),
    PARTITION p1 VALUES LESS THAN(2001),
    PARTITION p2 VALUES LESS THAN(2002),
    PARTITION p3 VALUES LESS THAN(2003),
    PARTITION p4 VALUES LESS THAN(2004),
    PARTITION p5 VALUES LESS THAN(2005),
    PARTITION p6 VALUES LESS THAN(2006),
    PARTITION p7 VALUES LESS THAN(2007),
    PARTITION p8 VALUES LESS THAN(2008),
    PARTITION p9 VALUES LESS THAN(2009),
    PARTITION p10 VALUES LESS THAN(2010),
    PARTITION p11 VALUES LESS THAN(MAXVALUE)
);

Quando eu fiz uma carga de 10.000 Registros comparando a Tab1 com a Tab2 (que não havia particionamento) os tempos foram: Tab1 = 00:00:18 e Tab2 : 00:06:51.

Ao pesquisar, li que se eu fizer um SELECT usando um BETWEEN para o campo DATA, na Tab1 ele lê somente os registros conforme os anos dos parâmetros que eu passar, enquanto a Tab2 irá ler a tabela inteira para buscar os registros que atendam. Com isso o ganho de performance.

Porém se eu fizer um SELECT com qualquer outro filtro que não seja do campo DATA, ele irá ler a tabela inteira tanto Tab1 como Tab2.

Há alguma forma de eu criar outros particionamentos para a Tab1, ou seja, pelo campo DATA conforme exibido acima e pelo campo ID por ex:.?

Abs.

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...