Bạn có đang chạy các truy vấn của mình bên trong một vòng lặp nào đó không?
Đồng ý với câu trả lời phân trang, giới hạn sử dụng và hiệu số. Nếu bạn chạy 10per trang mà có 700 truy vấn. Tôi sẽ sử dụng lib phân trang của codeigniter như sau.
$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}
));
}