原文:Mysql排序后分頁,因數據重復導致分頁數據紊亂的問題

背景 前不久在寫一個分頁接口的時候,在測試階段出現了排序結果紊亂且數據不正確的問題,那個接口是按照create time進行排序的,但是對應的表中有很多相同create time的數據,最后發現是因為order by 排序的時候,如果排序字段中有多行相同的列值,則排序結果是不確定的。 復現 創建一個簡單表,並插入一些數據 mysql gt desc people Field Type Null K ...

2021-05-06 07:17 0 1406 推薦指數:

查看詳情

MySQL中orderby和limit分頁數據重復問題

背景 讀取規則是按照某表中sequence字段排序的,而這個字段是讓人手工填寫的。那么,可想而知,數據一多,難免會出現填寫的值相同的情況。 綜上所述,可能就會導致以下兩條sql出現數據重疊的情況: 說明 從網上找了一篇對此問題解釋的文章,這里不做贅述。問題產生的原因 ...

Fri Sep 13 02:05:00 CST 2019 0 498
解決 MySQL 分頁數據錯亂重復

前言 一天,小明很着急地在通訊工具上說:這邊線上出現了個奇怪的問題,麻煩 DBA 大大鑒定下,執行語句 select xx from table_name wheere xxx order by 字段A limit offset;, 表數據總共 48 條,分頁數量正常,但出現了結果混雜的情況 ...

Thu May 04 19:24:00 CST 2017 6 9294
分頁數據重復問題

前段時間,測試給了個bug ,前端顯示時第一頁和第二頁有重復數據,后台debug測試也有。把控制台打印的sql考到可視化工具跑一下,問題還是有。 然后再去除分頁,發現問題就沒有了。出現問題點在於分頁。后來請教了我們公司的大佬。說可能是因為你那個字段值有重復的情況,最好加一個可以保證唯一性的字段 ...

Wed Jul 10 22:02:00 CST 2019 0 957
mybatis分頁數據重復

今天測試的時候遇到個bug:分頁查詢出來的數據是亂序的(第一頁查過的數據也會跑第二頁去) 將mybatis 日志中的sql ,拿出來單獨執行,發現結果是正確,為什么mybatis查出來的數據是亂序的? 初步分析可能是排序列上的重復值引起的,但是我的sql中並沒有排序字段。 經過嘗試有兩種 ...

Wed Dec 05 00:31:00 CST 2018 0 1033
解決mysql分頁數據錯亂問題

今天同事遇到個麻煩的問題,寫了一個分頁的功能,結果查出來的數據竟然有重復,有些數據同時在相鄰的兩頁出現了, 但是查詢總數據分頁的時候又只有一條,這里主要是排序問題,在mysql中用 order by 排序的時候,如果排序字段中有相同的結果, 則排序結果是不確定的,每一個分頁查詢 ...

Thu Jul 12 01:25:00 CST 2018 0 1525
InnerJoin分頁導致數據重復問題排查

  2016年8月9號美好的七夕的早上,我精神抖擻地來到公司。一會之后,客服宅宅MM微信我,說一個VIP大店鋪訂單導出報表中一個訂單有重復行。於是,我趕緊開始查探問題所在。經過一天的反復仔細追查(當然還包括各種事項的打斷),終於發現這個問題的原因所在。。。      有個訂單主表 o ...

Thu Aug 11 07:31:00 CST 2016 0 2173
postgresql-分頁數據重復問題探索

postgresql-分頁數據重復探索 問題背景 許多開發和測試人員都可能遇到過列表的數據翻下一頁的時候顯示了上一頁的數據,也就是翻頁會有重復數據。 如何處理? 這個問題出現的原因是因為選擇的排序字段有重復,常見的處理辦法就是排序的時候加上唯一字段,這樣在分頁的過程中數據就不會重復 ...

Thu Mar 28 19:35:00 CST 2019 0 619
Mybatis oracle多表聯合查詢分頁數據重復問題

Mybatis oracle多表聯合查詢分頁數據重復問題 多表聯合查詢分頁獲取數據時出現一個詭異的現象;數據總條數正確,但有些記錄多了,有些記錄卻又少了甚至沒了。針對這個問題找了好久,最后發現是由於多個排序字段不唯一,同樣的排序順序每次運行返回的結果順序不一致,導致這樣的現象出現。 增加排序 ...

Mon Jan 16 04:48:00 CST 2017 1 2583
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM