精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

細(xì)數(shù) Mycat 中的那些坑

數(shù)據(jù)庫 MySQL
基于Mysql數(shù)據(jù)庫,使用最廣、最成熟的分布式中間件當(dāng)屬于Mycat。但是,自從采用Mycat中間件進(jìn)行分庫之后,發(fā)現(xiàn)了非常多的坑,下面我們就一起來看看這些坑點(diǎn)!

一、介紹

公司最近在搞服務(wù)分離,數(shù)據(jù)切分的工作,因為訂單和訂單項表的數(shù)據(jù)量實(shí)在過大,而且每天都是以50萬的數(shù)據(jù)量在增長,基于現(xiàn)狀,項目組決定采用分庫的方式來解決當(dāng)前遇到的問題。

那具體怎么切分呢?

分庫的策略其實(shí)還比較簡單,主要是要確定分片的字段和策略。

最開始是想通過主鍵ID的奇、偶數(shù)來分兩個庫,order_1庫主要用于存儲奇數(shù)的ID,order_2庫主要用于存儲偶數(shù)的ID。

但是這種切分,局限性非常大,因為最多只能分兩個庫,如果隨著數(shù)據(jù)量的增大,后面就沒很難在分了。

之后又想到了另一個分片字段:城市ID,因為訂單表上有城市ID的屬性,我們可以基于此進(jìn)行分庫,但是全國有幾百個城市,不可能分幾百個庫或者表,最后的討論結(jié)果是:

  • 城市ID的生成固定大小,默認(rèn)三位數(shù),100~999
  • 將訂單表分成三個庫,order_1、order_2、order_3
  • 當(dāng)城市ID 在100~399區(qū)間,就存儲到order_1庫
  • 當(dāng)城市ID 在400~699區(qū)間,就存儲到order_2庫
  • 當(dāng)城市ID 在700~999區(qū)間,就存儲到order_3庫

通過城市ID進(jìn)行分片,如果后期訂單數(shù)據(jù)量進(jìn)一步過大,也可以進(jìn)一步的分庫!

基于Mysql數(shù)據(jù)庫,使用最廣、最成熟的分布式中間件當(dāng)屬于Mycat。

但是,自從采用Mycat中間件進(jìn)行分庫之后,發(fā)現(xiàn)了非常多的坑,下面我們就一起來看看這些坑點(diǎn)!

二、細(xì)數(shù)Mycat中的坑點(diǎn)

1. 分頁查詢會出現(xiàn)全表掃描

當(dāng)我們把功能上線之后,測試人員在頁面上從末尾頁不停的往前分頁查詢訂單數(shù)據(jù)的時候,運(yùn)維平臺突然報監(jiān)控到很多慢 SQL 報警。

以下是運(yùn)維平臺監(jiān)控到的慢sql語句:

SELECT id FROM order
WHERE OrderCreateTime BETWEEN '2021-05-01 00:00:00' AND '2021-06-01 00:00:00'
ORDER BY id DESC
LIMIT 0, 151400

于是,運(yùn)維同學(xué)開始找到我們,說我們程序有問題,并在群里開始吐槽我們開發(fā)寫的啥玩意,但是我們開發(fā)堅信程序沒有問題,通過查詢?nèi)罩荆覀兣挪榈酱a的查詢語句是長這樣的:

SELECT id FROM order
WHERE OrderCreateTime BETWEEN '2021-05-01 00:00:00' AND '2021-06-01 00:00:00'
ORDER BY id DESC
LIMIT 151300, 100

與實(shí)際運(yùn)維給的慢sql語句中的LIMIT 0, 151400完全不符合。

包括我們自己也 review 了代碼,把 sql日志也截了圖,找技術(shù)總監(jiān)說理去。

之后,當(dāng)測試人員再次點(diǎn)擊分頁查詢的時候,運(yùn)維又監(jiān)控到了LIMIT 0, 151400這種怪異的SQL,我們花了好幾個小時排查,在本地跑測試,還是沒發(fā)現(xiàn)什么問題,真的感覺到了要懷疑人生了!

當(dāng)多次測試的時候,這個問題每次都能復(fù)現(xiàn),讓我想起了一個問題,是不是 Mycat 分頁的時候,對全表掃描了。

后來經(jīng)過查閱資料,才發(fā)現(xiàn)真有這個坑!

