마 젠토 2 : 평평한 테이블은 여전히 ​​것입니까?


17

평평한 테이블이 여전히 Magento 2에서 걱정해야하는 것입니까? 플랫 테이블을 켤 수있는 UI가 있지만 테스트가 얼마나 잘되었는지, 더 이상 필요한지 확실하지 않습니다.

플랫 테이블 여전히 필요한 경우-플랫 테이블 의 속성이 생성 및 / 또는 재생성되는 시점 / 시간 재 인덱싱시에만 발생합니까? 아니면 다른 UI 작업으로 플랫 테이블 생성이 트리거 될 수 있습니까? 에서 발생합니까 php bin/magento setup:di:compile? 다른 장소들?

또한-Magento는 속성을 플랫 속성으로 만들어야하는지 어떻게 결정합니까? 있습니까 모든 EAV 속성은 평평? 아니면 그렇지 않을 수도있는 다른 것들이 있습니까?

답변:


24

예, 평평한 테이블은 여전히 ​​사물입니다. 상점-> 구성-> 카탈로그-> 상점 첫 화면에서 제품 및 카테고리에 플랫 테이블을 사용할 수 있습니다. 여기에 이미지 설명을 입력하십시오

왜 평평한 테이블이 필요한가요?

큰 카탈로그 데이터에 대해 상당한 성능 향상을 제공합니다. 고객 중 하나에 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에 있습니다.

희망이 도움이됩니다.


2
플랫 주문은 어떻습니까? 플랫 주문을하는 옵션은 카테고리 및 제품을위한 옵션 옆에 있지 않습니다
ahnbizcad

DROP평평한 테이블 이 가능 indexer:reindex합니까? 예를 들어 테이블이 수리를 넘어 추락 한 경우.
fritzmg

@ahnbizcad 주문은 이미 고정되어 있습니다. sales_order 테이블.
vitoriodachef 19


0

플랫 테이블은 더 이상 문제가되지 않습니다. 성능 향상을 추가하지 않으며 다음 릴리스에서 더 이상 사용되지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.