이전 게시물에서 말했듯이 Rails 응용 프로그램은 데이터를 가져 오는 타사 응용 프로그램에서 E-A-V 유형의 테이블과 인터페이스해야합니다. 데이터를 정상적으로 만들기 위해 뷰를 만들었지 만 너무 오래 실행됩니다. 우리는 오프 쇼어 PHP 개발자 중 한 명이 속도를 높이기 위해 저장 프로 시저를 만들었습니다.레일에서 저장 프로 시저 사용
이제 Rails 앱에서이 저장 프로 시저를 호출하고 검색 및 필터링을 제공해야한다는 문제가 있습니다. Rails가이를 전통적인 Rails 모델로 취급했기 때문에 뷰가이를 수행 할 수있었습니다. 저장 프로 시저로 어떻게이 작업을 수행 할 수 있습니까? 맞춤 검색 및 주문 (Searchlogic을 사용하고 있습니다)을 작성해야합니까? 관리는 Rails에서 저장된 proc를 사용하는 단점을 이해할 수 없습니다. 현재의 방법은 데이터를로드하는 데 너무 오래 걸리므로 고정해야하지만 검색 및 필터링은 중요한 기능입니다.
편집 여기에이 코드의 코드를 게시했습니다 : Optimizing a strange MySQL Query. 재미있는 점은 GUI (Navicat)에서이 쿼리를 실행하면 약 5 초 만에 실행되지만 웹 페이지에서는 실행하는 데 1 분 이상 걸립니다. 뷰는 원래 게시물에서 개괄하는 이유 때문에 복잡하지만, MySQL이 성능을 향상시키기 위해 SQL Server와 같은 뷰를 최적화하고 캐싱한다고 생각할 것입니다.
Rails에서 저장 프로 시저를 사용하면 악의적 인 소리가납니다 ... 로딩 시간을 개선 할 수있는 다른 방법을 찾을 수 없습니까? – marcgg
marcgg와 동의하십시오 ... 성능 향상을위한 다른 방법을 생각할 수 있도록 정보를 제공해 주시겠습니까? – Ben
나는이 특별한 상황이 악의로 들린다는 것에 동의하지만, 이것은 좋은 질문이다. 데이터베이스에 대한 통제권이 항상있는 것은 아니기 때문이다. – jamesaharvey