2013-07-26 3 views
0

Myrrix에서 특정 사용자에 대한 추천 검색어를 수행하는 것과 (해당 실적 - 시간, 메모리) 차이점은 무엇입니까? 그리고 그 사용자를 익명으로 처리하고 recommendToAnonymous 쿼리를 수행하여 사용자의 항목 (캐쉬와 종을 가진 엄청나게 최적화 된 MySQL 데이터베이스가 있다고 가정)을 recommendToAnonymous로 가져와야한다.Myrrix는 recommendationsAnonymous를 추천합니다

추가 DB 호출을 무시하면서 후자에 중대한 성능 저하가 있습니까?

답변

2

속도면에서 거의 동일합니다. '익명'방법은 전달 된 항목의 수에 비례하는 시간이 걸리는 임시 사용자 벡터를 형성해야하지만 이것은 매우 빠릅니다. 어느 쪽도 중요한 메모리를 사용하지 않습니다.

항상 익명 메소드를 사용할 때의 문제점은 실제로 모델에 데이터가 없다는 것입니다.

+0

"모델에 실제로 데이터가 없을 것입니다!" - 나는 네가 의미하는 것을 얻지 못했다. 내 모델에 이미 사용자 - 항목 쌍이 포함되어 있다고 가정하고 직접 권장하는 대신 익명 메소드를 항상 사용합니다. 무슨 문제가 있을까요? – Nilesh

+0

데이터 추가에 어려움을 겪은 적이 있다면 일반 권장 방법을 사용하십시오. 전제가 데이터베이스에서 시스템으로 해당 데이터를 복사 할 필요가 없다고 생각했습니다. –

+0

나는 알고있다. 아니요, 실제로 데이터는 시스템에 복사됩니다. 특정 사용자에 대한 항목이 1 분 내에 여러 번 추가/제거되고 실시간 권장 사항을 가져 오는 것입니다. 환경 설정을 여러 번 설정하는 대신 익명으로 처리하고 현재 많은 항목/환경 설정을 보내서 HTTP 요청 수를 줄이기 위해 권장 사항을 가져 오는 것에 대해 생각하고 있습니다. 모델은 cron 작업을 통해 하루에 한 번씩 최종 업데이트됩니다. – Nilesh