2011-09-24 8 views
1

저는 이것이 가능할 지 확신하지 않지만, 가장 효율적인 코드를 생성하기 위해 정말로 알고 싶습니다. 빌드해야합니다. 제휴사처럼 작동하는 검색어 - 사용자가 로그인 할 때 에 로그인하면 누군가가 그를 초대했는지, 아니면 혼자서 (기본 URL 매개 변수) 도착했는지 확인할 필요가 있습니다. 그가 초청을 받았다면 X 포인트를 주어야합니다. 초청자가 누군가 초대를 받았다면 1/2X 포인트를 주어야하며 초청을받은 경우 초청 인에게 1/4 포인트를 주어야합니다. 모든 사람의 부모가 더 이상 "invited_by"값 (null/0)을 가질 때까지 나는 무한 할 필요가있다. ...마지막 업데이트 결과에서 DB의 행 트리를 다시 업데이트합니다.

나는이 점을 계산하기 위해 PHP (x를 사용) 1/(X sqr $ i),하지만 매번 선택 및 업데이트 쿼리가 걸리기 때문에 나는 행복하지 않다 ...

나는 PHP와 MySQL을 사용하고있다. 더 나은 방법을 생각할 수있는 사람이 있습니까? 감사합니다.

답변

1

반복 솔루션이 필요하다고 생각합니다. MySQL 매뉴얼에서 계층 적 쿼리 연산자가 도움이되지는 않지만 (내 눈이 완벽하지는 않다는 말과 전혀 다른 것은 아닙니다.) 스토어드 프로 시저에서 수행하면 조작 비용을 줄일 수 있습니다 (데이터베이스 서버와 클라이언트간에 전송되는 데이터가 적음).

또한 X/2, X/4, X/8 시퀀스는 1/2X 또는 1/(X sqr $i)이라는 표현식으로 캡처되지 않습니다. 초청자의 초청자가 X/4 점을 얻는 반면 invitrr에게는 소수점을 부여 할 의사가 없다고 가정합니다.