어떤 종류의 루프에서 쿼리를 실행하고 있습니까?
페이지 매김 대답에 동의하면 제한 및 오프셋을 사용하십시오. 당신이 10per 페이지 thats 700 쿼리를 실행하는 경우. 나는 codeigniter의 페이지 매김 라이브러리를 다음과 같이 사용할 것이다.
$route['controller/(:num)'] = 'controller/index/$1';
-
public function index($offset=0)
{
//set a limit of 10 per result
$limit = 10;
//query the database
$q = "SELECT * FROM {table_name} LIMIT={limit} OFFSET={offset} ORDER BY {date} desc";
//count the results
$count = count({query results});
//setup pagination config
$config = array(
'base_url' => site_url('controller/'),
'total_rows' => $count,
'per_page' => $limit,
'uri_segment' => 2
);
//init the pagigination
$this->pagination->initialize($config);
//load the view and pagination data
$this->load->view('link_to_template', array(
'pagination' => $this->pagination->create_links(),
'results' => {query results}
));
}
+1에 추가하십시오. 요점 : 당신은 페이지 매김을 시도 했습니까? –
어떤 종류의 ORM을 사용하고 있다면이 수의 레코드로 인해 속도가 느려집니다. 많은 수의 레코드를 나열해야하고 페이지 매김을 원하지 않으면 직접 데이터베이스 호출을 사용하십시오. – halfer
Jerry는 @Justin이 당신이 정말로 그 결과를 통해 페이징을 고려할 필요가 있다고 지적했습니다. HTML과 자바 스크립트의 복잡성에 따라 어떤 브라우저에서도 1000을 렌더링하는 것은 좋은 생각이 아니며 여러분이 언급하는 것처럼 할 수 있습니다. 그래서 7000은 확실히 문제가 될 것입니다. 오른쪽 마음에 누가 플러스 7,000 행을 통해 스크롤하려고합니다. – spinon