我有一個有100-200k記錄的數據庫表,我需要優化它。例如,如果用戶想搜索術語汽車,他將獲得大約25k的結果。PHP + MySQL:如何獲取僅限數量的結果?
我想給他提供500個最新結果,但怎麼做?我知道我必須使用LIMIT
,但我不確定如何「組合」最新的500行。
爲了進行更好的畫面如何,我從數據庫獲取現在的數據,這裏有一個小片斷:
$search = mysql_real_escape_string(searched_query($_GET['skill']));
$q = "...long sql query...";
echo $q;
$result = mysql_query($q);
$items = 30; // number of items per page.
$all = $_GET['a'];
$num_rows = mysql_num_rows($result);
if($all == "all"){
$items = $num_rows;
}
$nrpage_amount = $num_rows/$items;
$page_amount = ceil($num_rows/$items);
$page_amount = $page_amount-1;
$page = mysql_real_escape_string($_GET['p']);
if($page < "1"){
$page = "0";
}
$p_num = $items*$page;
// Query that you would like to SHOW
$result = mysql_query($q." ORDER BY published DESC LIMIT $p_num , $items");
預先感謝您!
但會工作,然後分頁? – user1946705 2013-03-07 09:32:35
你試過了嗎? – 2013-03-07 09:35:08
什麼是downvote? – 2013-03-07 09:39:02