在分庫分表的情況下,宕 limit 的開始位置特別大的時候,例如大于某表的總行數(shù)時,mycat 將查詢各個分表的結(jié)果集返,然后在mycat中進(jìn)行合并和排序,再返回結(jié)果。

例如,當(dāng)你原始的 sql 語句是這樣的:

SELECT * FROM table_name WHERE type='xxx' ORDER BY create_time LIMIT 10000,1000

通過 mycat 執(zhí)行的結(jié)果,會是這樣的:

SELECT * FROM table_name WHERE type='xxx' ORDER BY create_time LIMIT 0,11000

結(jié)果集特別大的情況會導(dǎo)致查詢很慢,嚴(yán)重的情況會直接導(dǎo)致 mycat OOM!

因此,在分庫分表的情況,不要用 mycat 進(jìn)行大批量的數(shù)據(jù)分頁查詢,通過條件過濾,減小分頁的數(shù)據(jù)量大小!

2. 子查詢結(jié)果偶爾不完整

當(dāng)通過某些條件,篩選訂單項數(shù)據(jù)時,測試人員反饋某些數(shù)據(jù)偶爾出現(xiàn)不完整。

具體SQL操作如下:

select id,productName
from orderItem
where orderId in (
select id from order where userName = '張三'
)

預(yù)期的查詢結(jié)果時:

1,"巧克力"
2,"可樂"
3,"果凍"
4,"蘋果手機(jī)"

但是實(shí)際查詢的時候,有時候的結(jié)果如下:

1,"巧克力"
2,"可樂"
4,"蘋果手機(jī)"

在網(wǎng)上查詢了相關(guān)的問題,在分庫分表的情況下,子查詢出了偶爾查詢不到完整數(shù)據(jù)外,還會出現(xiàn) mycat 內(nèi)部死鎖,因此盡量在代碼中不要使用子查詢,而是采用主鍵ID或是索引字段進(jìn)行單表查詢,這樣效率會大大提升!

3. 跨分片join問題

由于歷史代碼的緣故,訂單服務(wù)里面存在很多各種連表操作,例如:

select a.*,b.accountName,c.address
from order a
left join account b on a.accountId = b.id
left join account_address c on b.id = c.accountId
where a.orderId = 11110011

但是在走 mycat 查詢之后,直接報錯!

原因是:mycat 目前只支持兩張分片表的 Join,如果要支持多張表需要自己改造程序代碼或者改造Mycat的源代碼。

4. 部分SQL語法不支持

在實(shí)際使用的時候,發(fā)現(xiàn)還有部分sql語句是不支持的。

復(fù)制插入(不支持)

insert into......select.....

復(fù)雜更新(不支持)

update a, b set a.remark='備注' where a.id=b.id;

復(fù)雜刪除(不支持)

delete a from a join b on a.id=b.id;

還有就是不支持跨庫連表操作!

5. 不支持存儲過程創(chuàng)建和調(diào)用

有一點(diǎn),需要大家注意的,在走 mycat 中間件的方式與數(shù)據(jù)庫連接的時候,如果代碼中寫了存儲過程等語句,是 mycat 是不支持調(diào)用的,因此盡量不要使用!

三、小結(jié)

雖然咱們介紹了 mycat 有一些坑,但是這些坑,通過一些優(yōu)化手段還是可以避免的。

實(shí)際上,mycat 作為分庫分表的中間件,也有許多的優(yōu)勢,例如下面官網(wǎng)的介紹。

據(jù)了解,mycat 是目前最成熟、使用最廣的中間件,因此大家在使用的時候,不需要帶有啥顧慮,對于以上的坑點(diǎn),盡可能的避免。

責(zé)任編輯:趙寧寧 來源: Java極客技術(shù)
相關(guān)推薦

2015-04-13 17:39:11

移動IM開發(fā)

2020-09-09 07:55:51

TS開源符號

2019-06-11 10:05:27

統(tǒng)計數(shù)據(jù)平均值欺騙

2018-04-25 09:39:27

神經(jīng)網(wǎng)絡(luò)弊端缺點(diǎn)

2013-03-26 13:48:10

Windows 8

2019-12-05 08:44:20

MybatisSQL場景

2013-06-21 10:45:41

Windows 8.1

2020-05-28 16:15:50

HTTP暗坑前端

2013-05-29 09:59:43

Opera瀏覽器

2021-03-08 08:05:05

漏洞Exchange微軟

