I have a MySQL database that has over 9000 rows with 10 fields. It was imported from an Excel file so it\'s all in one table.
When I run the query, which has already na
Ideally, come up with a better query, or provide your users with better search terms. If they ultimately need to look through all 7000 rows, you need some kind of paging. One option is AJAX paging as explained in this article. Basically, you have a new request for each group of rows, but the user stays on the same page.
Add indices (indexes) for particular columns; if columns are text, then add FULLTEXT indexes
Are you running your queries inside a loop of some sort?
Agree with pagination answers, use limits and offsets. If you run 10per page thats 700 queries. I would use codeigniter's pagination lib as follows.
$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}
));
}
Start from reading about 'limit' in sql's selects to paginate your output.