사용자가 게시물에 대해 의견을 말할 수있는 소셜 네트워크 플랫폼에서 작업하고 있습니다.데이터베이스에서 선택하고 소프트웨어로 제한하거나 데이터베이스 (mysql)로 제한
그리고 각 게시물 (페이지를로드 할 때)에 대한 모든 주석을 선택하고 소프트웨어를 사용하여 줄이거 나 또는 mysql 쿼리를 사용하여 결과를 제한해야하는지에 대한 딜레마가 생겼습니다.
이 딜레마의 이유는 mysql이 자체 최적화 및 쿼리/결과 캐싱을 수행하고, 출력을 제한하면 쿼리 캐싱이 쓸모 없게 될 수도 있지만 그렇지 않다면 필요한 것보다 더 많은 데이터를 얻는 것뿐만 아니라 소프트웨어 오버 헤드가 있습니다.
질문은이 한글 MYSQL and the LIMIT clause과 같을 수는 있지만 제한 사항 1을 언급하지만, 내 경우에는 결과 수가 0에서 3000 (또는 그 이상) 일 수 있습니다. 한도는 일반적으로 3이지만 사용자가 더 많은 댓글을보고 싶은 경우 달라집니다.
쿼리에 ORDER BY id DESC 절이 있고 그 SELECT * (반드시 있어야 함)에 대해 언급해야합니다. 기본적으로, SELECT * FROM table where postid = '$ variable'ORDER BY id DESC.
나는 또한 소프트웨어가 2 년 이상 잘 실행되었다는 것을 언급해야하지만, 나는 그것을 최적화하는 과정에있다. 그래서, 어떤 도움이 될 것입니다.
편집 : TL : DR 주요 질문은 다음과 같습니다. 하나의 데이터베이스 쿼리를 사용하고 소프트웨어를 사용하여 필요한 부분에 정확한 데이터를 요청하는 것보다 더 좋습니다 (제한 절 포함)?
왜 테스트하지 않는 것이 좋을까요? 당신은 당신 자신을 위해 그것을 시험해 볼 필요가있을만큼 구체적인 소리를 낸다. –
성능 차이를 찾는 정확한 방법이 없다는 것을 제외하면 두 가지 방법 모두 잘 동작한다. 그리고 몇몇 전문가의 견해가 도움이 될 것입니다. – Sina
또한 테스트하기 쉽지 않다고 덧붙여 야합니다. 시스템에 접속하려면 수천 명의 사용자가 필요하며 가변 길이의 변수 게시물을 작성한 다음 수천 개의 주석을 작성한 다음 비교하기 위해로드하는 데 걸리는 시간을 적어 두십시오. 그래서 기본적으로 테스트 할 수 없습니다. – Sina