根據時間排序分頁查詢導致部分資料丟失原因

2021-08-17 03:00:03 字數 492 閱讀 6954

場景:

分析:

select id, orderno, addtime

from deal_taborder by addtime desc

limit 1,20

如果資料庫存入時間最低單位到秒,那麼在交易多的時候表中會出現多筆在同一時間生成的訂單,當以時間排序時,資料庫難以判斷時間先後,當這種無法分辨的記錄出現在兩頁分隔的地段,在分頁時可能會導致某一/幾筆訂單被「隱藏」的現象,在顯示記錄的時候就看不到了。

解決:1、第一種解決辦法,當然存入資料庫的時間欄位以毫秒數為最小單位可極大可能避免這種情況。

2、當某一時刻交易量極大的時候,甚至出現毫秒數都一樣的訂單也是可能的,這時可以用另乙個欄位來輔助排序,如自增長的id,絕不會重複,且按記錄進入資料表增大的。

select id, orderno, addtime

from deal_taborder by addtime desc, id

limit 1,20

bmob根據時間排序分頁查詢多條資料

bmobobject預設有 createdat,updatedat時間字段,儲存這個bmobobject物件的生成時間和更新時間。bmob開發文件的時間查詢示例為 如果想查詢指定日期之前的資料,則可以使用addwherelessthan或者addwherelessthanorequalto 包含當天...

JPA根據時間區間分頁查詢(前後端分離)

本記錄側重於時間區間的查詢,所以只顯示部分 學習備用 資料庫 column name add time private long addtime 控制層 其實邏輯 應該是寫在service層的 下次注意 restcontroller public class apiordercontroller s...

iOS 根據時間排序

這個是回答這篇文章的問題 建立個date模型 import inte ce date nsobject property nonatomic,copy nsstring time end之後賦值進行排序 date d1 date alloc init d1.time 2012 12 02 date ...