Magento 2: ¿Las tablas planas siguen siendo una cosa?


17

¿Las mesas planas siguen siendo algo de lo que debemos preocuparnos en Magento 2? Sé que hay una interfaz de usuario en la que podemos activar las tablas planas, pero no estoy seguro de qué tan bien se han probado, y si aún son necesarias.

Si las tablas planas siguen siendo una cosa, ¿dónde / cuándo se generan y / o regeneran los atributos de las tablas planas? ¿Esto solo sucede al reindexar? ¿O pueden otras acciones de IU desencadenar una generación de tabla plana? ¿Sucede a las php bin/magento setup:di:compile? ¿Otros lugares?

Además, ¿cómo decide Magento si necesita convertir un atributo en un atributo plano? ¿Están todos los atributos EAV aplanados? ¿O hay otros que podrían no ser?

Respuestas:


24

Sí, las mesas planas siguen siendo una cosa. Puede habilitar tablas planas para productos y categorías desde tiendas-> configuración-> catálogo-> escaparate. ingrese la descripción de la imagen aquí

¿Por qué necesitamos mesas planas?

Ofrecen un aumento significativo del rendimiento para grandes datos de catálogo. Uno de nuestros clientes tiene solo 5 categorías y alrededor de 250 productos, por lo que realmente no importa si tiene un encendido o apagado. Realmente importaba cuando lo encendimos para otra tienda que tenía 800 categorías y 17000 productos y 5 tiendas múltiples. El aumento del rendimiento se hace evidente cuando comienzas a notar lo que sucede en la base de datos. Así es como se ve la base de datos cuando tiene varios sitios web.

tablas de productos planas para cada tienda

lo mismo para las categorías

El punto es que las uniones se vuelven muy caras con el aumento del tamaño de la tabla incluso con índices. Mesas planas REDUCIR (no eliminar) UNIR.

¿Cuándo se crean o actualizan?

Las tablas planas se regeneran cuando reindexas por completo bin/magento indexer:reindex. Se actualizan en la actualización de producto o categoría. Solo se actualizan las filas relevantes.

Las tablas planas no se generan en setup:di:compile

** ¿Qué atributos van en tablas planas? (y algunas limitaciones) **

La respuesta corta es todos los atributos que se utilizarán en el listado de productos (listado + navegación en capas). La configuración del frente de una tienda de atributos decide si el atributo debe incluirse o no en las tablas planas.

ingrese la descripción de la imagen aquí

Todos los atributos no se aplanan debido a las limitaciones que menciono a continuación.

Limitación de mesa plana

Finalmente, hay una limitación para estas tablas planas impuesta por mysql. Hay límites de tamaño de fila y tamaño de columna en la tabla. Puede leer más sobre esto en los límites de la tabla mysql

Encontrará este <max_index_count>64</max_index_count>nodo interesante en config.xml del módulo-catálogo.

Espero que ayude.


2
¿Qué pasa con los pedidos planos? La opción de hacer pedidos planos no está al lado de las de categorías y productos
ahnbizcad

¿Es posible DROPcrear una mesa plana y luego dejar que se cree indexer:reindex? por ejemplo, en caso de que las mesas se estrellaran irremediablemente.
fritzmg

Los pedidos de @ahnbizcad ya son planos. tabla de pedido de ventas.
vitoriodachef


0

Las tablas planas ya no son una cosa. No agrega mejoras de rendimiento y quedaría obsoleto en las próximas versiones

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.