Jump to content
Fórum Script Brasil
  • 0

Tabela Mysql muito grande


Atriff

Question

Olá amigos!!

Estou com o seguinte problema: Tenho uma base de dados mysql com tabelas Innodb, usada num sistema ERP. Acontece que algumas tabelas estão muito grandes (muitos registros) e quando uma consulta é feita nessas tabelas, o mysql demora a retornar o resultado. Por exemplo, na tabela de produtos dos pedidos existem muitos registros, pois para cada pedido existem diversos produtos, e a tabela sempre vai crescendo. O que fazer quando o crescimento de uma tabela interfere na performance?

Obs:. Versão do Mysql: 5.1

Edited by Atriff
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0
Olá amigos!!

Estou com o seguinte problema: Tenho uma base de dados mysql com tabelas Innodb, usada num sistema ERP. Acontece que algumas tabelas estão muito grandes (muitos registros) e quando uma consulta é feita nessas tabelas, o mysql demora a retornar o resultado. Por exemplo, na tabela de produtos dos pedidos existem muitos registros, pois para cada pedido existem diversos produtos, e a tabela sempre vai crescendo. O que fazer quando o crescimento de uma tabela interfere na performance?

Obs:. Versão do Mysql: 5.1

Oi 'Atriff',

Entre outra inumeras coisas que podem ocorrer para derrubar a performance de um banco, o mais comum é a falta de índices em consultas e o excesso de campos trazidos em cada consulta.

Muitas vezes vejo consultas trazendo * em vez da lista de campos, em outras vezes o uso do condicional LIKE na cláusula where gera table scan(que é aleitura completa da tabela). Outro erro comum é a falta de índices quando do uso de joins o que faz "sentar" o banco por causar table scan cascateado em cada tabela envolvida.

Informe seu problema com maior precisão para que possamos ajudá-lo mais.

Link to comment
Share on other sites

  • 0

Prezado,

Você tem que verificar se realmente utiliza essas infomações todas no SGBD, se não meu amigo, remova para uma nova BD de backup os anos que não estão sendo usados, até o SPC guarda informação até 5 anos, você tá guardando quanto tempo?

Sendo assim, busque dar uma enxugada nesse BD, ai melhora a sua performance.

Entre outras...

Quando você faz uma select e utiliza dessa forma:

Select * from tabela

voce está chamando todos os campos com todos os registros existentes na tabela, procure filtrar essa informação.

Se você usa numa tabela de clientes somente cod, nome, endereço, telefone e celular em um Grid, pra que trazer o restante?

select cod, nome, endereco, telefone, celular from tabela_cliente.

isso ai já dá uma boa melhorada, procure não mexer nas tabelas você pode estar correndo um risco muito grande, melhore a sua consulta.

Verifique a sua rede também, ela pode estar em sobrecarga.

Verifique no poder de compartilhamento da maquina servidora onde fica o banco de dados.

OBS: nem sempre o problema está na programação, banco de dados e etc...

:closedeyes: Espero ter ajudado.

Abraço.

Edited by anderson.egidio
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...