鍍金池/ 問答/PHP/ 分頁問題:在有置頂?shù)那闆r下,處理數(shù)據(jù)的實時更新。

分頁問題:在有置頂?shù)那闆r下,處理數(shù)據(jù)的實時更新。

問題是:api接口,是一個文章列表,然后文章有置頂功能,排序方式是 置頂,置頂時間,添加時間。由于數(shù)據(jù)更新較快,如果按正常的頁碼分頁的話,會出現(xiàn)數(shù)據(jù)重復的情況。之前沒有置頂?shù)臅r候會按照最后的那一條文章的添加時間來分頁,即addtime<timestamp。加上置頂?shù)脑掜樞蚓蛠y了,這種應(yīng)該怎么解決比較好?

回答
編輯回答
別逞強

你把置頂?shù)奈恼路旁诰彺嬷谢蛘吡硪粡埍碇校ㄎ恼卤硪灿兄庙斘恼碌臄?shù)據(jù)),那么你先在這邊取置頂文章,然后再按之前最后一條文章的添加時間來分頁,當然增加過濾條件非置頂文章。這樣性能會快很多,尤其是有對“添加時間”欄位做了索引。

2018年2月10日 07:31
編輯回答
枕邊人

排序規(guī)則

order by top desc,top_time desc,add_time desc

不是連續(xù)的分頁的時候不要用addtime<timestamp,直接用limit分頁即可。數(shù)據(jù)量小的情況下,limit不慢,假設(shè)你一頁10條,100頁才1000條,這個時候可能性能有一點點影響。但是 我不覺得有哪些人蛋疼翻100頁的

2017年1月24日 06:05