쿼리를 조금 넘어서 생각하십시오. 사용자가 많은 양의 데이터를 볼 수 있도록하는 것이 목표라면, UI를 압도 할 괴상한 쿼리를 사용하지 않고 데이터를 원하는대로 수집하십시오. 결과는보기 좋을뿐만 아니라 훨씬 빨라졌습니다.
이 패턴의 개인 트릭은 DataTables입니다. Ajaxed 쿼리 (내장되어 있음)를 사용하여 사용자가보고 싶어하는 시간에 쿼리의 데이터를 "청크"로 가져올 수있는 그리드입니다. 코드에 대한 간단한 추가와 함께 정렬, 페이지, 필터링, 제한 및 검색까지 할 수 있습니다. 심지어 플러그인을 사용하여 Excel, PDF 등으로 결과를 내보낼 수도 있습니다.
Datatables는 다른 사람이 가지고 있지 않은 가장 큰 특징은 "파이프 라이닝"이라는 개념으로 표시 할 금액을 얻을 수 있다는 것입니다 20)와 추가 금액을 전방 및/또는 후방으로 추가합니다. 이렇게하면 관리 가능한 쿼리를 계속 수행 할 수 있지만 사용자가 "다음 페이지"를 누를 때마다 데이터베이스에 도달 할 필요가 없습니다.
수백만 건의 레코드를 처리하는 앱이 있습니다. 모든 데이터에 대한 하나의 쿼리는 불가능합니다 .... 너무 오래 걸릴 것입니다. 그러나 한 번에 25를 잡는 것은 번개가 빠르며 속임수가 필요하지 않습니다. 일단 데이터 테이블이 올라 오면 필자는 쿼리 성능을 조정하고, 필요에 따라 인덱싱을 수행하며, 훌륭하고 응답 성이 좋은 앱입니다.
<table id="example"></table>
$('#example').dataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "/processing/file.php"
});
캐시 + cron ... – apneadiving