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

揭秘MySQL多版本并發(fā)控制實(shí)現(xiàn)原理

數(shù)據(jù)庫 MySQL
MySQL 中多版本并發(fā)控制(MVCC),是現(xiàn)代數(shù)據(jù)庫引擎實(shí)現(xiàn)中常用的處理讀寫沖突的手段,MVCC 作為 MySQL 高級(jí)應(yīng)用特性,目的在于提高數(shù)據(jù)庫高并發(fā)場(chǎng)景下的吞吐性能。

 MySQL 中多版本并發(fā)控制(MVCC),是現(xiàn)代數(shù)據(jù)庫引擎實(shí)現(xiàn)中常用的處理讀寫沖突的手段,MVCC 作為 MySQL 高級(jí)應(yīng)用特性,目的在于提高數(shù)據(jù)庫高并發(fā)場(chǎng)景下的吞吐性能。

一、MVCC出現(xiàn)背景是什么?

事務(wù)的4個(gè)隔離級(jí)別以及對(duì)應(yīng)的3種異常:

  • 臟讀:一個(gè)事務(wù)讀取到了另外一個(gè)事務(wù)沒有提交的數(shù)據(jù);

  • 不可重復(fù)讀: 在同一事務(wù)中,兩次讀取同一數(shù)據(jù),得到內(nèi)容不同;

  • 幻讀: 同一事務(wù)中,用同樣的操作讀取兩次,得到的記錄數(shù)不相同。

在 MySQL 中, 默認(rèn)的隔離級(jí)別是可重復(fù)讀 ,可以解決臟讀和不可重復(fù)讀的問題,但不能解決幻讀問題。如果我們想要解決幻讀問題,就需要采用串行化的方式,也就是將隔離級(jí)別提升到最高,但這樣一來就會(huì)大幅降低數(shù)據(jù)庫的事務(wù)并發(fā)能力。

而MVCC就是通過樂觀鎖的方式來解決不可重復(fù)讀和幻讀問題,它可以在大多數(shù)情況下替代行級(jí)鎖,降低系統(tǒng)的開銷。

MySQL 并發(fā)事務(wù)會(huì)引起更新丟失問題,解決辦法是鎖,主要分兩類:

  • 樂觀鎖:

    其實(shí)現(xiàn)如同它的名字一樣,是假設(shè)比較好的情況。

    每次取數(shù)據(jù)的時(shí)候都認(rèn)為他人不會(huì)對(duì)其修改,所以不會(huì)上鎖,但是在更新的時(shí)候會(huì)判斷一下在此期間別人有沒有去更新這個(gè)數(shù)據(jù),可以使用版本號(hào)機(jī)制和CAS算法實(shí)現(xiàn)。

  • 悲觀鎖:

    悲觀鎖也如同它的名字一樣,總是假設(shè)比較壞的情況,每次取數(shù)據(jù)的時(shí)候都認(rèn)為他人會(huì)修改,所以每次在拿數(shù)據(jù)的時(shí)候都會(huì)上鎖,這樣別人想拿這個(gè)數(shù)據(jù)就會(huì)阻塞直到它拿到鎖(共享資源每次只給一個(gè)線程使用,其它線程阻塞,用完后再把資源轉(zhuǎn)讓給其它線程)。

二、什么是MVCC,它解決了什么問題?

MVCC 是通過數(shù)據(jù)行的多個(gè)版本管理來實(shí)現(xiàn)數(shù)據(jù)庫的并發(fā)控制,簡(jiǎn)單來說它的思想就是保存數(shù)據(jù)的歷史版本。

我們可以通過比較版本號(hào)決定數(shù)據(jù)是否顯示出來(具體的規(guī)則后面會(huì)介紹到),讀取數(shù)據(jù)的時(shí)候不需要加鎖也可以保證事務(wù)的隔離效果。

通過 MVCC 我們可以解決以下幾個(gè)問題:

(1)讀寫之間阻塞的問題,通過 MVCC 可以讓讀寫互相不阻塞,即讀不阻塞寫,寫不阻塞讀,這樣就可以提升事務(wù)并發(fā)處理能力。

(2)降低了死鎖的概率。這是因?yàn)?MVCC 采用了樂觀鎖的方式,讀取數(shù)據(jù)時(shí)并不需要加鎖,對(duì)于寫操作,也只鎖定必要的行。

