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

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

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

回答
編輯回答
別逞強(qiáng)

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

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

排序規(guī)則

order by top desc,top_time desc,add_time desc

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

2017年1月24日 06:05