1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        我就想加個索引,怎么就這么難?

        共 3214字,需瀏覽 7分鐘

         ·

        2020-09-12 13:01

        轉(zhuǎn)自:如逆水行舟,作者:iisheng


        ?

        領(lǐng)導讓我SQL優(yōu)化,我直接把服務(wù)干掛了...

        ?

        前言

        MySQL大表加字段或者加索引,是有一定風險的。

        大公司一般有DBA,會幫助開發(fā)解決這個痛點,可是DBA是怎么做的呢?

        小公司沒有DBA,作為開發(fā)我們的責任就更大了。那么我們怎么才能安全的加個索引呢?

        今天,我們通過模擬案例以及原理分析,去弄清楚MySQLDDL的風險,以及如何避免事故發(fā)生。

        準備

        軟件以及項目

        1. 安裝本地版本MySQL。
        2. 一個簡單的增刪改查項目。
        3. 使用JMeter進行并發(fā)請求測試。

        創(chuàng)建表

        #?如果存在user表則刪除
        DROP?TABLE??IF?EXISTS?user;

        #?創(chuàng)建user表
        CREATE?TABLE?`user`?(
        ??`id`?bigint?NOT?NULL?AUTO_INCREMENT?COMMENT?'自增主鍵',
        ??`name`?varchar(10)?DEFAULT?NULL?COMMENT?'姓名',
        ??`age`?int(2)?DEFAULT?NULL?COMMENT?'年齡',
        ??`address`?varchar(30)?DEFAULT?NULL?COMMENT?'地址',
        ??`description`?varchar(100)?DEFAULT?NULL?COMMENT?'描述',
        ??`test_id`?bigint?DEFAULT?NULL?COMMENT?'測試?id',
        ??`create_time`?timestamp?NULL?DEFAULT?NULL?COMMENT?'創(chuàng)建時間',
        ??`modify_time`?timestamp?NULL?DEFAULT?NULL?COMMENT?'修改時間',
        ??PRIMARY?KEY?(`id`)
        )?ENGINE=InnoDB?DEFAULT?CHARSET=utf8mb4?COMMENT='mysql?ddl測試表';

        創(chuàng)建存儲過程

        #?如果存在test存儲過程則刪除
        DROP?PROCEDURE?IF?EXISTS?`test`;

        #?創(chuàng)建無參存儲過程,名稱為test
        CREATE?PROCEDURE?test()

        BEGIN
        ????#?聲明變量
        ????DECLARE?i?INT;
        ????#?變量賦值
        ????SET?i?=?0;
        ????#?結(jié)束循環(huán)的條件:?當i等于100萬時跳出while循環(huán)
        ????WHILE?i?DO
        ????#?往t_test表添加數(shù)據(jù)
        ????INSERT?INTO?`test`.user?(`name`,?`age`,?`address`,?
        ?????????????????????????????`description`,?`test_id`,?`create_time`,?`modify_time`)
        ????VALUES?('iisheng',?26,?'北京',?'如逆水行舟',?LAST_INSERT_ID()?+?1,?
        ????????????'2020-05-17?16:01:44',?'2020-05-17?16:01:51');

        ????#?循環(huán)一次,?i加1
        ????SET?i?=?i?+?1;
        ????#?結(jié)束while循環(huán)
        ????END?WHILE;

        END
        ?

        下面的創(chuàng)建存儲過程語句,是在IDE內(nèi)選擇代碼塊執(zhí)行的,如果在Terminal中執(zhí)行,需要使用DELIMITER關(guān)鍵字,更改語句結(jié)束標志。

        ?

        調(diào)用存儲過程,生成百萬數(shù)據(jù)

        CALL?test();

        開啟慢SQL日志

        #?查看MySQL是否開啟慢日志記錄
        SHOW?VARIABLES?LIKE?'slow_query_log';

        #?開啟慢SQL日志記錄
        SET?GLOBAL?slow_query_log?=?'ON';

        #?查看慢SQL日志位置
        SHOW?VARIABLES?LIKE?'slow_query_log_file';

        #?查看執(zhí)行多久的SQL才算慢SQL
        SHOW?VARIABLES?LIKE?'long_query_time';

        #?設(shè)置慢SQL執(zhí)行時間?只有新session才生效
        SET?GLOBAL?long_query_time?=?1;
        ?

        通常情況下這些會在MySQL的配置文件中配置,啟動時生效。

        ?

        幾個有用的SQL語句

        #?展示哪些線程正在運行
        SHOW?PROCESSLIST;

        #?查看正在執(zhí)行的事務(wù)
        SELECT?*?FROM?information_schema.INNODB_TRX;

        #?查看正在鎖的事務(wù)
        SELECT?*?FROM?information_schema.INNODB_LOCKS;

        #?查看正在等待鎖的事務(wù)
        SELECT?*?FROM?information_schema.INNODB_LOCK_WAITS;

        #?顯示innodb存儲引擎狀態(tài)的大量信息,包含死鎖日志
        SHOW?ENGINE?INNODB?STATUS?;

        #?展示數(shù)據(jù)庫最大連接數(shù)的配置
        SHOW?VARIABLES?LIKE?'max_connections';

        #?查看存在哪些觸發(fā)器
        SELECT?*?FROM?information_schema.TRIGGERS;

        #?查看MySQL版本
        SELECT?VERSION();
        ?

        后面我們會主要用前兩條。

        ?

        事故現(xiàn)場

        說明

        1. 我創(chuàng)建的user表除了主鍵是沒有其他索引的。
        2. 測試的user表數(shù)據(jù)量為一百萬。
        3. 測試MySQL版本為5.7.28。
        4. 測試項目的邏輯:隨機get()、list()、update()、create(),每個操作都開啟事務(wù),并且休眠500毫秒。

        步驟

        ?

        運行測試項目

        ?
        項目啟動圖

        這里我們可以看到,項目已經(jīng)正常啟動了。

        ?

        postman調(diào)用一下接口

        ?
        接口請求圖

        這里我們隨便測試一個接口,請求時間2秒左右。

        ?

        執(zhí)行JMeter的Test Plan,觀察項目日志

        ?
        JMeter配置圖

        這里我們創(chuàng)建了四個線程組,每個線程組調(diào)用一個我們的接口。模擬10個人循環(huán)1000次的訪問。

        正常項目日志圖

        這里我們看到該請求頻率下,日志無異常。

        ?

        慢SQL日志

        ?
        慢SQL日志圖

        這里我們看到,百萬級的SQL,如果沒加索引SQL執(zhí)行時間還是比較長的,有的已經(jīng)達到了2s。

        ?

        加個索引,再觀察項目日志

        ?
        加索引過程日志圖

        這里我們看到,項目已經(jīng)開始報錯了,大量的Connection is not available, request timed out after 30001ms。

        ?

        SHOW PROCESSLIST一下

        ?
        PROCESSLIST圖

        這里我們看到,有大量的Waiting for table metadata lock。

        ?

        postman再次調(diào)用一下接口

        ?
        請求接口報錯圖

        這個時候,調(diào)用接口已經(jīng)報錯了,響應時間也比較久。此時,服務(wù)對用戶來說,已經(jīng)基本不可用了。

        為什么會這樣?

        ?

        我就想加個索引,怎么就這么難?

        ?

        看吧,就因為我加了個索引,服務(wù)就掛了,我沒加之前還是好好的。遇到問題,我們要冷靜,不是我們的鍋堅決不能背,真的是我們的問題,下次一定要記得改正。那么,此刻的服務(wù)為什么就不可用了呢?

        首先我們要知道,在InnoDB事務(wù)中,鎖是在需要的時候才加上的,但并不是不需要了就立刻釋放,而是要等到事務(wù)結(jié)束時才釋放。這個就是兩階段鎖協(xié)議

        然后,在MySQL5.5版本中引入了MDL(Metadata Lock),當對一個表做增刪改查操作的時候,加MDL讀鎖;當要對表做結(jié)構(gòu)變更操作的時候,加MDL寫鎖。

        我們可以簡單的嘗試一下下面的情況。

        DDL鎖等待圖

        Session A開啟一個事務(wù),執(zhí)行了一個簡單的查詢語句。此時,Session B,執(zhí)行另一個查詢語句,可以成功。接著,Session C執(zhí)行了一個DDL操作,加了個字段,因為Session A的事務(wù)沒有提交,而且Session A持有MDL讀鎖,Session C獲取不到MDL寫鎖,所以Session C堵塞等待MDL寫鎖。又由于MDL寫鎖獲取優(yōu)先級高于MDL讀鎖,因此Session D這個時候也獲取不到MDL讀鎖,等待Session C獲取到MDL寫鎖之后它才能獲取到MDL讀鎖。

        我們發(fā)現(xiàn),DDL操作之前如果存在長事務(wù),一直不提交,DDL操作就會一直被堵塞,還會間接的影響后面其他的查詢,導致所有的查詢都被堵塞。

        這也就是為什么我們把服務(wù)干掛的原因了。

        目前主流解決方案

        針對上面出現(xiàn)的情況,我們怎么解決呢?

        MySQL5.6的Online DDL

        MySQL5.6開始,支持Online DDL。類似于這種的語句ALTER TABLE user ADD INDEX idx_test_id (test_id), ALGORITHM=INPLACE, LOCK=NONE在普通的ALTER TABLE或者CREATE INDEX語句后面添加ALGORITHM參數(shù)和LOCK參數(shù)。

        ?

        實際上,ALTERT TABLE語句如果不加ALGORITHM參數(shù),默認就會選擇ALGORITHM=INPLACE的形式,如果執(zhí)行的語句支持INPLACE,否則,會使用ALGORITHM=COPY。

        ?

        以前寫SQL只會ALTER TABLE不知道后面還可以加ALGORITHM參數(shù),后來知道了Online DDL,知道了可以加ALGORITHM=INPLACE,結(jié)果兩種寫法有的時候是一樣的...

        MySQL官網(wǎng)截圖

        這里順便提一句,學習的途徑有很多,但是官網(wǎng),的確可以多看看。

        使用pt-online-schema-change

        ?

        簡單說一下怎么安裝這個東西

        ?

        首先官網(wǎng)下載,然后校驗以及安裝,執(zhí)行下面命令

        perl?Makefile.PL
        make
        make?install

        然后使用CPAN安裝相關(guān)依賴(適用Unix),CentOS下直接yum更簡單

        perl?-MCPAN?-e?shell
        cpan>?install?DBI
        cpan>?install?DBD::mysql
        ?

        我自己Mac安裝沒啥問題,公司Mac安裝失敗了,然后升級了一下Perl版本就可以了。

        ?

        語法

        pt-online-schema-change?--charset=utf8?--no-check-replication-filters?--no-version-check?--user=user?--password=pass?--host=host_addr??P=3306,D=database,t=table?--alter?"ADD?INDEX?idx_name(field_name)"?--execute

        我的腳本添加索引

        pt-online-schema-change?--charset=utf8?--no-check-replication-filters?--no-version-check?--user=root?--password=mGy6GAzdawFPTJ7R?--host=127.0.0.1??P=3306,D=test,t=user?--alter?"add?INDEX?idx_test_id(test_id)"?--execute

        使用pt-osc測試

        pt-osc執(zhí)行圖

        這里我們看到,pt-osc創(chuàng)建觸發(fā)器的時候卡在那了。實際上這里也是在等待鎖。

        最終成功了,但是整個過程時間比較久。過程中我們也發(fā)現(xiàn)了一些死鎖的日志。

        pt-osc死鎖日志

        其實,這個跟我的代碼有一定的關(guān)系,我的測試代碼隨機數(shù)生成的范圍是[0, 20000],然后我根據(jù)生成的隨機數(shù),去查詢數(shù)據(jù)庫,鎖的沖突會比較多。把范圍修改為[0, 1000000]會好很多。

        再看Online DDL

        因為剛才我們發(fā)現(xiàn)了,自己代碼寫的有一些問題,所以我們剛才的結(jié)論也有一些影響。我們把隨機數(shù)的范圍改到100萬,重新測試一遍。

        Online DDL 成功

        這次Online DDL也成功了。但是也是有一些連接超時的日志。之前的測試如果一直執(zhí)行下去,也會成功,只不過堵塞時間太長,對用戶影響太大,我就停止算執(zhí)行失敗了。

        ?

        實際效果跟機器性能也是有一些關(guān)系的,這里的關(guān)鍵點在于拿MDL寫鎖的等待時間,這個時間稍微久一些就會對用戶造成很大的影響。

        ?

        pt-osc執(zhí)行過程

        1. 創(chuàng)建一個和原表表結(jié)構(gòu)一樣的臨時表(_tablename_new),執(zhí)行alter修改臨時表表結(jié)構(gòu)。
        2. 在原表上創(chuàng)建3個與insert delete update對應的觸發(fā)器,用于copy數(shù)據(jù)的過程中,在原表的更新操作,更新到新表。
        3. 從原表拷貝數(shù)據(jù)到臨時表,拷貝過程中在原表進行的寫操作都會更新到新建的臨時表。
        4. rename原數(shù)據(jù)表為old表,把新表rename為原表名,并將old表刪除。
        5. 刪除觸發(fā)器。

        這里面創(chuàng)建、刪除觸發(fā)器和rename表的時候都會嘗試獲取DML寫鎖,如果獲取不到會等待。就是我們看到的Waiting for table metadata lock。

        所以,這些時間段如果長時間獲取不到鎖,就會一直堵塞,還是會出現(xiàn)問題的。

        Online DDL執(zhí)行過程

        1. MDL寫鎖
        2. 降級成MDL讀鎖
        3. 真正做DDL
        4. 升級成MDL寫鎖
        5. 釋放MDL

        1、4如果沒有鎖沖突,執(zhí)行時間非常短。第3步占用了DDL絕大部分時間,這期間這個表可以正常讀寫數(shù)據(jù),因此稱為online

        但是,如果拿鎖的時候沒拿到,或者升級MDL寫鎖不能成功,就會等待,我們又會看到Waiting for table metadata lock,然后就接著的一系列問題了。

        總結(jié)

        加個索引,說難也難,說不難也不難。如果數(shù)據(jù)量大,又存在長事務(wù),加索引的過程又有用戶訪問,Online DDLpt-osc都不能保證對業(yè)務(wù)沒有影響。但是如果我們SQL的執(zhí)行時間比較短,或者我們加索引的時候,對應的業(yè)務(wù)沒有多少請求。那么我們就可以很快的加完索引。

        加字段也是類似的過程,但是如果我們能保證沒有慢SQL,那么就不會存在長事務(wù),那么執(zhí)行時間就會很快,對用戶就可以做到幾乎沒有影響。至于選擇Online DDL還是pt-osc就要看他們的一些限制以及自己的場景需求了。感興趣的同學,自己嘗試一下。

        最后想說

        當萬丈高樓崩塌的時候,超人也不能將它復原。我們應該做的,是有一個好的規(guī)范,好的認知,好的監(jiān)控,在問題沒有出現(xiàn)的時候,就將問題扼殺在搖籃中。而不是讓問題,日漸壯大,大到覆水難收...

        參考文獻:
        [1]:《MySQL實戰(zhàn)45講》
        [2]: https://dev.mysql.com/doc/refman/5.7/en/
        [3]: https://www.percona.com/doc/percona-toolkit/3.0/pt-online-schema-change.html



        往期推薦



        寫一個通用的冪等組件,我覺得很有必要

        Spring Boot 啟動這么慢,怪我咯

        不要再問我 in,exists 走不走索引了...

        推薦 33 個 IDEA 最牛配置,好用到飛起來!



        后臺回復?學習資料?領(lǐng)取學習視頻


        如有收獲,點個在看,誠摯感謝

        瀏覽 60
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            俺也操| 北条麻妃99精品| 老司机午夜免费精品视频| 综合久久网| 精品国产黄色| 免费国产黄色视频| 国产精品久久77777| 日韩在线免费视频| 影音先锋男人资源站| 国产精品乱子伦一区二区三区视频| 日本三区视频| 99久久精品一区二区成人| 大香蕉伊人久久| AA片免费网站| 日日摸日日操| 中文电视剧字幕在线播放网站| 夏目あきら被续侵犯7天| 97精产国品久久蜜桃臀| 国产粉嫩在线观看| 国产毛片777777| 欧美一级AA| 亚洲中文字幕在线免费观看视频| 精品无码免费看专区| 免费日批网站| 国产A片免费观看| 国产黄色一级片| 亚洲黄色在线免费观看| 熟女嗷嗷叫高潮合集91| 色色加勒比综合| 亚洲Aⅴ| 黄片久久久| 伊人色女操穴综合网| 精品三级网站| 在线看v| 成人欧美一区二区三区白人| 九一av| 黄色小电影在线观看| 亚洲区综合| 国产区在线| 91久久欧美极品XXXXⅩ| 91丨精品丨国产丨丝袜| 青草视频在线免费观看| 成人黄色电影| 蜜臀AV午夜精品| 黄色网在线| 99久久久久久久久久| 巨爆乳肉感一区二区三区| 五月天激情爱爱| 无码一区视频| 日本色色视频| 人人摸人人操人人爱| 一卡二卡无码| 先锋影音亚洲AV每日资源网站 | 91大铭哥| 91麻豆精品无码人妻| 免费日逼| 中文免费高清在线| 蜜桃精品在线观看| 人人人人干| 伊人成年网| 免费V片在线观看| 成人激情综合| 国产三级日本三级国产三级| 一二区免费视频| 日韩无码一区二区三区| 亚洲免费视频网| 免费无码高清| 口工视频| 自慰喷水流白浆中文字幕| 日韩在线视频免费播放| 成人激情片| wwwAV| 国产一区免费观看| 亚洲综合色色| 免费性网| 台湾无码在线| 欧美一级高清片免费一级a| 波多野成人无码精品69| 欧美性爱A片| 丁香久久| 国产网站精品| 无码免费一区二区三区| 黄片视频在线播放| 欧美精产国品一二三产品动漫| 亚洲天堂手机在线| 久久免费看视频| 丁香五月婷婷网| 午夜视频免费在线观看| 欧美成人精品一区二区三区| 日本成人电影一区二区三区| 99久久免费网| 亚洲国产免费| 国产乱子伦一区二区三区视频 | 综合导航无码| 91在线无码精品秘国产-百度| 天堂成人在线视频| 一区二区水蜜桃| 大香蕉在线视频75| 黄网免费在线观看| 黄片网站免费在线观看| 一本色道久久综合亚洲二区三区| 性爱AV在线| 亚洲视频综合网| 五月天婷婷在线观看| 国产毛片777777| 欧美一区二区三区成人| 亚洲成人黄色| AV中文字幕在线播放| A级片毛片| 一区二区三区免费在线观看| 免费无码国产在线观看| 天天综合在线观看| 黄网站免费在线观看| av网站导航| 天堂a中文在线| 无码秘人妻一区二区三-百度| 日本天堂网在线观看| 一夲道无码专区av无码A片| 大香蕉三级| AV电影天堂网| 免费黄色毛片| 九九99精品视频| 日韩不卡在线| 一区二区水蜜桃| 另类TS人妖一区二区三区| 日本精品一区二区| 黑人人妻黑人ThePorn| 翔田千里无码AV在线观看| 91大神免费观看| 人妻无码专区| 午夜久久视频| 久久燥| 色色影院| 综合激情网站| 久久久久久久久久久久国产精品| 无码人妻AⅤ一区二区三区A片一| 色综合一区二区三区| 无码AV电影在线观看| 久久久久久久香蕉视频| 国产美女精品| 密臀AV在线| 97人人爽人人爽人人爽人人爽 | 日韩无码小电影| 亚洲一区三区| 在线中文字幕亚洲| 日逼视频免费观看| 最近2019中文字幕mv第三季歌词| 97人人干人人| 韩国成人免费无码免费视频| 国产乱伦不卡| 天天摸天天操| 国产精品夜夜爽7777777| 四川美人搡BBw搡BBw| 99插插插| 黄片免费观看| 九九热精品视频在线播放| 午夜福利aaa| 國產精品777777777| 一级a一级a爰片免费免免在线| 欧美日韩成人在线| 国产精品午夜福利| 99久久婷婷国产综合| 国产久久免费视频| 欧美精品黄片| 影音先锋成人资源网| 北条麻纪无码视频| 人人妻人人爱人人| 国偷自产视频一区二区久| 亚洲第一网站| 搡BBBB搡BBB搡我瞎了| 狠狠干中文字幕| 亚洲中文幕| yjizz视频网| 开心色播五月天| 伊人大香蕉网| 有码在线| 欧美特黄AAAAAAAAA片 | 欧美做爱网站| 黄页网站免费在线观看| 北条麻妃无码精品| 69AV视频在线观看| 日韩在线观看一区二区| 五月婷综合| 成人女人18女人毛片| 俺去俺来也www色视频| 国产精品98| 人人看人人摸人人草| 久久久91人妻无码精品蜜桃ID| 成人黄片在线免费观看| 91操美女视频| 国产AV一区二区三区| 黑人AV在线| 精品国产乱码久久久久久郑州公司 | 国产伦精品一区二区三区色大师| 亚洲AV无码一区毛片AV| 青草社区在线观看| 丁香婷婷五月| 亚洲在线免费| 亚洲无aV在线中文字幕| 中文字幕av一区二区| 久久男人| 成人丁香| 亚洲免费毛片| 午夜成人福利剧场| 18禁污网站| 狠狠色噜噜狠狠狠7777| 欧美高潮| 国产A片大全| 人人妻人人上| AV无码网| 波多野结衣无码网站| 国产女人18| 久久久一级| 丁香色婷婷五月天| 欧美色视频网| 四虎影院中文字幕| 久久99精品国产.久久久久| 99re视频播放| 欧洲肥胖BBBBBBBBBB| 在线免费人成视频| 看90后操B| 久久精彩偷拍视频| 天天搞天天曰在线观看| 六月婷婷深爱| 亚洲中文字幕人妻。| 999成人电影| 国产亚洲aⅴ| 色色一级| 日韩一区二区三免费高清在线观看| 一本一道久久a久久精品综合| 精品无码免费看专区| 北条麻妃无码一区三区| 亚洲成人自拍无码| 色哟哟一区二区三区四区| 91成人毛片| 一级片三级片| 亚洲成人视频一区二区| 日韩成人免费在线| 大香蕉最新视频| 国产午夜精品一区二区三区牛牛| 日韩爆乳在线| 九九热av| 欧美特黄AAAAAAAAA片 | 日本久久人体视频| 久久欧洲成人精品无码区| 农村新婚夜一级A片| 国产精品成人国产乱| 91久久精品国产91久久公交车 | 日韩高清无码网站| 欧美日韩网| 婷婷五月天影视| 亚洲性爱小说| 亚洲成人性爱网站| 安徽妇搡BBB搡BBBB户外老太太| 亚洲无码系列| 中文无码字幕| 综合五月婷婷| 玖玖国产精品| 国产乱子伦真实精品!| 人人天天爽| 黄色片视频| 一本一道无码免费看视频| 日韩精品123| 精品第一页| 欧美成人网站视频| 欧美国产综合在线| 91精品国产综合久久久蜜臀粉嫩| 7x7x7x人成免费观学生视频| 久久精品视频9| 久久精品成人导航| 国产精品无码白浆高潮| 一级成人片| 日韩欧美一区二区三区不卡| 亚洲日韩一区二区三区四区| 一本色道久久综合无码人妻四虎| 亚洲天堂在线看| av在线中文| 欧美Aⅴ| 人人妻人人澡人人爽人人DVD| 国产人人干| 五月欧美激情| 国产在线拍揄自揄拍无码男男| www.中文无码| 北条麻妃日B视频| 日日夜夜精品视频| 亚洲色在线播放| 三须三级久久三级久久18| 伊人综合影院| 青青草国产亚洲精品久久| 成人无码www在线看免费| 久九视频| 182AV| 毛片成人网| 六月丁香激情| 蜜臀久久99精品久久久久久牛牛| 色哟哟一区二区三区四区| 学生妹一级片内射视频| 国产一级婬片A片免费无成人黑豆 国产真实露脸乱子伦对白高清视频 | 天天狠狠| 亚洲欧洲久久| 人妻无码久久精品| 国产欧美综合一区二区三区| 在线高清无码| 拍拍拍免费视频| 在线婷婷| 婷婷99狠狠躁天天躁| 黄色无無| 日本中文不卡| 日韩免费看| 天天日日天天| 亚洲天堂福利| 偷拍-91爱爱| 久久久久久亚洲AV无码专区| 国产精品国内自产拍| 国精品无码人妻一区二区三区| 国产AV影片| 91天天干| 婷婷色大师| 日本精品黄色视频| 国产成人一区二区三区| 51成人免费| 人妻av无码| 中文字幕网址在线| 九九草在线视频| 中文字幕日本成人| 日韩欧美黄色电影| 伊人综合网站| 欧亚无码| 午夜无码福利在线观看| 亚洲成人AV在线观看| 亚洲天堂在线播放| 337P大胆粉嫩噜噜噜| 成人黄色电影在线| 日韩免费高清无码| 精国产品一区二区三区A片| 精品国产A片| 成年人网站在线免费观看| 黄色电影一区二区三区| 一本一本久久a久久精品牛牛影视| 成人无码一区二区| 婷婷视频导航| 国产AV影片| 激情婷婷| 插插插综合| 亚洲精品午夜精品| 日韩无码18| jizz无码| 91无码人妻| 青娱乐国产av| 狠狠穞A片一區二區三區| 青草久在线| 日韩香蕉视频| 麻豆一区二区三区| h网站在线看| 三级三级久久三级久久18| 黄色成人视频网站在线观看| 蜜臀99久久精品久久久懂爱| 亚洲无码视频在线| 国产在线一| 欧美熟女18| 天天日天天操天天爽| 欧美亚洲天堂网| 蜜桃视频欧美| 在线男人天堂| 国产成人视频在线| 好男人一区二区三区在线观看| 麻豆mdapp03.tⅴ| 在线免费亚洲| 东京热av在线| 成人无码欧美大片免费看| 无码av一区| 免费人成年激情视频在线观看 | 夜夜骑天天操| 国产精品啪啪啪啪| 免费一级做a爱片毛片A片小说| 97色色婷婷五月天| 69视频国产| 国产亚洲无码| 91青青草视频| 91丝袜一区二区| 日韩精品一区在线| 亚洲一级黄片| 亚洲色婷婷五月天| 亚洲高清在线观看| 黄片无码视频| 人人妻人人澡| 无码潮喷| 99色逼| 日韩h视频| 免费无码视频一区二区| 91成人大片| 俺来也俺去啦欧美www| 国产成人视频免费| 乱子伦一区二区三区视频在线观看 | 久久久久久精| 在线免费观看成人网站| 69av在线播放| 日韩日韩日韩日韩日韩| 欧美成人精品AAA| 偷拍久久久| 欧美黄色一级| 你懂的网站在线观看| 91国产精品视频在线| 日本A片在线播放| 操小逼视频| 亚洲无码av在线播放| 欧美v在线观看| 亚洲性爱一区| 中文字幕日本无码| 久久国产热在8| 婷婷丁香五月综合| 欧美日韩国产成人在线观看| 日本黄色视频免费观看| 五月天丁香花| 日本欧美在线观看高清| 国产精品无码ThePorn| 国产精品午夜在线观看| 中文av在线播放| 欧美性生交18XXXXX无码| 大香蕉在线视频99| 安徽妇搡BBBB搡BBBB袄爱直播 | 国产AV高清| 国产乱子伦-区二区三区四区| 亚洲1234区| 亚洲日韩中文字幕在线| 九一亚洲精品| www.国产豆花精品区| 高清无码视频18| 日韩在线高清视频| 午夜无码福利| 亚洲综合中文字幕在线播放| 日韩在线小视频| 久久午夜福利电影| 亚洲日韩精品欧美一区二区yw| 五月天婷婷视频| 天干夜天干天天天爽视频| 超碰在线网| 精品乱子伦一区二区三区| 色吧久久| 91色五月| 日韩一二三| 国产视频第一页| 中文字幕成人免费视频| 黄色成人视频在线观看| AAAAA毛片| 黄色一级小说| 成人片成人网久久蜜桃臀| 7777影视电视剧在线观看官网 | 欧美操逼的| 蜜桃视频日韩| 亚洲国产成人在线| 日韩欧美视频在线| 大香蕉熟女| 91成人情欲影视网| 国精产品九九国精产品| 成人性爱在线观看| 日韩无码AV一区二区| 国产AV影院| 69网站| 亚洲无码av中文字幕| 免费人成年激情视频在线观看| 草久在线视频| 亚洲色图片区| 青青操天天干| 久久午夜无码鲁丝片午夜精品偷窥| 人人澡人人爱| HEYZO少婦AV無碼精品| 亚洲秘无码一区二区| 三级视频在线观看| 婷婷AV在线| 偷拍-91爱爱| 日韩少妇AV| 中文字幕乱码免费综合久久 | av无码免费观看| 狠狠做深爱婷婷久久综合一区| 天堂无线av无码av| 国产成人免费在线观看| 国产精品成人一区二区| 蝌蚪窝在线视频免费观看| 激情久久五月天| av无码在线观看| 精品码一区二在线观看| 91超碰大香蕉| 自慰一区二区| 性欧美XXXX| 久久性视频| 五月婷婷丁香综合| 九九久久99| 无码视频中文字幕| 起碰在线视频| 五月天青青草超碰免费公开在线观看 | 特黄AAAAAAAA片免费直播| 欧美操逼小视频| 国产免费一区二区三区四区| 亚洲av电影在线观看| 成人国产AV| 天天爽天天搞| 久久国产热视频| 人人妻人人澡人人爽久久| 久操久操| 黄色电影网站在线观看| 麻豆视频一区二区三区| 艹在线观看| 怡红院爽妇网| 91双飞会所双飞在线| 欧美视频一区二区三区四区| 无码AV在线观看| 美日韩免费视频| 午夜成人福利剧场| 网站啪啪| 免费黄色av网址| 亚洲天堂AV2025| 久久国产热在8| 毛片一区| 日本人妻视频| 免费在线观看毛片| 91av视频在线| 综合国产| 日本高清无码在线| 高清无码日本| 青青草大香蕉伊人| 欧美麻豆| 99热99re6国产线播放| 永久免费黄色视频网站| 国产麻豆精品ThePorn| 极品美女扒开粉嫩小泬高潮一| 最新一区二区| 天天日天天操天天干| 久热精品在线观看| 国产精品久久久久久久久久九秃| 无卡无码| 无码一区二区在线观看| 成人a片视频| 91综合久久| 日韩在线三级片| 边添小泬边狠狠躁视频| 草草影院第一页YYCCC| 97免费视频在线观看| 四川BBB操BBB| aV无码av天天aV天天爽第一| 一级片直播| 精品日韩在线视频| 自拍偷拍一区二区三区| 欧美日韩国产a| 亚洲一区二区网站| 亚洲AV无码成人网站国产网站| 欧美18禁黄免费网站| 露脸偷拍AV2025| 欧美天堂成人三级| 欧美国产日韩另类| 日韩三级| 久久久一区二区三区四曲免费听| 人妻无码一二三区免费| 国产成人AV免费观看| 黑吊操| 99成人在线| 妖精视频黄色| 国产精品一级无码免费播放| 亚洲日韩欧美国产| 亚洲日韩网站| 竹菊av一区二区三区四区五区| 一级片免费观看视频| 中文无码AV在线| 国产激情无码免费| 人人cao| 污视频网站在线观看| 影音先锋国产AV| 丁香五月天社区| 国产成人在线免费| 成人做爰69片免费观看| 影音AV| 国产精品久久久久毛片SUV| av毛片| 中文字幕免费观看| 欧美操女人| 免费福利在线视频| 日韩AV在线天堂| 国产又爽又黄免费观看| 一区二区三区四区五区| 18禁无码永久免费网站大全| 蜜桃av一区二区三区| 亚洲色天堂网| 国产成人AⅤ| 久久精品一区二区三区四区五区| 无码一区二区北条| 午夜AV在线播放| 人妻中文字幕av| 三级大香蕉| 中文字幕一区二区三区日本在线| 国产精品欧美一区二区三区苍井空 | 91人妻人人澡人人添人人爽| 成人免费视频国产在线观看| 亚洲小说欧美激情另类A片小说 | 屁屁影院国产第一页| 好爽~要尿了~要喷了~同桌| 18网站视频| 色婷婷六月| 免费播放婬乱男女婬视频国产| 成人视频无码| 夜夜躁狠狠躁日日躁av| 久久日韩操| 起碰在线视频| 国产免费www| 久久精品成人导航| 免费a片视频| 在线观看黄色片| 一本一道久久a久久精品综合| 亚洲午夜影院在线| 老司机午夜视频| 日韩黄网| 91人妻人人澡人人爽人人| 久久毛片| 精品国产乱码久久久久夜深人妻| 亚洲国产中文字幕在线播放| 日韩精品一区在线| 操屄视频在线| 亚洲高清视频在线| 免费做爱视频网站| 天天夜夜久久| 亚洲精品69| 91超碰在线免费观看| 91成人片| 久久婷婷热| 高清无码不卡在线观看| 一区二区三区无码免费| 男女AV| 久久久久三级| 天天天日天天天天天天天日歌词| 做爰视频毛片下载蜜桃视频。| 国产精品成人免费精品自在线观看 | 久久精品国产AV| 伊人综合影院| 91中文字幕+乱码| 日韩城人网站| 午夜视频无码| 蜜桃Av噜噜一区| 婷婷五月精品中文字幕| 亚洲第一中文字幕网| 国产伦精品一区二区三区妓女下载 | 91在线无码精品入口电车| 无码人妻丰满熟妇精品| 日逼免费网站| 欧美日韩不卡在线| 日皮网站在线观看| 夜夜嗨AV一区二区三区| 超碰在线| 高清无码视频免费看| 无码国产一区二区三区四区五区| 久久精品中文字幕| 日本一区二区三区四区在线观看| 无码秘蜜桃吴梦梦| 国产成人精品无码免费| 肏逼网站在线观看| 久久精品导航| 蜜臀久久久久久999| 国产人妻一区二区三区欧美毛片| 风间由美大荫蒂无码AV| 女人操逼| 人人看人人搞人人摸| 日韩欧美小电影| 男女视频网站| 麻豆午夜福利| 中文字幕精品一区| 免费看一级片| 黄频在线免费观看| www.五月丁香| 91日韩欧美| 又大又粗AV| a视频| 高清无码免费视频| 中文字幕日韩AV| 亚洲五月婷| 成人a片在线免费观看| 69精品在线| 欧洲精品在线观看| 大鸡巴久久久久| 色悠久久久| 国产精品怡红院有限公司| 在线观看免费一区| 99自拍视频| 三级片AAAA| 中文字幕2025年最好看电视剧| 91av视频| 波多野59部无码喷潮| 国产免费小视频| 国模无码在线| 色老板亚洲| 成人做爰100部片视频| 亚洲无码蜜桃| 天天日天天干天天射| 中文字幕无码影院| 国模精品无码一区二区免费蜜桃| 亚洲成人性爱在线| 六月丁香视频| 北条麻妃无码在线视频| 国产人妻在线| 亚洲天堂女| 理论片无码| 黄色免费网站| 色吧久久| 一级久久| 91麻豆精品无码人妻| 在线视频a| 首屈一指视频在线观看| 爽好紧别夹喷水网站| 日韩不卡中文字幕| jizz在线免费观看| 久久视频99| 亚洲三级片在线视频| 婷婷伊人久操网| 国产激情| 热久久久久久| 亚洲在线无码视频| 在线看污| 成人区精品一区二区婷婷| 影音先锋婷婷| 伊人久久艹| 99色天堂| 欧美日韩精品在线| 99在线精品视频观看| 亚洲A√| 一级看片免费视频| 99热综合| 亚洲中文幕| avcom无码| 影音先锋av资源在线| 婬乱欧美一二三区| 欧美精品第一页| 亚洲在线视频网站| 特级西西44www无码| 老女人AV| 91丨九色丨熟女老版| 三级av在线观看| 99久久久| 国产精品久久久久久精| 69久久久久久久久久| 亚洲毛片在线| 精品交换一区二区三区无码| 亚洲AV观看| 大吊操| 99久久久| 国产毛片777777| 伊人久综合| 春色av| 免费涩涩无遮挡18国产| 肏屄视频在线观看| 日韩高清无码片| 免费V片在线观看| 青娱乐毛片| 夜夜嗨AⅤ一区二区三区| av资源在线| 超碰在线无码| 狼友视频免费观看| 国产激情无码视频| 9久9久9久9久女女女女| 欧美狼友| 一级av片| 日本老女人视频| 大香蕉一级红色片青青河边草| 无码窝在线观看| 简单av网| 美女毛片视频| 亚洲精品一区二区三区新线路 | 中文字幕网在线| 欧美午夜视频| 怡春院在线视频| 日本精品乱伦| 亚洲成人视频免费观看| 日韩AV电影网站| 麻豆91免费看| 日韩欧美午夜成人无码| 手机在线操B视频| www.国产豆花精品区| 国产高清免费| 国产做爰XXXⅩ久久久骚妇| 久久久久久三级电影| 日本黄色中文字幕| 夜夜福利| 久操精品视频| 国产成人99久久亚洲综合精品| 欧美AⅤ在线| 学生妹一级| 国产欧美在线观看| 91精品免费| 天天日天天干天天草| 天天干强奸视频在线综合| 女人久久久| 国产成人精品一区二| 日韩AⅤ无码一区二区三区| 国产无码一区| 亚洲成av人无码| 69国产精品无码免费| 黑人AV在线播放| 亚洲在线播放| 中文字幕日韩高清| 日美女网站| 黄频在线免费观看| 免费无码高清| 国产成人三级片| 国产一a毛一a免费观看| 亚洲草逼视频| 成人毛片在线观看| av在线观看中文字幕| 欧美性成人| 国产卡一卡二在线观看| 五月天婷婷影院| 中文字幕免费视频在线观看| 午夜av在线免费观看| 一本色道久久88亚洲精品综合| 亚洲在线观看| www.黄色在线观看| 国产AV久久| 午夜人妻AV| 国产成人电影一区二区| 亚洲综合一二三区| 婷婷天堂站| 国产一级AV国产免费| 高清无码免费不卡| 少妇成人网| 久久久久久无码视频| 国产免费一区二区三区| 91夫妻视频| 99高清无码| 午夜福利AV在线| 韩国无码中文| 国产性综合| 五月天网址| 99久久婷婷国产综合精品草原| 欧美XXX黑人XYX性爽| 久久精品偷拍视频| 日韩欧美在线免费| 亚洲无码影视| 二区视频| 国产在线中文字幕| 男人天堂视频在线观看| 亚洲视频五区| 在线看v片| 影音先锋av网| 91日韩在线| 中文字幕久久无码| 五月天国产精品| 国产精品93333333| 成人A片免费观看| 伊人综合影院| 国产午夜精品一区二区三区嫩A| 黄页免费无码| 特一级黄色电影| 翔田千里无码精品| 中文字字幕在线中文乱码更新时间| 蜜桃久久99精品久久久酒店| 亚洲精品成人视频| 大香蕉国产精品视频| 日韩无码精品一区二区三区| 亚洲欧美久久久| 黄色一级大片在线免费看国产| 91插插网| 午夜精品18视频国产| 亚洲AV无码一区二区三区少妇| 欧美性爱超碰| 操逼视频在线观看| 在线不欧美| 大香伊人| 日本在线精品视频| 午夜天堂网| 欧美日色| 中文字幕高清无码在线观看| 一级无码在线观看| h片在线免费观看视频| 久久情| 国产一级二级三级片| 操小嫩逼视频| 日韩在线成人中文字幕亚洲| 污视频网站免费观看| 欧美午夜影院| 亚洲AV无码乱码A片无码沈樵| 一卡二卡在线视频| 激情婷婷丁香| 双腿张开被9个男人调教| 91插插网| av无码免费在线观看| 豆花视频在线播放| 热re99久久精品国产99热| 久一在线| 搡BBB搡BBBB搡BBBB'| 青娱乐无码视频| 大香蕉少妇| 18啪啪网站| 老太婆擦BBBB撩BBBB| 亚洲无码人妻视频| 久久久成人免费视频| 欧美日韩亚洲视频| 成年人免费电影| 京东一热本色道久久爱| 91视频免费播放| A视频在线免费观看| 亚洲国产成人综合| 日韩综合色| www操逼| 69视频在线观看| 2025四虎在线视频观看|