예, 평평한 테이블은 여전히 사물입니다. 상점-> 구성-> 카탈로그-> 상점 첫 화면에서 제품 및 카테고리에 플랫 테이블을 사용할 수 있습니다.
왜 평평한 테이블이 필요한가요?
큰 카탈로그 데이터에 대해 상당한 성능 향상을 제공합니다. 고객 중 하나에 5 개의 카테고리와 약 250 개의 제품이 있으므로 플랫을 켜거나 끄는 것이 중요하지 않습니다. 800 개의 카테고리와 17000 개의 제품과 5 개의 멀티 스토어를 가진 다른 매장을 위해 스위치를 켰을 때 정말 중요했습니다. 데이터베이스에서 발생하는 상황을 파악하기 시작하면 성능이 향상됩니다. 여러 웹 사이트가있을 때 데이터베이스 모양은 다음과 같습니다.
조인되는 포인트는 인덱스에서도 테이블 크기가 증가함에 따라 매우 비쌉니다. 플랫 테이블은 JOIN을 줄입니다 (제거하지 않음).
언제 만들어 지거나 업데이트됩니까
로 전체 재 색인을 수행하면 플랫 테이블이 재생성됩니다 bin/magento indexer:reindex
. 제품 또는 카테고리 업데이트시 업데이트됩니다. 관련 행만 업데이트됩니다.
플랫 테이블이 생성되지 않습니다 setup:di:compile
** 어떤 속성이 플랫 테이블에 들어 갑니까? (및 일부 제한 사항) **
짧은 대답은 제품 목록 (목록 + 계층 탐색)에 사용될 모든 속성입니다. 속성 저장소 전면 설정은 속성이 플랫 테이블에 포함되어야하는지 여부를 결정합니다.
아래 언급 한 제한으로 인해 모든 속성이 병합되지 않습니다.
플랫 테이블 제한
마지막으로 이러한 플랫 테이블에는 mysql에 의해 부과되는 한 가지 제한 사항이 있습니다. 테이블에는 행 크기 및 열 크기 제한이 있습니다. mysql 테이블 제한 에 대해 자세히 읽을 수 있습니다.
이 <max_index_count>64</max_index_count>
흥미로운 노드는 module-catalog의 config.xml에 있습니다.
희망이 도움이됩니다.