2021-05-20 07:32:59

分庫分表數(shù)據(jù)量

2017-08-04 17:07:32

JavaArraysList

2012-12-27 10:22:46

大數(shù)據(jù)

2013-02-21 10:44:03

云計算云平臺云服務(wù)提供商

2022-08-16 08:27:20

線程毀線程異步

2012-05-09 13:36:30

WP7手機(jī)

2014-03-20 09:44:40

算法編碼搜索算法

2013-09-03 09:25:34

2022-09-19 16:02:12

List代碼

2020-04-21 15:18:11

財務(wù)信息化
點(diǎn)贊
收藏

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

福利在线一区二区| 成人av番号网| 亚洲一二三精品| 95精品视频| 亚洲不卡在线观看| 欧美一区二区在线视频观看| 一二三四区在线| 最新日韩在线| 中文字幕亚洲天堂| 美女搡bbb又爽又猛又黄www| 成人黄色免费短视频| 亚洲激情图片一区| 欧美日韩一区二区视频在线| 国产免费叼嘿网站免费| 亚洲欧美日韩国产| 美女视频黄免费的亚洲男人天堂| 国产亚洲色婷婷久久99精品91| 欧美精品高清| 亚洲一区二区精品3399| 天天综合色天天综合色hd| 亚洲成人久久精品| 奇米色777欧美一区二区| 久久免费国产视频| 国产精品视频一区二区在线观看| 天天躁日日躁狠狠躁欧美| 欧美精品第1页| jizz欧美激情18| mm视频在线视频| 国产精品国产三级国产专播品爱网| 国产女人水真多18毛片18精品| 曰批又黄又爽免费视频| 六月丁香综合| 91超碰中文字幕久久精品| 全网免费在线播放视频入口 | 成人av福利| 国产亚洲精品中文字幕| 久久国产一区二区| 蜜臀av午夜精品| 国产成人精品免费网站| 成人免费在线网址| 亚洲天堂久久久久| 日韩国产精品久久久| 51ⅴ精品国产91久久久久久| 国产污片在线观看| 亚洲成人直播| 97在线免费观看| 国产精品成人免费一区二区视频| 欧美极品一区二区三区| 久久亚洲精品中文字幕冲田杏梨| 日本猛少妇色xxxxx免费网站| 亚洲精品亚洲人成在线| 亚洲美女av在线| 中文字幕5566| 精品国产精品国产偷麻豆| 亚洲美女在线看| 久久只有这里有精品| 欧美人与牛zoz0性行为| 国产一区二区动漫| 欧美福利在线视频| 98精品久久久久久久| 久久影院免费观看| 黄色一级片在线| 精品福利av| 91av在线免费观看视频| 国产成人综合欧美精品久久| 久久电影一区| 国产精品91久久| 亚洲图片欧美在线| 国产伦精品一区二区三区在线观看| 91天堂在线视频| 人妻夜夜爽天天爽| 国产亚洲欧美在线| 午夜探花在线观看| 国产91足控脚交在线观看| 午夜欧美在线一二页| 国产成人精品无码播放| 欧美日韩卡一| 精品国产乱码久久| 永久免费成人代码| 91精品一区二区三区综合| 欧美极品少妇与黑人| 国产午夜性春猛交ⅹxxx| 日本欧美韩国一区三区| 2019国产精品视频| 婷婷国产在线| 国产精品另类一区| 久久人人爽人人爽人人av| 中文字幕在线视频久| 欧美在线观看禁18| 超碰人人cao| 九九免费精品视频在线观看| 北条麻妃在线一区二区| 亚洲天堂日韩av| 裸体在线国模精品偷拍| 激情久久av| 麻豆网在线观看| 五月天中文字幕一区二区| 污视频免费在线观看网站| 亚洲国产视频二区| 国产一区二区三区在线视频| 欧美精品色哟哟| 日韩经典中文字幕一区| 国产v亚洲v天堂无码| 国产高清视频在线| 亚洲www啪成人一区二区麻豆| 黄色在线视频网| 国产精品色呦| 久久久国产精彩视频美女艺术照福利 | 国产精品久久久久久久久久久久久久久久久久 | 亚洲欧美一区二区三| 国产精品久99| 色欲av无码一区二区人妻| 国产乱码精品一区二区三区亚洲人| 日韩国产高清视频在线| 婷婷在线精品视频| 男女男精品网站| 快播亚洲色图| 丁香花高清在线观看完整版| 欧美久久久影院| 日韩毛片无码永久免费看| 亚洲久色影视| 成人性色av| 国产激情在线| 欧美日韩国产区一| av网站免费在线看| 亚洲综合二区| 激情欧美一区二区三区中文字幕| 天堂va在线| 欧美福利一区二区| gv天堂gv无码男同在线观看| 欧美资源在线| 久久99精品久久久久久久青青日本| 超碰在线网址| 欧美日韩aaaaa| 日本美女bbw| 日本一不卡视频| 日韩中文字幕av在线| 激情都市亚洲| 亚洲女成人图区| 中文字幕一区在线播放| 久久影院午夜论| 国产免费观看高清视频| 韩国精品福利一区二区三区| 欧美激情在线观看视频| 亚洲精品久久久久久久久久| 一区二区三区免费看视频| 激情久久综合网| 欧美激情1区2区| 99久久伊人精品影院| 18网站在线观看| 日韩亚洲欧美在线| 久久久久亚洲av片无码下载蜜桃| 国产精品影音先锋| 996这里只有精品| 国产成人在线中文字幕| 91国内免费在线视频| 日本福利午夜视频在线| 在线观看网站黄不卡| 国产三级短视频| 激情五月播播久久久精品| 天天干天天色天天爽| 亚洲国产欧美在线观看| 97香蕉超级碰碰久久免费的优势| 日本福利片高清在线观看| 欧亚一区二区三区| 一本一本久久a久久| 国产一二精品视频| av女优在线播放| 视频一区欧美| 国产一区二区在线免费视频| 影音先锋在线播放| 亚洲精品久久久久久下一站| 久久久久在线视频| 中文字幕亚洲成人| 日本人妻一区二区三区| 国产一区二区高清| 亚洲日本japanese丝袜| 亚洲网址在线观看| 日韩av片电影专区| 国产日产一区二区三区| 精品国产乱码91久久久久久网站| 久久精品视频7| **欧美大码日韩| 午夜一区二区三区免费| 九九精品视频在线看| 久久久久久久9| 精品国产1区| 91手机在线播放| 日韩免费va| 欧美大片大片在线播放| 福利在线播放| 精品成a人在线观看| 中文无码精品一区二区三区| 一区二区三区欧美日| 91中文字幕永久在线| 国产精一区二区三区| 国产美女三级视频| 欧美日韩网站| 亚洲国产精品一区在线观看不卡| 日韩一级淫片| 国产精品入口免费视频一| 黄色的网站在线观看| 亚洲久久久久久久久久| 亚洲av少妇一区二区在线观看 | 欧美人成在线视频| 成人综合影院| 日韩精品免费综合视频在线播放| 91精品视频免费在线观看| 天天综合天天做天天综合| 色老板免费视频| 国产午夜精品福利| av2014天堂网| 国产精品一级在线| 手机看片一级片| 性色一区二区| 日本人体一区二区| 午夜欧美理论片| 在线免费观看成人| 日韩精品1区| 欧美日韩精品免费观看| 国产香蕉精品| www日韩av| 精品国产亚洲一区二区在线观看| 国产精品无av码在线观看| 欧美大片免费| 国模吧一区二区| 牛牛在线精品视频| 九九热r在线视频精品| 五月天婷婷在线视频| 亚洲欧美精品一区| 全色精品综合影院| 亚洲激情视频在线观看| 亚洲免费成人在线| 日韩欧美一级二级三级久久久| 国产精品久久久久久久久毛片| 色婷婷av一区二区三区软件| 国产成人在线观看网站| 亚洲国产精品久久艾草纯爱 | 国产一二三区在线| 日韩精品在线影院| 亚洲 国产 欧美 日韩| 亚洲精品理论电影| 亚洲av成人无码网天堂| 日韩精品亚洲精品| 亚洲三级中文字幕| 国产网站欧美日韩免费精品在线观看| 欧美一级免费片| 亚洲福利视频久久| 日韩精品一二| 亚洲色图综合久久| av在线首页| 久久精品99久久久香蕉| 久操视频在线播放| 欧美成人自拍视频| 黑人极品ⅴideos精品欧美棵| 久久97精品久久久久久久不卡| 手机在线免费看av| 午夜精品在线观看| 综合日韩av| 国产精品美乳一区二区免费 | 制服丝袜中文字幕亚洲| av天堂一区二区三区| 欧美videos大乳护士334| 农村少妇久久久久久久| 亚洲美女性视频| 午夜在线视频播放| 欧美另类高清videos| 川上优av中文字幕一区二区| 日韩av免费在线播放| 欧美一级免费| 国产精品久久精品视| 在线亚洲a色| 一区二区三区我不卡| 欧美天天视频| 欧美日韩一区二区在线免费观看| 毛片基地黄久久久久久天堂| 性生活一级大片| 97国产精品videossex| 国产精品国产三级国产专业不| 亚洲欧美影音先锋| 日韩欧美三级视频| 欧美无砖砖区免费| 性网爆门事件集合av| 亚洲欧美另类中文字幕| 成人黄色网址| 日本精品视频在线| 精品一区91| 日本成人看片网址| 欧美性久久久| 亚州精品一二三区| 国产91丝袜在线播放九色| 西西444www无码大胆| 亚洲综合久久久久| 亚洲午夜在线播放| 亚洲精品国产欧美| 中文字幕有码在线视频| 国产成人av网| 精品久久ai电影| 自拍偷拍一区二区三区| 久久久夜夜夜| 男女一区二区三区| 亚洲啪啪综合av一区二区三区| 国产又黄又爽又色| 日韩三级电影网址| 1024视频在线| 日韩av毛片网| 女同另类激情重口| www.一区二区.com| 美女一区二区久久| 久久精品一区二区免费播放| 一区二区三区日本| 国产精品无码在线播放 | 五月婷六月丁香| 精品久久久久久亚洲精品| 国产99视频在线| 日韩资源在线观看| 人人视频精品| 精品久久精品久久| 欧美激情日韩| 涩涩网站在线看| 国产精品少妇自拍| 怡红院av久久久久久久| 亚洲丁香婷深爱综合| 18videosex性欧美麻豆| 国产日韩欧美夫妻视频在线观看 | 日日噜噜噜夜夜爽爽| 久久免费国产| 国产熟妇久久777777| 色综合久久中文字幕综合网 | 欧美男男gaygay1069| 日韩欧美一区二区在线观看| 亚洲女同在线| 欧美深性狂猛ⅹxxx深喉 | 久久久久免费观看| 伊人久久综合视频| 亚洲国产精品成人av| free性欧美16hd| 国产精品久久久久久免费观看| 中文字幕一区二区三区在线视频| 久热精品在线观看视频| 国产精品人人做人人爽人人添| 无码久久精品国产亚洲av影片| 亚洲片国产一区一级在线观看| 日韩av大片站长工具| 免费中文日韩| 日本亚洲天堂网| 国产三级短视频| 欧美欧美欧美欧美| 国产日产一区二区| 91久久精品www人人做人人爽| 欧美+日本+国产+在线a∨观看| 成人在线短视频| 亚洲国产精品久久久男人的天堂| 刘亦菲久久免费一区二区| 91精品国产高清久久久久久久久 | 国产一区二区三区在线观看网站 | 欧美白人最猛性xxxxx69交| 色a资源在线| 国产一区二区三区四区hd| 亚洲综合三区| 婷婷综合在线视频| 欧美一区二区在线不卡| 2021中文字幕在线| 欧洲久久久久久| 久久精品999| 精品午夜福利视频| 亚洲欧美国产一本综合首页| 欧美成人aaa| 日本欧美视频在线观看| 久久久久久久网| 一本色道久久综合无码人妻| 九九热最新视频//这里只有精品| 久久影视三级福利片| 污污视频网站免费观看| 日韩毛片精品高清免费| 亚洲免费成人在线| 国产精品久久久久久中文字| 91精品成人| 瑟瑟视频在线观看| 91精品免费观看| 中文字幕色婷婷在线视频| 一区国产精品| 99精品久久只有精品| 亚洲资源在线播放| 国内精品久久久久久中文字幕| 国产永久精品大片wwwapp| 亚洲911精品成人18网站| 日本高清视频一区二区| 91蜜桃在线视频| 欧美一区三区二区在线观看| 国产精品自拍在线| 久久久久久久久黄色| 欧美裸体xxxx极品少妇| 国产91精品对白在线播放| 亚洲热在线视频| 色94色欧美sute亚洲线路二| 尤物yw193can在线观看| 天堂av一区二区| av毛片久久久久**hd| 国产理论视频在线观看|