(3)解決一致性讀的問題。一致性讀也被稱為快照讀,當(dāng)我們查詢數(shù)據(jù)庫在某個(gè)時(shí)間點(diǎn)的快照時(shí),只能看到這個(gè)時(shí)間點(diǎn)之前事務(wù)提交更新的結(jié)果,而不能看到這個(gè)時(shí)間點(diǎn)之后事務(wù)提交的更新結(jié)果。

解釋一下可能難以理解的幾個(gè)詞匯:

  • 快照讀:

    讀取的是快照數(shù)據(jù),不加鎖的簡(jiǎn)單的SELECT都屬于快照讀(只是普通的讀操作)。

  • 當(dāng)前讀:

    當(dāng)前讀就是讀取最新數(shù)據(jù),而不是歷史版本的數(shù)據(jù)。

    加鎖的SELECT,或者對(duì)數(shù)據(jù)進(jìn)行增刪改都會(huì)進(jìn)行當(dāng)前讀(包括加鎖的讀取和DML操作)。

三、應(yīng)用舉例分析

為了更好地讓大家理解MVCC,我們用一個(gè)示例場(chǎng)景來說明。

假設(shè)有個(gè)賬戶金額表 user_balance,包括三個(gè)字段,分別是 username 用戶名、balance 余額和 bankcard 卡號(hào),表數(shù)據(jù)如下所示:

用戶 A 和用戶 B 之間進(jìn)行轉(zhuǎn)賬,此時(shí)數(shù)據(jù)庫管理員想要查詢 user_balance 表中的總金額,兩個(gè)場(chǎng)景存在并發(fā)情況,在沒有MVCC的情況下,會(huì)出現(xiàn)哪些問題呢。

Case1 :因?yàn)樾枰捎眉有墟i的方式,用戶 A 給 B 轉(zhuǎn)賬時(shí)間等待很久,如下圖所示。

Case2 :當(dāng)我們讀取的時(shí)候用了加行鎖,可能會(huì)出現(xiàn)死鎖的情況,如下圖所示。

比如當(dāng)我們讀到 A 有 1000 元的時(shí)候,此時(shí) B 開始執(zhí)行給 A 轉(zhuǎn)賬。

四、InnoDB如何實(shí)現(xiàn)MVCC?

當(dāng)查詢一條記錄的時(shí)候,執(zhí)行流程如下:

  1. 首先獲取事務(wù)自己的版本號(hào),也就是事務(wù) ID;

  2. 獲取 Read View;

  3. 查詢得到的數(shù)據(jù),然后與 Read View 中的事務(wù)版本號(hào)進(jìn)行比較;

  4. 如果不符合 ReadView 規(guī)則,就需要從 Undo Log 中獲取歷史快照;

  5. 最后返回符合規(guī)則的數(shù)據(jù)。

相關(guān)概念

1. 事務(wù)版本號(hào)

一個(gè)自增長(zhǎng)的事務(wù)ID,用于標(biāo)記事務(wù)執(zhí)行的先后順序。

2. Read View

在 MVCC 機(jī)制中,多個(gè)事務(wù)對(duì)同一個(gè)行記錄進(jìn)行更新會(huì)產(chǎn)生多個(gè)歷史快照,這些歷史快照保存在 Undo Log 里。如果一個(gè)事務(wù)想要查詢這個(gè)行記錄,需要讀取哪個(gè)版本的行記錄呢?

這時(shí)就需要用到 Read View 了,它幫我們解決了行的可見性問題。Read View 保存了當(dāng)前事務(wù)開啟時(shí)所有活躍(還沒有提交)的事務(wù)列表,換個(gè)角度,可以理解為 Read View 保存了不應(yīng)該讓這個(gè)事務(wù)看到的其他的事務(wù) ID 列表。

Read VIew 中的幾個(gè)重要屬性:

  • up_limit_id,活躍的事務(wù)中最小的事務(wù) ID;

  • trx_ids,系統(tǒng)當(dāng)前正在活躍的事務(wù) ID 集合;

  • low_limit_id,活躍的事務(wù)中最大的事務(wù) ID;

  • creator_trx_id,創(chuàng)建這個(gè) Read View 的事務(wù) ID。

3. 行記錄的隱藏列

InnoDB 的葉子節(jié)點(diǎn)段存儲(chǔ)了數(shù)據(jù)頁,數(shù)據(jù)頁中保存了行記錄,在這些行記錄中有一些重要的隱藏字段:

  • DB_ROW_ID :

    6-byte,記錄操作該數(shù)據(jù)事務(wù)的事務(wù)ID;

  • DB_TRX_ID :

    6-byte,當(dāng)創(chuàng)建表沒有合適的索引作為聚集索引時(shí),會(huì)用該隱藏ID創(chuàng)建聚集索引;

  • DB_ROLL_PTR :

    7-byte,回滾指針,指向上一個(gè)版本數(shù)據(jù)在undo log 里的位置指針;

