成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關(guān)于數(shù)據(jù)庫水平切分中分頁查詢問題的解決方案

數(shù)據(jù)庫 SQL Server
本文我們主要介紹了數(shù)據(jù)庫水平切分中分頁查詢的問題的解決方案,希望本次的介紹能夠?qū)δ兴鶐椭?/div>

數(shù)據(jù)庫水平切分中分頁查詢的問題是本文要介紹的主要內(nèi)容。接下來我們通過一個例子來說明:昨天淘寶的同事問了我一個技術(shù)培訓(xùn)上講師問的問題:我們對數(shù)據(jù)庫關(guān)于商品的表放在了2個庫,分別是A庫和B庫 ,每個庫1張表,然后將id為奇數(shù)的放到A庫中,id為偶數(shù)的放到B庫中,現(xiàn)在需要查詢價格在100-200之間的商品,并根據(jù)銷量來排序,請給出具體的查詢方案,然后總結(jié)這個方案有什么缺點。

1.保證查詢結(jié)果正確性的方式:

比如查詢第1-20條記錄的時候,就得在A庫中執(zhí)行

 

  1. select*  
  2.  
  3. fromxxx  
  4.  
  5. wherexxx.price>=100and  
  6.  
  7. xxx.price<=200  
  8.  
  9. orderbyxxx.sales_volume  
  10.  
  11. limit0,20 

 

然后B庫也同樣執(zhí)行這樣的SQL,***在程序中將2個數(shù)據(jù)庫返回的結(jié)果作一次合并,再取前20條返回給用戶

但是這樣就帶來一個問題,你是不知道到底前20的數(shù)據(jù)是怎么分布的,是10條在A庫,10條在B庫,還是15條在A庫,5條在B庫,當(dāng)用戶翻到第二頁的時候,就得在A庫中查詢前40條記錄,B庫中也查詢前40條記錄出來了...越是后面的頁數(shù),需要查詢的量就越大(PS:當(dāng)然你可以忽悠自己說絕大部分用戶最多就看前3頁的結(jié)果)

2.保證性能的方式:

這個就隨意得多了,為了保證性能,正確性是不太可能保證的,可以每次在A庫查10條,B庫查10條,然后直接返回,結(jié)果肯定和實際的結(jié)果有出入,但相差不至太多,不是每個用戶都會發(fā)現(xiàn)第2頁的商品可能出現(xiàn)銷量比第1頁的商品銷量還要大的情況。

以上兩種方法都各有優(yōu)缺點,但***的結(jié)果可能都不是我們想要的,可是問題出在哪?貌似只有這2種方法了。

其實這里涉及到的是應(yīng)該如何去分庫的問題,如果結(jié)果是按id排序的話,這樣分庫顯然是沒問題的,但如果是按銷量排序的話,那數(shù)據(jù)庫分庫的時候其實應(yīng)該按銷量來切分,比如銷量在100以內(nèi)的放到A庫,銷量在100-1000的放到B庫,這樣查詢起來就輕松多了,最關(guān)鍵的就是要知道,我們分庫的規(guī)則應(yīng)該怎么去設(shè)定。

關(guān)于數(shù)據(jù)庫水平切分中分頁查詢的問題的解決方案就介紹到這里了,希望本次的介紹能夠?qū)δ兴鶐椭?/p>

【編輯推薦】

  1. 關(guān)于Oracle數(shù)據(jù)庫閃回個性的詳細介紹
  2. Oracle數(shù)據(jù)庫對DDL語句和DML語句的事務(wù)管理
  3. Oracle數(shù)據(jù)庫啟動參數(shù)文件及相關(guān)SQL語句簡介
  4. Oracle數(shù)據(jù)庫的幾種文件及表空間數(shù)據(jù)塊的知識簡介
  5. Oracle數(shù)據(jù)庫查詢登錄用戶名所屬表空間及其使用情況
責(zé)任編輯:趙鵬 來源: CSDN博客
相關(guān)推薦

2009-11-18 16:10:00

2011-03-07 16:42:05

MySQL數(shù)據(jù)庫安全

2011-07-26 16:05:19

Oracle數(shù)據(jù)庫服務(wù)器

2011-03-28 13:11:18

MySQL數(shù)據(jù)庫安全

2011-03-03 18:09:14

2010-05-27 18:24:09

MySQL數(shù)據(jù)庫密碼

2018-03-26 12:58:52

數(shù)據(jù)庫OracleMySQL

2011-01-21 09:43:10

安恒數(shù)據(jù)庫安全安全審計

2011-03-24 15:41:42

數(shù)據(jù)庫

2010-05-13 10:27:24

MySQL數(shù)據(jù)庫

2011-08-23 10:02:26

Oracle數(shù)據(jù)庫存儲過程掛死

2011-08-03 14:02:02

數(shù)據(jù)庫連接ACCESS

2017-06-19 16:45:41

數(shù)據(jù)庫水平切分用戶中心

2021-10-04 09:14:18

ElasticSear深度分頁

2010-05-28 11:22:07

2018-12-29 14:26:58

物聯(lián)網(wǎng)IOT物聯(lián)網(wǎng)設(shè)備

2011-07-12 16:42:41

2010-09-15 09:50:55

2011-01-21 10:10:27

2024-02-06 07:56:20

數(shù)據(jù)庫分布式數(shù)據(jù)庫架構(gòu)產(chǎn)品
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 四虎影院免费在线播放 | 特黄色一级毛片 | 81精品国产乱码久久久久久 | 91精品国产91久久久久久不卞 | av免费网址 | 成人性生交大片免费看中文带字幕 | 黑人巨大精品欧美黑白配亚洲 | 九九亚洲精品 | 久久精品国产一区二区电影 | a在线免费观看 | 亚洲大片一区 | 亚洲欧洲日韩 | 国产精品视频在 | 九九亚洲 | 欧美精品综合 | 亚洲精品一区二区另类图片 | 蜜桃一区| 日韩成人在线电影 | 久久中文免费视频 | 91在线网 | 国产激情一区二区三区 | 国产黄a一级 | 做a视频 | 国产精品一区网站 | 在线观看久草 | 久久精品一 | 成人精品一区二区三区中文字幕 | 欧美 中文字幕 | 亚洲免费精品一区 | 欧美日本在线观看 | 天天夜夜操 | 欧美专区在线 | 成人在线视频一区二区三区 | 精品一区二区免费视频 | 91av在线免费| www.久| 在线免费看黄 | 成人午夜免费福利视频 | 一区二区三区欧美 | 亚州精品天堂中文字幕 | www.精品国产 |