PHP MySQL分頁的優化

2021-06-18 19:27:33 字數 805 閱讀 7286

今天在本機布置**的時候,發現後台有乙個功能的分頁特別的慢,要十多秒才能開啟。本身機器也有一點慢,但是才1000多條資料就慢的不得了,以後怎麼辦。

分頁的那個sql語句太複雜,有條件,有外鏈結,有排序,非常的慢,上網查了幾種優化方式。最後對**進行了優化,之後2秒就可以開啟了。

$sql_stringx = "select a.uid from xl_members a where ".$where;

$total_nums = $db->getrowsnum ( $sql_stringx );

//上面用來讀取符合條件文章的總數,網上有人說讀取一次,做為變數一直往下頁面傳,省去之後的這次資料庫讀取,但我覺得太麻煩,沒有做。

$cols = $db->getcol( $sql_stringx." order by a.uid desc limit ".($page - 1) * $page_size.",".$page_size);

//這裡查詢符合本頁條件文字的id,因為這個表id欄位是關鍵字段,有索引所以這一條和上一條查詢會快一些。

$sql_string = "select a.*,b.id as bid from xl_members a

left join xl_business b on a.uid=b.mid

where a.uid in(".implode(",", $cols).") order by a.uid desc";

$memberslist = $db->getlist ( $sql_string );

//最後用取到的id,為條件讀取資料,網上查詢以id為條件,比用limit速度快很多。

PHP MYSQL分頁原理

select from table limit 開始位置 操作條數 分頁原理 所謂分頁顯示,也就是講資料庫中的結果集,一段一段顯示出來 怎麼分段,當前在第幾段 每頁有幾條,當前再第幾頁 前10條記錄 select from table limit 0,10 第11至20條記錄 select from...

php mysql分頁公式

1 sql語句中的limit用法 select from table limit 開始位置 操作條數 2 學習分頁的一種公式 1 分頁原理 所謂分頁顯示,也就是講資料庫中的結果集,一段一段顯示出來 2 需要的條件 怎麼分段,當前在第幾段 每頁有幾條,當前再第幾頁 前10條記錄 select from...

PHP MySQL資料分頁

sqlselect語句查詢總是可能導致數千條記錄。但是在乙個頁面上顯示所有結果並不是乙個好主意。因此,我們可以根據要求將此結果劃分為多個頁面。分頁意味著在多個頁面中顯示您的查詢結果,而不是僅將它們全部放在乙個長頁面中。mysql通過使用limit子句幫助生成分頁,該子句將採用兩個引數。第乙個引數為o...