현재 매우 간단한 스키마 (약 5 개의 필드)가있는 데이터베이스 테이블의 경우 로컬 개발 환경 (SSD 드라이브)에서 초당 50 회 미만의 삽입 속도로 새 레코드를 삽입하고 있음을 알았습니다. 연관된 테이블을 채우는 모델에는 관찰자가 없습니다.
직접 SQL을 사용하면 ~ 1800 삽입 / 초가 크게 향상되었습니다. 우리는 모델의 성능을 최적화하려고 시도하고 있지만, 물론 Magento 코어가 제공하는 훌륭한 안정성과 유연성을 모두 잃고 싶지는 않습니다.
누군가이 경로를 이전에 사용했는지 여부와 모델 레이어의 구성 요소 측면에서 비교적 안전하게 우회 할 수있는 성능이 크게 향상되는지 여부에 대해 궁금합니다.
같은 것들:
- 클래스 이름 확인
- 저장 이벤트 전후
- 이벤트 파견
- 업무
- 기타
업데이트 : 실제로 관찰자 또는 afterSave ()에서 추가 쿼리가 발생하여 데이터베이스 쿼리 로그를 검사 할 때 보았습니다. 완전히 간단한 엔티티에 대한 벤치마킹은 실제로 Magento 모델에서 초당 300 행을 제공합니다-MySQL 오버 헤드 만 트랜잭션입니다.