4. 聚集索引

聚集索引是指數(shù)據(jù)庫表行中數(shù)據(jù)的物理順序與鍵值的邏輯(索引)順序相同。一個(gè)表只能有一個(gè)聚集索引,因?yàn)橐粋€(gè)表的物理順序只有一種情況,所以,對(duì)應(yīng)的聚集索引只能有一個(gè)。

5. Undo Log

InnoDB 將行記錄快照保存在 Undo Log,可以在回滾段中找到它們,主要用于記錄數(shù)據(jù)被修改之前的日志,在對(duì)表信息做修改之前先會(huì)把數(shù)據(jù)拷貝到Undo Log里,當(dāng)事務(wù)進(jìn)行回滾時(shí)可以通過Undo Log里的日志進(jìn)行數(shù)據(jù)還原。

回滾段中回滾指針間關(guān)聯(lián)關(guān)系,如下圖所示:

五、InnoDB是如何解決幻讀的?

1、在讀已提交的情況下,即使采用了 MVCC 方式也會(huì)出現(xiàn)幻讀

我們同時(shí)開啟事務(wù) A 和事務(wù) B,先在事務(wù) A 中進(jìn)行某個(gè)條件范圍的查詢,讀取的時(shí)候采用排它鎖,在事務(wù) B 中增加一條符合該條件范圍的數(shù)據(jù),并進(jìn)行提交,然后我們?cè)谑聞?wù) A 中再次查詢?cè)摋l件范圍的數(shù)據(jù),就會(huì)發(fā)現(xiàn)結(jié)果集中多出一個(gè)符合條件的數(shù)據(jù),這樣就出現(xiàn)了幻讀。

出現(xiàn)幻讀的原因是在讀已提交的情況下,InnoDB 只采用記錄鎖(Record Locking)。

InnoDB 三種行鎖的方式:

  • 記錄鎖:

    針對(duì)單個(gè)行記錄添加鎖。

  • 間隙鎖(Gap Locking):

    可以鎖住一個(gè)范圍(索引之間的空隙),但不包括記錄本身。

    采用間隙鎖的方式可以防止幻讀情況的產(chǎn)生。

  • Next-Key 鎖:

    鎖住一個(gè)范圍,同時(shí)鎖定記錄本身,相當(dāng)于間隙鎖 + 記錄鎖,可以解決幻讀的問題。

2、在可重復(fù)讀的情況下,InnoDB 可以通過 Next-Key 鎖 +MVCC 來解決幻讀問題。

想插入球員艾利克斯·倫(身高 2.16 米)的時(shí)候,事務(wù) B 會(huì)超時(shí),無法插入該數(shù)據(jù)。

這是因?yàn)椴捎昧?nbsp;Next-Key 鎖,會(huì)將 height>2.08 的范圍都進(jìn)行鎖定,就無法插入符合這個(gè)范圍的數(shù)據(jù)了。然后事務(wù) A 重新進(jìn)行條件范圍的查詢,就不會(huì)出現(xiàn)幻讀的情況。

六、總結(jié)

MVCC 的核心就是 Undo Log+ Read View。

  • “MV”就是通過 Undo Log 來保存數(shù)據(jù)的歷史版本,實(shí)現(xiàn)多版本的管理;

  • “CC”是通過 Read View 來實(shí)現(xiàn)管理,通過 Read View 原則來決定數(shù)據(jù)是否顯示。

同時(shí)針對(duì)不同的隔離級(jí)別,Read View 的生成策略不同,也就實(shí)現(xiàn)了不同的隔離級(jí)別。

 

責(zé)任編輯:張燕妮 來源: 架構(gòu)精進(jìn)之路
相關(guān)推薦

2018-08-20 16:00:23

MySQL并發(fā)控制MVCC

2011-08-17 10:11:34

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

2025-05-19 08:05:00

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

2009-11-16 09:05:47

PostgreSQLInnoDB多版本并發(fā)控制

2017-08-21 10:56:55

MySQL并發(fā)控制

2023-12-06 08:23:16

MVCCmysql

2021-08-02 09:01:05

MySQL 多版本并發(fā)數(shù)據(jù)庫

2019-07-24 11:30:54

程序員技能開發(fā)者

2020-09-22 08:52:50

平臺(tái)實(shí)現(xiàn)消息

2021-01-12 10:22:45

JavaScript并發(fā)控制前端

2021-04-07 06:00:18

JavaScript 前端并發(fā)控制

2022-04-08 08:32:40

mobx狀態(tài)管理庫redux

2025-06-12 05:00:00

@Autowired自動(dòng)裝配實(shí)現(xiàn)機(jī)制

2024-10-10 17:46:06

2009-02-09 10:06:03

并發(fā)控制Web應(yīng)用悲觀鎖

2021-05-13 23:30:17

JavaScript 原理揭秘

2025-03-20 06:48:55

性能優(yōu)化JDK

2020-02-25 16:48:35

AndroidGoogle 移動(dòng)系統(tǒng)

2025-01-03 09:36:22

Nginx高并發(fā)進(jìn)程

2022-11-18 18:36:24

點(diǎn)贊
收藏

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

911福利视频| 欧美最顶级的aⅴ艳星| 污色网站在线观看| 超碰在线免费公开| 国产精品一区一区| 欧美做受高潮1| 日韩av网站在线播放| 欧洲精品99毛片免费高清观看| 亚洲午夜久久久久| 热re99久久精品国产99热 | 亚洲午夜免费电影| 欧美激情视频一区二区三区| 中文字幕 欧美激情| 黑丝一区二区| 最近2019好看的中文字幕免费| 精品国产乱码久久久久久1区二区| 91老司机福利在线| 中文字幕视频一区二区三区久| 国产伦精品一区二区三区四区免费 | 亚洲欧美日韩电影| 黄色国产精品一区二区三区| 成人免费一区二区三区| 国产精品mm| 色老头一区二区三区在线观看| 亚洲色偷偷色噜噜狠狠99网| 精品176极品一区| 欧美日韩精品在线| 蜜臀在线免费观看| 超碰国产在线| 久久蜜桃香蕉精品一区二区三区| 97免费资源站| 亚洲熟女乱色一区二区三区久久久| 精品动漫一区| 久久亚洲春色中文字幕| 亚洲av成人无码久久精品 | 美国毛片一区二区| 欧美中文字幕视频在线观看| 免费看一级一片| 99久久精品费精品国产风间由美| 亚洲欧美精品在线| 国产精品第七页| 亚洲1区在线| 欧美一区二区三级| 亚洲第一色av| 色综合视频一区二区三区日韩| 日韩人体视频一二区| 精品久久一二三| 国产三级伦理在线| 一区二区三区高清在线| 男女爱爱视频网站| fc2ppv国产精品久久| 亚洲欧洲av在线| 一区二区不卡在线视频 午夜欧美不卡'| 你懂的在线观看视频网站| www.日本不卡| 久久婷婷开心| 亚洲欧美色视频| 91小视频免费观看| 蜜桃传媒视频麻豆第一区免费观看 | zzzwww在线看片免费| 亚洲国产日韩在线一区模特| 欧美一区二区三区综合| 麻豆影视在线观看_| 国产精品久久久久久久裸模| 亚洲国产欧美日韩| 麻豆tv在线| 亚洲日本在线观看| 国产精品视频一二三四区| 在线你懂的视频| 亚洲第一成年网| 国产中文字幕视频在线观看| 亚洲女色av| 欧美午夜精品理论片a级按摩| 国产三级三级看三级| 福利一区三区| 亚洲二区中文字幕| 在线观看福利片| 999精品视频| 久久久久国产精品www| 国产一级视频在线观看| 国产亚洲毛片在线| 国产精品久久久久久网站| 亚洲天堂网视频| 国产99精品国产| 久久99九九| 岛国在线大片| 一区二区不卡在线播放| 日韩在线综合网| 福利一区二区| 精品国产露脸精彩对白| 四虎国产精品成人免费入口| 婷婷综合网站| 97在线视频免费播放| 欧美brazzers| 国产成人免费视频网站 | 99精品电影| 欧美—级a级欧美特级ar全黄| 毛片在线免费视频| 韩国一区二区在线观看| 国产精品免费观看高清| 992tv免费直播在线观看| 亚洲综合色婷婷| xxxx一级片| 米奇精品关键词| 色999日韩欧美国产| 日韩黄色精品视频| 久久精品国产精品亚洲红杏| 国产日韩欧美精品| 欧美私人网站| 日韩欧美999| 欧美色图校园春色| 成人午夜av| 69视频在线播放| 99久久国产免费| 国产亚洲欧美中文| 妞干网在线视频观看| 国产精久久一区二区| 亚洲欧美制服第一页| 久久伊人成人网| 极品少妇一区二区三区精品视频| 久久涩涩网站| 波多野结衣中文字幕久久| 欧美军同video69gay| 成人乱码一区二区三区av| 亚洲调教视频在线观看| 国产日韩欧美电影在线观看| 黄色大片在线看| 午夜av区久久| 免费黄色av网址| 一区二区三区四区电影| 国产精品视频免费在线| 国产在线高清| 91国偷自产一区二区三区成为亚洲经典 | 免费一级肉体全黄毛片| 麻豆国产欧美日韩综合精品二区 | 午夜激情视频网| 成人激情电影在线| 国产精品高精视频免费| 清纯唯美亚洲色图| 欧美日韩国产色| www.88av| 欧美亚洲视频| 久久婷婷人人澡人人喊人人爽| 成人av影院在线观看| 欧美白人最猛性xxxxx69交| 欧美丰满熟妇bbbbbb| 久久69国产一区二区蜜臀| 台湾成人av| 欧美另类激情| 久久精品99久久久香蕉| 91国内精品久久久| 中文字幕一区二| 久久久久久久久久一区| 久久久人成影片免费观看| 国产日韩精品入口| 91蜜桃在线视频| 欧美zozozo| 久久伊人成人网| 成人avav影音| 欧美黄色一级片视频| 综合干狼人综合首页| 日韩免费视频在线观看| 岛国在线视频免费看| 欧美日韩久久久久久| 久草手机视频在线观看| 国产一区二区三区国产| www.一区二区.com| 国产精品网址| 欧洲日本亚洲国产区| 国产区av在线| 67194成人在线观看| 国产亚洲精品久久777777| 成人av在线资源| 欧美视频第三页| 第一社区sis001原创亚洲| 成人午夜小视频| bl视频在线免费观看| 亚洲人成啪啪网站| 国产又粗又猛又爽| 亚洲国产美国国产综合一区二区| 国模私拍在线观看| 日本一区中文字幕| 亚洲精品国产suv一区88| 天天躁日日躁狠狠躁欧美| 国产精品人成电影在线观看| 国产原创精品视频| 亚洲精品wwwww| 中文字幕有码视频| 亚洲综合无码一区二区| 国产精品无码午夜福利| 精品一区在线看| 极品美女扒开粉嫩小泬| 久久蜜桃av| 国产伦精品一区二区三区视频免费 | 国产亚洲一区二区三区不卡| 成人乱色短篇合集| 麻豆网站免费在线观看| 久久精品2019中文字幕| av女名字大全列表| 91精品国产综合久久精品app| 国产又黄又粗又爽| 亚洲日韩欧美一区二区在线| 亚洲成人日韩在线| 国产高清精品网站| 高清一区二区视频| 99视频精品| 丰满女人性猛交| 国产精品三级| 国产精品区一区二区三含羞草| 国产成+人+综合+亚洲欧美| 久久久久久美女| 日韩在线免费电影| 亚洲精品自产拍| 亚洲成人一二三区| 欧美日韩国产综合一区二区| 99热在线观看免费精品| 亚洲日本一区二区| 阿v天堂2014| 91亚洲精品一区二区乱码| 五月天六月丁香| 久久国产人妖系列| 丁香婷婷激情网| 国产精品日本| 欧美激情视频免费看| 伊人久久大香线蕉精品组织观看| 午夜精品亚洲一区二区三区嫩草| 日韩aaa久久蜜桃av| 国产富婆一区二区三区| 成人午夜888| 国产精品中文字幕在线| 欧美色999| 日韩美女视频免费在线观看| 国产乱码午夜在线视频| 欧美日韩福利电影| 国产激情视频在线| 久久国产精品久久国产精品| 欧美a免费在线| 在线观看91久久久久久| 国产日产精品久久久久久婷婷| 日韩av在线免费观看| 国产综合无码一区二区色蜜蜜| 欧美一区二区三区白人| 99在线观看精品视频| 91.麻豆视频| 国产乱码精品一区二区三区精东| 欧美日韩国产精选| 一区二区www| 欧美老女人第四色| 国产日韩免费视频| 欧美一级片在线| 性做久久久久久久| 亚洲第一区第一页| 香蕉久久国产av一区二区| 亚洲精品色婷婷福利天堂| 麻豆av电影在线观看| 亚洲色在线视频| 成av人电影在线观看| xvideos亚洲| 最新日本在线观看| 久久久久中文字幕| 色是在线视频| 国产精品狼人色视频一区| 精品久久毛片| 91香蕉视频在线下载| jizz性欧美23| 久久66热这里只有精品| 九一亚洲精品| 一区国产精品| 欧美激情综合色综合啪啪| www.国产在线视频| 亚洲视频播放| 亚洲不卡视频在线| 黑人巨大精品欧美一区| 无码人妻一区二区三区一| 不卡大黄网站免费看| 在线国产视频一区| 亚洲三级电影网站| 日本三级一区二区| 欧美视频在线一区二区三区 | 日韩高清免费在线| 福利视频在线播放| 九九精品在线视频| 天堂电影一区| 国产在线观看精品| a级日韩大片| 亚洲欧美日韩国产yyy| 欧美黄污视频| 国产黄色特级片| 国产成人午夜精品5599 | 中文字幕中文字幕在线一区| 欧美丰满艳妇bbwbbw| 欧美三级免费观看| ,亚洲人成毛片在线播放| 精品国产1区2区3区| 岛国在线视频免费看| 欧美激情图片区| 日本一区免费网站| 国产一区二区三区色淫影院| 不卡av一区二区| 九一国产精品视频| 九色综合国产一区二区三区| aaaaaav| 一区二区在线观看免费视频播放 | 在线观看的网站你懂的| 欧美在线性爱视频 | 色是在线视频| 亚洲最大的网站| 成人免费电影网址| 国内自拍在线观看| 成人免费高清在线| 欧美爱爱免费视频| 在线观看视频91| 色呦呦视频在线| 欧美成人高清视频| 成人在线视频免费| 欧美一区二区三区在线免费观看| 欧美日韩网站| 91日韩精品视频| 国产精品亲子伦对白| 天堂а√在线中文在线新版| 在线综合视频播放| 日本a一级在线免费播放| 久久久日本电影| 欧美成人一级| 中文字幕日韩一区二区三区不卡| 久久夜色精品| 波多野结衣 在线| 亚洲成av人片一区二区三区| 国产深喉视频一区二区| 日韩亚洲成人av在线| 欧美va在线观看| 欧美日韩国产综合视频在线| 91久久综合| 私密视频在线观看| 午夜精品久久久久久久| 亚洲国产精品国自产拍久久| 久久这里只有精品99| 亚洲精品无播放器在线播放| 午夜精品一区二区三区四区| 久久资源在线| 欧美多人猛交狂配| 欧美午夜激情在线| 人成免费电影一二三区在线观看| 91av网站在线播放| 色综合www| 男人舔女人下面高潮视频| 久久久久久久久久久99999| 黄瓜视频在线免费观看| 亚洲欧美在线播放| 日韩精选视频| 一区二区在线观看网站| 精品中文字幕一区二区小辣椒| 久草手机视频在线观看| 91精品国产色综合久久久蜜香臀| 国产网站在线免费观看| 亚洲中国色老太| 影音先锋亚洲电影| av黄色一级片| 日本大香伊一区二区三区| 成a人v在线播放| 91成人免费视频| 亚洲麻豆av| 美女脱光内衣内裤| 欧美亚洲一区二区在线观看| jizz在线观看视频| 亚洲专区在线视频| 亚洲大片av| xxx在线播放| 欧美丰满嫩嫩电影| 8x8ⅹ拨牐拨牐拨牐在线观看| 快播亚洲色图| 麻豆91在线播放免费| 男人操女人的视频网站| 精品久久久久99| 在线天堂新版最新版在线8| 四虎永久国产精品| 国产成人在线看| 欧美 日韩 精品| 色婷婷**av毛片一区| 91欧美日韩在线| 久久久久人妻精品一区三寸| 中文欧美字幕免费| 性生交生活影碟片| 日韩免费观看视频| 午夜精品av| 中文字幕国产综合| 日韩亚洲国产中文字幕欧美| 韩国成人二区| 天天综合中文字幕| 91色在线porny| 99精品人妻无码专区在线视频区| 91精品国产成人www| 日韩大片在线| 在线观看一区二区三区四区| 欧美午夜丰满在线18影院| h片在线播放| 天堂√在线观看一区二区| 成人黄色在线看| 国产精品自拍电影| 国产成+人+综合+亚洲欧洲|