Olá, possuo uma tabela onde diariamente são adicionados de 30 a 50 mil registros.
Hoje ela possui por volta dos 1 milhão de registros.
Na página inicial do meu site, eu exibo 12 registros dessa tabela. Os 12 ultimos inseridos:
SELECT a, b, c FROM tabela WHERE 1 LIMIT 12 ORDER BY date DESC
Certo?
Acontece que a página fica EXTREMAMENTE lenta com isso, chegando a dar erro no sistema (erro 500, se não me engano) quando tem muitos usuários acessando.
Imagino que seja devido ao alto processamento/memória exigido do processador.
(Acho que o campo data não é indexado. Vou conferir mais tarde. Mas a dúvida/problema talvez ainda permaneça.)
Como melhorar a velocidade da consulta?
Como melhor configurar o mysql para tal situação?
Acho que vale salientar que chego a ter mais de 100 usuários acessando simultaneamente.
Pergunta
Danilo C
Olá, possuo uma tabela onde diariamente são adicionados de 30 a 50 mil registros.
Hoje ela possui por volta dos 1 milhão de registros.
Na página inicial do meu site, eu exibo 12 registros dessa tabela. Os 12 ultimos inseridos:
SELECT a, b, c FROM tabela WHERE 1 LIMIT 12 ORDER BY date DESC
Certo?
Acontece que a página fica EXTREMAMENTE lenta com isso, chegando a dar erro no sistema (erro 500, se não me engano) quando tem muitos usuários acessando.
Imagino que seja devido ao alto processamento/memória exigido do processador.
(Acho que o campo data não é indexado. Vou conferir mais tarde. Mas a dúvida/problema talvez ainda permaneça.)
Como melhorar a velocidade da consulta?
Como melhor configurar o mysql para tal situação?
Acho que vale salientar que chego a ter mais de 100 usuários acessando simultaneamente.
Editado por Danilo CLink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.