Mysql海量數據分表分庫如何列表分頁?
1.現在使用ElasticSearch了。基於Lucene的解決方案
2.必須將mysql里的數據寫入到類似hbase這樣的分布式數據庫,查詢快。但分頁、查詢的話,可以在hbase前加一層solr,用於建立數據索引
1.現在使用ElasticSearch了。基於Lucene的解決方案
2.必須將mysql里的數據寫入到類似hbase這樣的分布式數據庫,查詢快。但分頁、查詢的話,可以在hbase前加一層solr,用於建立數據索引
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。
1、直接使用跨庫的多表聯合查詢。不建議。
2、向6台數據庫server均發送一個查詢請求,然后對所有查詢結果進行匯總,再處理分頁邏輯。
3、建立一個總數據庫,只負責維護主鍵和必要的索引,以供分頁查詢。
4、使用redis維護一個主鍵序列,分頁操作就是截取該序列的一部分,其結果就是主鍵id集合。拿到id后便可以映射到多台mysql服務器上查詢數據了。但畢竟數據被分布式存儲了,取到完整結果集必須要多次、多台的數據庫訪問,這個肯定是避免不了。
注:“多台”數據庫訪問的問題無解,但同台“多次”數據庫訪問的問題可以通過程序優化。
復雜查詢情況下,只去前20頁的內容。。也就是默認取200條,然后200*10做好排序,然后去前200條,分20頁給用戶顯示出來。
對於基於日期,序號的有序數組的分頁,可以記錄當前分頁最后一個的被分頁的值,作為stub,然后往后組裝。
單純就索引來說的話,可以試試一些專門做全文索引的服務軟件。
不過這個只是我的想法,功能上應該可以,沒實際中這樣跑過,不知道穩定性怎么樣
向每個庫發送同樣的數據,匯總,排序,分頁
為毛不用mycat
你需要一個中間件
試試 Amoeba for MySQL 看看行不行