sql >> Base de Datos >  >> RDS >> Mysql

Consulta MySQL dolorosamente lenta en datos grandes

Optimizar tabla

Para establecer una línea de base, primero recomendaría ejecutar un OPTIMIZE TABLE comando en ambas tablas. Tenga en cuenta que esto puede llevar algún tiempo. De los docs :

Indización

Si la gestión del espacio y el índice no es una preocupación, puede intentar agregar un índice compuesto en

product_categories.cat4, product_categories.cat3, product_categories.cat2, product_categories.cat1

Se recomienda esto si usa un subconjunto más a la izquierda de estas columnas a menudo en tus consultas. El plan de consulta indica que puede usar el cat1 índice de product_categories . Lo más probable es que solo incluya el cat1 columna. Al agregar las cuatro columnas de categoría a un índice, puede buscar de manera más eficiente la fila deseada. De los docs :

Estructura

Además, dado que su tabla tiene 90 columnas también debe tener en cuenta que una tabla más ancha puede conducir a un rendimiento de consulta más lento . Es posible que desee considerar Particionamiento vertical su tabla en varias tablas: