Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta MySQL dolorosamente lenta em grandes dados

Otimizar Tabela


Para estabelecer uma linha de base, primeiro recomendo executar um OPTIMIZE TABLE comando em ambas as tabelas. Observe que isso pode levar algum tempo. Dos documentos :

Indexação


Se o gerenciamento de espaço e índice não for uma preocupação, você pode tentar adicionar um índice composto sobre
product_categories.cat4, product_categories.cat3, product_categories.cat2, product_categories.cat1

Isso seria recomendado se você usar um subconjunto mais à esquerda dessas colunas frequentemente em suas consultas. O plano de consulta indica que pode usar o cat1 índice de product_categories . Isso provavelmente inclui apenas o cat1 coluna. Ao adicionar todas as quatro colunas de categoria a um índice, ele pode buscar com mais eficiência a linha desejada. Dos documentos :

Estrutura


Além disso, considerando que sua tabela tem 90 colunas você também deve estar ciente de que uma tabela mais ampla pode levar a um desempenho de consulta mais lento . Você pode querer considerar Particionamento Vertical sua tabela em várias tabelas: