2011-10-15 2 views
0

그래서이 질문은 일반적인 질문입니다. 여기 거래가 있습니다.계산 대 게시물 수 저장

그래서 나는 사용자가 보너스 시스템을 위해 만든 게시물의 개수를 알아야하는 웹 애플리케이션을 만들었습니다. 더 많은 게시물을 게시할수록 더 많은 보상을 얻을 수 있습니다.

문제는 무엇이 더 나은 해결책이 될지 모르겠습니다.

  1. 하나의 솔루션은 데이터베이스에있는 게시물의 수를 저장하고 그냥가이 데이터베이스에 액세스 덜 #을 야기 보인다쪽으로 생각이 기울고있는 무슨 인 검색하는 것입니다.

  2. 다른 옵션은 게시물 수를 동적으로 계산하는 것입니다. 그러나 이것은 페이지를 새로 고칠 때마다 데이터를 다시 계산해야한다는 것을 의미합니다. 물론, 당신은 이것에 대해 현명 할 수 있고 그것이 새로운 게시물이 추가되었을 때만 중요하기 때문에 더 많은 작업이 필요할 것입니다.

이제는 두 가지 해결책 중 하나에 문제가 없습니다. 사실, 나는 두 가지 해결책을 모두 구현했지만, 누군가가 내게 더 좋은지 또는 그들이 다른 해결책을 가지고 있는지 말해 줄 수 있는지 궁금해하고있다.

+0

제안 해 주셔서 감사합니다. – Edwin

답변

2

이것은 매우 주관적인 질문입니다. 일반적으로 매번 게시물을 세는 데 시간이 오래 걸릴 수 있지만 게시물이 적 으면 실제로 더 나빠질 수 있습니다. 내 충고는 당신을 프로파일하는 것입니다. 데이터베이스에 10, 100, 500, 1000 개의 게시물을로드하고 각 방법을 시도하십시오. 그럼 거기서가. 캐시가 여기에 포함될 것입니다. 또한 APC 캐싱을 살펴보십시오.이 캐싱을 사용하여 보유한 게시물 수를 저장하고 나중에 PHP에서 검색 할 수 있습니다.

2

나는 사용자의 게시물 개수를 저장하고 게시 할 때마다 늘리면 데이터베이스에 부담을 줄이며 모든 게시물 수를 계산할 때보 다 업데이트 및 쿼리로드 시간이 적을 것이라고 말합니다 ....

2

난 항상 첫 번째 옵션에 가서 이미 준 이유 게시물의 번호를 저장하는 것보다 :

시간에 미래의 어느 시점에서이 글의 데이터베이스를 정리하려는 오래된 제거하는 경우 게시물은 사용자가 현재 카운트를 잃지 않을 것입니다. 또한 나중에 더 나은 게시물에 대한 점수를 부여하고 정상적인 게시물에 대한 점수를 줄임으로써 보상 시스템을 향상시킬 수 있습니다. 또한 자신의 게시물을 사냥하지 않고 수동으로 포인트 데이터를 조정할 수 있습니다.

또한 보드 시스템이 얼마나 성공적 이었는지 알지 못할 수도 있습니다. 아마도 언젠가는 미래에 가치를 계산하는 데 너무 오래 걸릴 것입니다.

1

시스템에 대해 너무 많이 모르는 상태에서 두 옵션을 결합한 솔루션이 시도 할만한 것으로 보입니다. 이 카운트를 생성하여 테이블에 저장하는 cron 작업을 만드는 것을 고려하십시오. 그런 다음 게시 횟수를 조회 할 때 해당 표를 참조하게됩니다. 가장 최신 결과를 즉시 얻지는 못하지만, 필요하지는 않을 수도 있습니다.