国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

8種常見SQL錯(cuò)誤用法

共 15040字,需瀏覽 31分鐘

 ·

2020-11-21 22:55

點(diǎn)擊上方Java專欄”,選擇“置頂或者星標(biāo)”


第一時(shí)間閱讀精彩文章!


點(diǎn)擊這段文字獲?。?/strong>5個(gè)可以寫到簡歷的項(xiàng)目實(shí)戰(zhàn)視頻教程(含源碼)


1、LIMIT 語句

分頁查詢是最常用的場景之一,但也通常也是最容易出問題的地方。比如對(duì)于下面簡單的語句,一般 DBA 想到的辦法是在 type, name, create_time 字段上加組合索引。這樣條件排序都能有效的利用到索引,性能迅速提升。

SELECT * FROM   operation WHERE  type = 'SQLStats'        AND name = 'SlowLog' ORDER  BY create_time LIMIT  1000, 10;

好吧,可能90%以上的 DBA 解決該問題就到此為止。但當(dāng) LIMIT 子句變成 “LIMIT 1000000,10” 時(shí),程序員仍然會(huì)抱怨:我只取10條記錄為什么還是慢?

要知道數(shù)據(jù)庫也并不知道第1000000條記錄從什么地方開始,即使有索引也需要從頭計(jì)算一次。出現(xiàn)這種性能問題,多數(shù)情形下是程序員偷懶了。

在前端數(shù)據(jù)瀏覽翻頁,或者大數(shù)據(jù)分批導(dǎo)出等場景下,是可以將上一頁的最大值當(dāng)成參數(shù)作為查詢條件的。SQL 重新設(shè)計(jì)如下:

SELECT   * FROM     operation WHERE    type = 'SQLStats' AND      name = 'SlowLog' AND      create_time > '2017-03-16 14:00:00' ORDER BY create_time limit 10;

在新設(shè)計(jì)下查詢時(shí)間基本固定,不會(huì)隨著數(shù)據(jù)量的增長而發(fā)生變化。

2、隱式轉(zhuǎn)換

SQL語句中查詢變量和字段定義類型不匹配是另一個(gè)常見的錯(cuò)誤。比如下面的語句:

mysql> explain extended SELECT *      > FROM   my_balance b      > WHERE  b.bpn = 14000000123      >       AND b.isverified IS NULL ;mysql> show warnings;| Warning | 1739 | Cannot use ref access on index 'bpn' due to type or collation conversion on field 'bpn'

其中字段 bpn 的定義為 varchar(20),MySQL 的策略是將字符串轉(zhuǎn)換為數(shù)字之后再比較。函數(shù)作用于表字段,索引失效。

上述情況可能是應(yīng)用程序框架自動(dòng)填入的參數(shù),而不是程序員的原意?,F(xiàn)在應(yīng)用框架很多很繁雜,使用方便的同時(shí)也小心它可能給自己挖坑。

3、關(guān)聯(lián)更新、刪除

雖然 MySQL5.6 引入了物化特性,但需要特別注意它目前僅僅針對(duì)查詢語句的優(yōu)化。對(duì)于更新或刪除需要手工重寫成 JOIN。

比如下面 UPDATE 語句,MySQL 實(shí)際執(zhí)行的是循環(huán)/嵌套子查詢(DEPENDENT SUBQUERY),其執(zhí)行時(shí)間可想而知。

UPDATE operation o SET    status = 'applying' WHERE  o.id IN (SELECT id                 FROM   (SELECT o.id,                                o.status                         FROM   operation o                         WHERE  o.group = 123                                AND o.status NOT IN ( 'done' )                         ORDER  BY o.parent,                                   o.id                         LIMIT  1) t);

執(zhí)行計(jì)劃:

+----+--------------------+-------+-------+---------------+---------+---------+-------+------+-----------------------------------------------------+| id | select_type        | table | type  | possible_keys | key     | key_len | ref   | rows | Extra                                               |+----+--------------------+-------+-------+---------------+---------+---------+-------+------+-----------------------------------------------------+| 1  | PRIMARY            | o     | index |               | PRIMARY | 8       |       | 24   | Using where; Using temporary                        || 2  | DEPENDENT SUBQUERY |       |       |               |         |         |       |      | Impossible WHERE noticed after reading const tables || 3  | DERIVED            | o     | ref   | idx_2,idx_5   | idx_5   | 8       | const | 1    | Using where; Using filesort                         |+----+--------------------+-------+-------+---------------+---------+---------+-------+------+-----------------------------------------------------+

重寫為 JOIN 之后,子查詢的選擇模式從 DEPENDENT SUBQUERY 變成 DERIVED,執(zhí)行速度大大加快,從7秒降低到2毫秒。

UPDATE operation o        JOIN  (SELECT o.id,                             o.status                      FROM   operation o                      WHERE  o.group = 123                             AND o.status NOT IN ( 'done' )                      ORDER  BY o.parent,                                o.id                      LIMIT  1) t         ON o.id = t.id SET    status = 'applying' 

執(zhí)行計(jì)劃簡化為:

+----+-------------+-------+------+---------------+-------+---------+-------+------+-----------------------------------------------------+| id | select_type | table | type | possible_keys | key   | key_len | ref   | rows | Extra                                               |+----+-------------+-------+------+---------------+-------+---------+-------+------+-----------------------------------------------------+| 1  | PRIMARY     |       |      |               |       |         |       |      | Impossible WHERE noticed after reading const tables || 2  | DERIVED     | o     | ref  | idx_2,idx_5   | idx_5 | 8       | const | 1    | Using where; Using filesort                         |+----+-------------+-------+------+---------------+-------+---------+-------+------+-----------------------------------------------------+

4、混合排序

MySQL 不能利用索引進(jìn)行混合排序。但在某些場景,還是有機(jī)會(huì)使用特殊方法提升性能的。

SELECT * FROM   my_order o        INNER JOIN my_appraise a ON a.orderid = o.id ORDER  BY a.is_reply ASC,           a.appraise_time DESC LIMIT  0, 20 

執(zhí)行計(jì)劃顯示為全表掃描:

+----+-------------+-------+--------+-------------+---------+---------+---------------+---------+-+| id | select_type | table | type   | possible_keys     | key     | key_len | ref      | rows    | Extra    +----+-------------+-------+--------+-------------+---------+---------+---------------+---------+-+|  1 | SIMPLE      | a     | ALL    | idx_orderid | NULL    | NULL    | NULL    | 1967647 | Using filesort ||  1 | SIMPLE      | o     | eq_ref | PRIMARY     | PRIMARY | 122     | a.orderid |       1 | NULL           |+----+-------------+-------+--------+---------+---------+---------+-----------------+---------+-+

由于 is_reply 只有0和1兩種狀態(tài),我們按照下面的方法重寫后,執(zhí)行時(shí)間從1.58秒降低到2毫秒。

SELECT * FROM   ((SELECT *         FROM   my_order o                 INNER JOIN my_appraise a                         ON a.orderid = o.id                            AND is_reply = 0          ORDER  BY appraise_time DESC          LIMIT  0, 20)         UNION ALL         (SELECT *         FROM   my_order o                 INNER JOIN my_appraise a                         ON a.orderid = o.id                            AND is_reply = 1          ORDER  BY appraise_time DESC          LIMIT  0, 20)) t ORDER  BY  is_reply ASC,           appraisetime DESC LIMIT  20;

5、EXISTS語句

MySQL 對(duì)待 EXISTS 子句時(shí),仍然采用嵌套子查詢的執(zhí)行方式。如下面的 SQL 語句:

SELECT *FROM   my_neighbor n        LEFT JOIN my_neighbor_apply sra               ON n.id = sra.neighbor_id                  AND sra.user_id = 'xxx' WHERE  n.topic_status < 4        AND EXISTS(SELECT 1                   FROM   message_info m                   WHERE  n.id = m.neighbor_id                          AND m.inuser = 'xxx')        AND n.topic_type <> 5 

執(zhí)行計(jì)劃為:

+----+--------------------+-------+------+-----+------------------------------------------+---------+-------+---------+ -----+| id | select_type        | table | type | possible_keys     | key   | key_len | ref   | rows    | Extra   |+----+--------------------+-------+------+ -----+------------------------------------------+---------+-------+---------+ -----+|  1 | PRIMARY            | n     | ALL  |  | NULL     | NULL    | NULL  | 1086041 | Using where                   ||  1 | PRIMARY            | sra   | ref  |  | idx_user_id | 123     | const |       1 | Using where          ||  2 | DEPENDENT SUBQUERY | m     | ref  |  | idx_message_info   | 122     | const |       1 | Using index condition; Using where |+----+--------------------+-------+------+ -----+------------------------------------------+---------+-------+---------+ -----+

去掉 exists 更改為 join,能夠避免嵌套子查詢,將執(zhí)行時(shí)間從1.93秒降低為1毫秒。

SELECT *FROM   my_neighbor n        INNER JOIN message_info m                ON n.id = m.neighbor_id                   AND m.inuser = 'xxx'        LEFT JOIN my_neighbor_apply sra               ON n.id = sra.neighbor_id                  AND sra.user_id = 'xxx' WHERE  n.topic_status < 4        AND n.topic_type <> 5 

新的執(zhí)行計(jì)劃:

+----+-------------+-------+--------+ -----+------------------------------------------+---------+ -----+------+ -----+| id | select_type | table | type   | possible_keys     | key       | key_len | ref   | rows | Extra                 |+----+-------------+-------+--------+ -----+------------------------------------------+---------+ -----+------+ -----+|  1 | SIMPLE      | m     | ref    | | idx_message_info   | 122     | const    |    1 | Using index condition ||  1 | SIMPLE      | n     | eq_ref | | PRIMARY   | 122     | ighbor_id |    1 | Using where      ||  1 | SIMPLE      | sra   | ref    | | idx_user_id | 123     | const     |    1 | Using where           |+----+-------------+-------+--------+ -----+------------------------------------------+---------+ -----+------+ -----+

6、條件下推

外部查詢條件不能夠下推到復(fù)雜的視圖或子查詢的情況有:

  • 聚合子查詢;

  • 含有 LIMIT 的子查詢;

  • UNION 或 UNION ALL 子查詢;

  • 輸出字段中的子查詢;

如下面的語句,從執(zhí)行計(jì)劃可以看出其條件作用于聚合子查詢之后:

SELECT * FROM   (SELECT target,                Count(*)         FROM   operation         GROUP  BY target) t WHERE  target = 'rm-xxxx' 
+----+-------------+------------+-------+---------------+-------------+---------+-------+------+-------------+| id | select_type | table      | type  | possible_keys | key         | key_len | ref   | rows | Extra       |+----+-------------+------------+-------+---------------+-------------+---------+-------+------+-------------+|  1 | PRIMARY     |  | ref   | 0>   |  | 514     | const |    2 | Using where ||  2 | DERIVED     | operation  | index | idx_4         | idx_4       | 519     | NULL  |   20 | Using index |+----+-------------+------------+-------+---------------+-------------+---------+-------+------+-------------+

確定從語義上查詢條件可以直接下推后,重寫如下:

SELECT target,        Count(*) FROM   operation WHERE  target = 'rm-xxxx' GROUP  BY target

執(zhí)行計(jì)劃變?yōu)椋?/p>

+----+-------------+-----------+------+---------------+-------+---------+-------+------+--------------------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+-----------+------+---------------+-------+---------+-------+------+--------------------+| 1 | SIMPLE | operation | ref | idx_4 | idx_4 | 514 | const | 1 | Using where; Using index |+----+-------------+-----------+------+---------------+-------+---------+-------+------+--------------------+

關(guān)于 MySQL 外部條件不能下推的詳細(xì)解釋說明請參考文章:

http://mysql.taobao.org/monthly/2016/07/08

7、提前縮小范圍

先上初始 SQL 語句:

SELECT * FROM   my_order o        LEFT JOIN my_userinfo u               ON o.uid = u.uid       LEFT JOIN my_productinfo p               ON o.pid = p.pid WHERE  ( o.display = 0 )        AND ( o.ostaus = 1 ) ORDER  BY o.selltime DESC LIMIT  0, 15 

該SQL語句原意是:先做一系列的左連接,然后排序取前15條記錄。從執(zhí)行計(jì)劃也可以看出,最后一步估算排序記錄數(shù)為90萬,時(shí)間消耗為12秒。

+----+-------------+-------+--------+---------------+---------+---------+-----------------+--------+----------------------------------------------------+| id | select_type | table | type   | possible_keys | key     | key_len | ref             | rows   | Extra                                              |+----+-------------+-------+--------+---------------+---------+---------+-----------------+--------+----------------------------------------------------+|  1 | SIMPLE      | o     | ALL    | NULL          | NULL    | NULL    | NULL            | 909119 | Using where; Using temporary; Using filesort       ||  1 | SIMPLE      | u     | eq_ref | PRIMARY       | PRIMARY | 4       | o.uid |      1 | NULL                                               ||  1 | SIMPLE      | p     | ALL    | PRIMARY       | NULL    | NULL    | NULL            |      6 | Using where; Using join buffer (Block Nested Loop) |+----+-------------+-------+--------+---------------+---------+---------+-----------------+--------+----------------------------------------------------+

由于最后 WHERE 條件以及排序均針對(duì)最左主表,因此可以先對(duì) my_order 排序提前縮小數(shù)據(jù)量再做左連接。SQL 重寫后如下,執(zhí)行時(shí)間縮小為1毫秒左右。

SELECT * FROM (SELECT * FROM   my_order o WHERE  ( o.display = 0 )        AND ( o.ostaus = 1 ) ORDER  BY o.selltime DESC LIMIT  0, 15) o      LEFT JOIN my_userinfo u               ON o.uid = u.uid      LEFT JOIN my_productinfo p               ON o.pid = p.pid ORDER BY  o.selltime DESClimit 0, 15

再檢查執(zhí)行計(jì)劃:子查詢物化后(select_type=DERIVED)參與 JOIN。雖然估算行掃描仍然為90萬,但是利用了索引以及 LIMIT 子句后,實(shí)際執(zhí)行時(shí)間變得很小。

+----+-------------+------------+--------+---------------+---------+---------+-------+--------+----------------------------------------------------+| id | select_type | table      | type   | possible_keys | key     | key_len | ref   | rows   | Extra                                              |+----+-------------+------------+--------+---------------+---------+---------+-------+--------+----------------------------------------------------+|  1 | PRIMARY     |  | ALL    | NULL          | NULL    | NULL    | NULL  |     15 | Using temporary; Using filesort                    ||  1 | PRIMARY     | u          | eq_ref | PRIMARY       | PRIMARY | 4       | o.uid |      1 | NULL                                               ||  1 | PRIMARY     | p          | ALL    | PRIMARY       | NULL    | NULL    | NULL  |      6 | Using where; Using join buffer (Block Nested Loop) ||  2 | DERIVED     | o          | index  | NULL          | idx_1   | 5       | NULL  | 909112 | Using where                                        |+----+-------------+------------+--------+---------------+---------+---------+-------+--------+----------------------------------------------------+

8、中間結(jié)果集下推

再來看下面這個(gè)已經(jīng)初步優(yōu)化過的例子(左連接中的主表優(yōu)先作用查詢條件):

SELECT    a.*,           c.allocated FROM      (               SELECT   resourceid               FROM     my_distribute d                    WHERE    isdelete = 0                    AND      cusmanagercode = '1234567'                    ORDER BY salecode limit 20) a LEFT JOIN           (               SELECT   resourcesid, sum(ifnull(allocation, 0) * 12345) allocated               FROM     my_resources                    GROUP BY resourcesid) c ON        a.resourceid = c.resourcesid

那么該語句還存在其它問題嗎?不難看出子查詢 c 是全表聚合查詢,在表數(shù)量特別大的情況下會(huì)導(dǎo)致整個(gè)語句的性能下降。

其實(shí)對(duì)于子查詢 c,左連接最后結(jié)果集只關(guān)心能和主表 resourceid 能匹配的數(shù)據(jù)。因此我們可以重寫語句如下,執(zhí)行時(shí)間從原來的2秒下降到2毫秒。

SELECT    a.*,           c.allocated FROM      (                    SELECT   resourceid                    FROM     my_distribute d                    WHERE    isdelete = 0                    AND      cusmanagercode = '1234567'                    ORDER BY salecode limit 20) a LEFT JOIN           (                    SELECT   resourcesid, sum(ifnull(allocation, 0) * 12345) allocated                    FROM     my_resources r,                             (                                      SELECT   resourceid                                      FROM     my_distribute d                                      WHERE    isdelete = 0                                      AND      cusmanagercode = '1234567'                                      ORDER BY salecode limit 20) a                    WHERE    r.resourcesid = a.resourcesid                    GROUP BY resourcesid) c ON        a.resourceid = c.resourcesid

但是子查詢 a 在我們的SQL語句中出現(xiàn)了多次。這種寫法不僅存在額外的開銷,還使得整個(gè)語句顯的繁雜。使用 WITH 語句再次重寫:

WITH a AS (          SELECT   resourceid          FROM     my_distribute d          WHERE    isdelete = 0          AND      cusmanagercode = '1234567'          ORDER BY salecode limit 20)SELECT    a.*,           c.allocated FROM      a LEFT JOIN           (                    SELECT   resourcesid, sum(ifnull(allocation, 0) * 12345) allocated                    FROM     my_resources r,                             a                    WHERE    r.resourcesid = a.resourcesid                    GROUP BY resourcesid) c ON        a.resourceid = c.resourcesid

總結(jié)

數(shù)據(jù)庫編譯器產(chǎn)生執(zhí)行計(jì)劃,決定著SQL的實(shí)際執(zhí)行方式。但是編譯器只是盡力服務(wù),所有數(shù)據(jù)庫的編譯器都不是盡善盡美的。

上述提到的多數(shù)場景,在其它數(shù)據(jù)庫中也存在性能問題。了解數(shù)據(jù)庫編譯器的特性,才能避規(guī)其短處,寫出高性能的SQL語句。

程序員在設(shè)計(jì)數(shù)據(jù)模型以及編寫SQL語句時(shí),要把算法的思想或意識(shí)帶進(jìn)來。

編寫復(fù)雜SQL語句要養(yǎng)成使用 WITH 語句的習(xí)慣。簡潔且思路清晰的SQL語句也能減小數(shù)據(jù)庫的負(fù)擔(dān) 。

---END---
文末福利




瀏覽 35
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 日韩夜夜操| 色婷婷大香蕉| 日韩在线视频中文字幕码无| 欧美成人A片AAA片在线播放| 日韩在线观看网站| 日韩成人综合| av片在线观看| av影片在线播放| 色婷婷俺来也| 男女啪网| 乱伦91| 免费大黄网站| 九九九无码| 九七在线视频| 日韩一级性爱| 亚洲AV无码乱码| 日韩高清无码电影| 国产成人免费做爰视频| 日韩一级毛| 星空AV| 日本成人不卡视频| 丁香激情五月天| 国产精品无码AV| 激情视频免费在线观看| 黄色一级片免费| 欧美日韩一区二区三区视频| 无码东京热国产| 一级片A片| www.亚洲精品| 久久午夜福利电影| 91丨PORN丨国产| 无码高清18| 久久成人A片| 成人网站在线看| 国产视频无码| 中文字幕在线日亚洲9| NP玩烂了公用爽灌满视频播放| 日本久久成人| 免费观看成人毛片A片直播千姿| 久久99久久99久久| 天天日天天草| 国产丨熟女丨国产熟女视频| 欧美日韩免费一区二区三区| 97无码精品人妻一区二区三区| 蜜桃Av噜噜| 国产乱子伦-区二区| 国产精品无毛五区六区| 欧美一区二区三区在线观看| 九九这里有精品| 激情国产| 日韩欧美操逼视频| 欧美日韩在线看| 亚洲第一成人久久网站| 成人片网站在线观看| 久久久久三级| 丰满人妻一区二区免费看| 骚逼影院| 操逼99| AV一级片| 一区二区网站| 一区二区三区视频在线| AV2014天堂网| 9热在线视频| 免费无码婬片aaaa| 狠狠搞狠狠操| 欧美性爱免费在线视频| 佐山爱人妻无码蜜桃| 操久久| 麻豆AV96熟妇人妻| 在线观看黄网| 激情小说激情视频| 五月婷中文字幕| 久久精品视| 国产99自拍| 日韩欧美中文字幕公布| 日本黄A三级三级三级| 日本高清免费视频| 国产日韩在线播放| 日韩av在线不卡| 手机看片久草| 最近中文字幕高清2019中文字幕| 青青草原av| 91精品福利| 高清无码视频免费观看| 亚洲无码福利视频| 在线无码AV| 91探花国产综合在线精品| 俺也去网| 毛片毛片毛片毛片毛片毛片| 国产精品一区二区不卡| 人人操比| 精品美女视频在线观看免费软件 | 特級西西444WWw高清大膽| 精品一区二区三区免费| www狠狠| 天天日人人| 刘玥一级婬片A片AAA| 人妻18无码人伦一区二区三区精品 | 亚洲精品无码更新| 美女操b| 中文字幕永久在线视频| 亚洲精品福利视频导航| 亚洲av资源在线观看| 久婷婷| 北条麻妃免费视频| 国产无码做爱视频| 国产精品一| 91人人妻人人妻人人澡| 午夜福利日本| 欧一美一婬一伦一区二区三区| 福利视频免费观看| 超碰2021| 91人人妻人人妻人人澡| 久久人视频| 亚洲一区亚洲二区| 超碰九一| 日韩一区二区三区无码电影| 欧美另类极品| 99久久婷婷国产综合精品| 亚洲AV无码乱码国产精品黑人| 无码熟妇人妻无码AV在线天堂 | 97人人干人人| 国产香蕉91| 免费日韩无码| 国产日韩一区二区三区| 操学生妹| 久久99久久99| 国产AV日韩AV| 另类毛片| 俄女兵一级婬片A片| 一级a片在线观看| 免费看无码一级A片在线播放| sesese999| 国产久久在线| 大香蕉一区二区三区| 强伦轩一区二区三区四区播放方式| 国产视频导航| 波多野结衣无码高清| 日韩精品在线观看视频| footjobvk| 午夜美女视频| 人妻体体内射精一区二区| 亚洲在线无码播放| 色欲色欲一区二区三区| 亚洲黄色视频在线观看网站| 国产一区二区视频在线| 99热综合在线| 91国语又粗又大对白| 日韩欧美v| 在线你懂得| 蜜桃BBwBBWBBwBBw| 不卡的av| 高清无码视频网站| 午色婷婷国产无码| 在线观看视频免费无码| 日本三级片无码| 一区四区视频| 中文字幕北条麻妃在线| 亚洲av偷拍| 美女白嫩嫩大BBB欣赏| 中出在线| 一级A片一毛片大全| 91传媒在线观看| 翔田千里无码| 91天天综合在线| 日日综合网| 人妻熟女88AⅤ| 91丨PORN丨国产| 色视频在线播放| caopeng97| 免费看v片| 伊人网在线视频观看| 91在线无码精品秘国产色多多| 一区二区三区精品| 无码成人在线观看| 亚洲无码理论片| 无码蜜桃吴梦梦| 91丨九色丨国产在线| 精品成人免费视频| 亚洲,制服,综合,中文| 亚州成熟少妇视频在线观看| 最新va在线观看| 亚洲成人免费在线视频| 日韩黄色免费网站| 成人丁香五月| 北条麻妃在线不卡| 少妇搡BBBB搡BBB搡视频一级| 欧美日韩精品| 欧美城综合在线观看网| 开心色播五月| 国产乱子伦真实精品!| 91大香蕉伊人| AV中文在线观看| 久色网站| 欧美综合网| 精品国产乱子伦一区二区三区,小小扐| 特级西西| 国产一级a毛一级a毛观看视频网站www.jn | 免费看一区二区三区| 五月综合激情| 久久视频理论| 五月丁香婷婷激情综合| 在线观看精品视频| 俺来操| 七十路の高齢熟妇无码| 国产精品无码一区二区在线欢| 国产精品色在线回看| 日本一级理论片在线大全| 永久免费叼嘿| 黄色电影天堂网| 亚欧免费视频| 久久av电影| 午夜无码在线观看视频| 性爱xxxxx| 国产成人综合在线| 国产高清色| 免费看无码一级A片在线播放| 国产美女被操| 欧美色图网址| 黄色视频日本免费| 成人影片在线观看18| 美女av网站| 七六十路の高齢熟妇无码| 狠狠干狠狠色| 黄片免费大全| 日本三级黄色视频| 久久精彩免费视频| 色婷婷五月天激情| 国产精品93333333| 特级西西444WWW大精品视频 | 亚洲码无人客一区二区三区| 日韩无码三级| 精品久久国产| 五月婷婷色色网| 中文无码一区二区三区四区| 欧美男人的天堂| 人妻熟女字幕一区二区| 国产91白浆四溢| 一本色道无码人妻精品| 我和岳m愉情XXXⅩ视频| 亚洲av中文| 欧美日本成人网站入口| 中文字幕无码一区二区三区一本久| 国产精品高清无码| 天天人人精品| 国产精品无毛五区六区| 热久久最新地址| 在线操B| 国产欧美精品一区二区| 日韩精品高清中文| 精品久久无码中文字幕| 日日操夜夜爽| 无码黑人| 1024手机在线观看| 色五月婷婷激情| JiZZjiZZ亚洲成熟熟妇| 在线看A片| 一级A片黃色A片| 天天干妹子| 国产区av| 久久黄色毛片| 国产中文自拍| 妻子互换被高潮了三次| 黄色视频在线免费看| 大香蕉AV电影| 超碰97免费在线| 丁香五月中文字幕| 水多多成人网站A片| 国产21区| 18国产免费视频在线观看| 雾水情缘电影港片| 69乱伦视频| 强伦轩人妻一区二区三区四区| 日韩黄片视频| 国产AV日韩| 五月六月婷婷| 黄色成人网站在线| 亚洲中文字幕av天堂| 欧美日韩网| 亚洲色图成人网| 国产精品视频在线观看| 国产无码做爱视频| 国产精品乱子伦视频一区二区 | 欧美日韩一区二区在线| 日本精品无码a62v在线| 中文字幕av在线| 午夜视频网| 欧美黄片免费在线观看| 中文字幕免费在线观看| 日韩黄色精品| 亚洲第1页| 日韩无码人妻| 欧美影院亚洲| 爱爱爱免费视频| 国产在线不卡年轻点的| 亚洲有码在线视频| av先锋资源| 日韩中文字| 久久大香蕉网| 97人人爽| 伊人三级| 日本成人电影在线观看| 国产三级无码| 成人毛片视频网站| 国产成人精品123区免费视频| 日韩A| 亚洲毛片亚洲毛片亚洲毛片 | www.麻豆网91成人久久久| 午夜成人免费福利| 亚洲调教| 高清无码在线免费观看| 国产欧美日韩综合在线视频| 爆乳尤物一区二区三区| 色婷婷视频一区二区| 国产精品高潮呻吟| 北条麻妃无码在线播放| 亚洲成人77777| 9l视频自拍蝌蚪9l成人蝌蚪 | www.91久久| 久久婷婷无码视频| 青榴社区| 美女av日逼| 日韩精品在线一区| 日韩骚逼| 自拍偷拍福利视频网站| 青青草免费观看视频| AV在线资源| 一区二区三区不卡在线| 国产三级自拍视频| 亚洲成人在线一区| 国产精品视频免费在线观看| 悠悠无码一区日韩妇女| 欧美福利在线观看| 免费观看av| 操逼地址| 国产综合久久777777麻豆| 中文无码人妻少妇| 少妇推油呻吟白浆啪啪成人片| 大香蕉网址| 99精品视频免费在线观看| 日韩人妻无码中文字幕| 国产尤物在线| 国产三级三级三级| 国产曰韩欧美综合另类在线| 丰满人妻一区二区三区四区53| av中文在线观看| 久久2| 操人妻| 中文无码Av| 久久综合伊人777777| h片在线观看| 中文字幕日韩亚洲| 免费看a| 国产日逼片| 影音AV| 成人中文字幕无码| 最近中文字幕mv第三季歌词| 亚洲无吗在线播放| 亚洲欧美日本在线观看| 久久无码黄片| 亚洲射| 国产欧美一区二区人妻喷水| 亚洲V无码| AV在线资源| yw视频在线观看| 午夜福利无码视频| 日韩一区二区三区无码| 日韩视频第一页| 97人妻精品一区二区三区免| 麻豆av在线| 日韩亚洲在线视频| 男女啪啪免费网站| 久久无码人妻精品一区二区三区| av水果派| 免费观看A级毛片| 欧美第1页| 午夜精品久久久久久久99热精东| 夜夜操天天操| 国产成人自拍视频在线| 亚洲av在线免费观看| 视频國产在线| 免费观看一区二区三区| 日韩免费在线视频观看| 波多野结衣视频一区| 中韩AV在线免费观看| 欧美午夜成人一区二区三区| 老鸭窝av免费入口在线观看| AV性爱在线| 亚洲高清无码久久| 国产av不卡| 欧美区在线观看| 国产精品欧美一区二区三区苍井空| 国外成人在线视频老鸭窝| 京熱大亂交无碼大亂交| 91麻豆精品91久久久久同性| 亚洲AV无码成人精品区大猫| 影音先锋AV成人| 日韩在线观看一区| 亚洲日日夜夜| 人妻无码一区二区三区摄像头| 四虎最新地址| 手机看片久久| 欧美日韩中文字幕视频| 爱搞搞就要搞| 亚洲男人的天堂AV| 久久夜色精品噜噜亚洲AV| 91碰碰| 国产成人97精品免费看片| 岛国免费AV| 粉嫩99精品99久久久久久特污兔 | 亚洲黄色在线播放| 欧美成人视频网站| 成人黄A片免费| 人人摸人人搞| 99久久久精品| 欧美日综合| 欧美日韩第一页| 神马午夜激情| 免费亲子乱婬一级A片| 婷婷网五月天| 欧美一区二区在线观看| 一级性爽AV毛片| 2025四虎在线视频观看| 123好逼网| 国产一级电影网站| 3D动漫啪啪精品一区二区中文字幕 | 麻豆熟妇乱妇熟色A片在线看| 99在线视频免费观看| 亚洲黄色在线看| sesese| 日韩爱爱爱| 国产精品无码久久久久成人app| 免费看黄片的网站| 久久久久成人视频| 毛片国产| 日韩中文无码字幕| 亚洲精品图片| 成人激情综合网| 国产一级性爱| 91豆花视频18| 国产成人AV免费无码| 99艹艹| 精品国产AⅤ麻豆| 国产精品视频色| 亚洲综合婷婷| 91国语又粗又大对白| 国产成人AA| 婷婷中文在线| 国产香蕉视频在线播放| 97人妻| 欧美毛片在线观看| 久久精品片| 国产成人精品无码免费| 亚洲欲色| 中文字字幕中文字幕乱码| 无码一区二| 在线高清无码视频| 91探花秘在线播放| 天天日天天拍| 午夜xxx| 欧美在线视频99| 午夜福利视频91| A免费观看| 91视频免费网站| 欧洲美一区二区三区亚洲| 成人国产| 精品欧美| 三级黄色视频在线观看| 四季AV一区二区凹凸懂色桃花 | 色婷婷中文| 亚洲国产精品18久久久久久| 強姦婬片A片AAA毛片Mⅴ| 一本大道东京热AV| 一道本视频在线| jizz99| 丰满人妻一区二区三区四区53 | 欧美色国| 久久久久久久久久久久国产精品 | 日本免费中文字幕| 久久H| 国产精品视频瘾无码| 亚洲成人日韩| 狠狠操电影| 欧美aaa| a片网| 在线aaa| www国产| 高清无码人妻| 99久久久精品| 手机看片1024久久| 亚洲一级二级三级| 超碰在线观看免费| 亚洲黄v| 东方美美高清无码一区| 国产亚洲中文字幕| 亚洲日韩在线中文字幕| 欧美人人插| 特级西西人体大胆无码| 蝌蚪窝免费视频| 亚洲在线视频网站| 四川BBBB擦BBBB| 91成人无码看片在线观看网址| 天天干,天天日| 国产三级在线| 国产九九九九| 免费成人高清视频| 正在播放无码| 狠狠躁日日躁夜夜躁A片无码视频| 欧美VA| 肏逼免费视频| 夜夜骚| 制服丝袜乱伦| 国产a级视频| 国产精品嫩草久久久久yw193 | 成年人性生活免费视频| 中文字字幕在线中文乱码| 99人妻在线| 91大神在线免费观看| 日韩国产欧美| 欧美成人午夜| 欧美日韩国产性爱| 中文字幕综合在线| 亚洲综合激情五月久久| 国产91精品看黄网站在线观看| 日本无码网站| 国产SUV精品一区二区| 欧美操逼网| 三级片无码视频| 人人操国产| 丁香视频在线观看| 亚洲一区| 超碰精品在线| 五月天婷婷丁香网| 天天色人人| 欧美国产日韩欧美亚洲国产 | av中文在线观看| 91九色91蝌蚪91成人| 天天操人人射| 欧美乱轮| 一道本在线视频| 亚洲精品无码中文字幕| 99er在线观看| 一区二区高清无码视频| 日韩综合在线| 亚洲高清无码中文字幕| 中文在线观看免费视频| 三级AV在线观看| 日韩影音| 人人操人妻| 五月天啪啪| 国产在线A片| 强行征服邻居人妻HD高清日本| AA黄色电影| 婷婷久久综合久色| 一级片免费视频| 色情一级AA片免费观看| 国产熟女自拍| 久久久无码精品亚洲日韩男男 | 韩日一级17c| www.狠狠| 国产激情啪啪| 不卡成人| 一区二区视频在线观看| av无码精品一区| 成人黄网站在线观看| 另类老妇性BBBWBBW| 亚洲免费三级片| 欧美不卡一区二区三区| 一区二区有限公司| 国产精品人妻无码久久久郑州天气网| 91在线看18| 国产精品乱伦| 水蜜桃网址| 18禁一区| 嘉兴少妇按摩69XX| 激情五月天综合网| 91网在线观看| 青青草资源站| 成人AV无码| 五月丁香婷中文| 国产亚洲久一区二区三区| 亚洲在线a| 性爱A级视频| 日韩大码无码| 99性爱视频| 成人午夜福利网站| 激情国产| 欧美成人在线免费视频| 亚洲91成人| 婷婷在线影院| 操久久久久久| 青青草AV| 成人操B视频| 骚逼综合| 操碰视频在线| 亚洲无码人妻视频| 91精品丝袜久久久久久| 97人妻一区二区精品免费视频| 草逼美女| 91香蕉视频在线| 欧美三级网| 亚洲精品在线观看视频| 2025国产成人精品一区| 亚洲一级视频在线观看| 国产激情视频网站| 狠狠撸天天操| 99色综合网| 日本一级婬片A片免费看| 亚洲综合激情五月久久| 亚洲人妻AV| 国产V片| 伊人影院在线视频| 亚洲精品suv视频| 69视频在线播放| 男人的天堂久久| 亚洲欧洲精品成人久久曰影片| 欧美精品18videosex性欧美| 亚洲欧洲久久电影| 日韩欧美一级| 99热网站| 国产无码片| 亚洲高清AV| 爱爱爱免费视频| 微熟女导航| 中文资源在线a中文| 免费无码毛片一区二区A片| 少妇一级婬片内射视频| 翔田千里av在线| 国产一毛a一毛a在线观看| 国产无码成人电影| 一线av| 午夜激情在线观看| 国产ts在线| 人人操天天操| 日韩成人在线免费观看| 成人性爱av| 91足浴店按摩漂亮少妇| 久久新视频| 亚洲中文字幕人妻| 麻豆视频免费观看| 日逼网站视频| 人妻无码人妻| A级视频免费观看| 波多野结衣福利视频| 亲子乱婬-一级A片| 天天综合网久久| 丁香花在线小说免费阅读| 俺来也俺去啦欧美www| 天天玩夜夜玩天天玩国产99| 日韩无码中文字幕| 日韩理论片| 成人三级片在线观看| 中文字幕毛片| 青青伊人网| 女人的天堂AV| 亚洲三级免费| 日韩无码小电影| 婷婷五月av| 国产AV一区二区三区四区| 激情性爱五月天| 91小仙女jK白丝袜呻吟| 91成人免费电影| 怡春院在线| 成人爽a毛片一区二区免费| 西西444www无码精品| 免费看的黄色视频| 国产精品成人无码a无码| 日韩在线观看一区| 东方AV在线播放| 日本超碰在线| 免费a片视频| 亚洲欧美日韩一区二区| 亚洲成人视频免费观看| 天天肏屄| 国产在线小电影| 91精品丝袜久久久久久久久久粉嫩| 爆操91| 免费的黄色视频| 日韩免费高清视频| 国产AV一级片| 18禁91| 久久黄色视频网站| 91在线资源| 91午夜福利| 无码视频免费| 久久久精品| 国产91视频| 四川少妇BBB凸凸凸BBB安慰我 | 激情免费视频| 翔田千里無碼破解| 东方AV在线免费观看| 久久婷婷网| 2025av天堂网| JiZZjiZZ亚洲成熟熟妇| 亚洲xxxxx| 欧美一区视频| 久久成人片| 国产乱妇无码毛片A片在线看下载| 99在线免费观看| 国产九色91回来了| 亚洲日韩一区| 欧美综合高清| 黄色av无码| 久9久9| 大香蕉AV电影| 国产日逼片| 牛牛在线精品视频| 久久精品导航| 校园春色亚洲无码| 91亚洲精品在线观看| 日韩欧美操逼视频| 爱搞搞就要搞搞| 国产亚洲精品久久久久动| 日本黄色一级视频| 国产精品成人无码免费| 97久久97欧美精品A片| 天天色天天| 亚洲中文字幕av天堂| 吴梦梦一区二区三区| 91精品国产乱码久久久| 99视频+国产日韩欧美| 亚洲三级在线免费观看| 婷婷五月中文| 国产一级a毛一级a毛视频在线网站)| 成人黄色视频网站在线观看| 秋霞福利网| 最近中文字幕| 草视频| 亚洲一级二级三级| youjizzcom日本| 日韩操逼图| 噼里啪啦免费观看视频大全| 亚洲无码av电影| 亚洲欲色| 伊人性爱网| 粉嫩av懂色av蜜臀av分享| 日韩av一区二区三区| 这里都是精品| 强开小嫩苞一区二区三区视频| 亚洲草逼视频| 爱爱高清视频| 玖玖资源在线观看| 在线观看视频你懂的| 国产口爆在线观看| 亚洲天堂第一页| 国产一级a爱做片免费☆观看| 波多野结衣不卡| 无码三级在线免费观看| 操逼大毛片| 久操国产视频| 人人cao| 黑人巨粗进入疼哭A片| 91人妻网| 欧美大香蕉网| 国产av大全| 囯产精品久久久久久久久久久久久久 | 欧美日韩中文| 99热99精品| 伊人干综合| 国产免费一区二区三区网站免费| 国产伦子伦一级A片免费看老牛| 11一12周岁女毛片| 亚洲色操| 北条麻妃99精品| 99久久99九九99九九九| 丁香五月在线观看| 久久人精品| 亚洲日本中文字幕在线| 国内自拍视频网站| 亚洲男人天堂AV| 羽月希无码| av女人天堂| 国产人国产视频成人免费观看…| 一区二区三区麻豆| 天天草av| 无码在线网站| 影音先锋国产资源| 一区二区三区视频免费| 亚洲国产一区二区在线| 婷婷五月六月| av在线一区二区三区| 欧美一区二区在线视频| 午夜福利欧美| 一区二区三区四区视频| 黄片毛片| 欧美国产操逼| 91高清在线| 成人免费黄色| 日韩免费高清| 婷婷五月天丁香成人社区| 艹逼视频| 日韩一级片在线播放| 日本性爱一区| 99精品热| 日韩精品毛片一区二区视频免费| 免费黄色a片| 色婷婷中文| 青青青草视频| 无码视频播放| 午夜神马51| 一区二区经典| 久久免费视频播放| 大香蕉视频网| 免费成人AV| 亚洲欧美在线成人| 国产免费av片| 综合五月| 欧美日韩免费| 国产精品色婷婷| 成人免费A片在线观看直播96| a视频| 国产在线第一页| 草逼美女| 99re这里只有精品6| 国产69精品久久久久久| 久久亚洲国产| 欧洲天堂在线视频网站| 国产精品乱码一区二区三区| 成人理伦A级A片在线论坛| 日韩在线视频免费| 超碰中文字幕| 欧美A片在线免费观看| 无码视频久久| 日日碰日日摸| 国产在线拍揄自揄拍无码视频| 色图插插插| 亚洲AV无码成人精品区在线欢看| 中文字幕高清在线| 日韩综合在线| 91精彩视频| 日本操B视频| 一级黄色电影在线观看| 欧美成人18| xxxx日韩| 狠狠插狠狠操| 老熟女痒到不行-ThePorn| 青吴乐大香蕉| 欧美午夜性爱视频| 中文熟女| 亚洲福利电影| 中文字幕特黄A片| 男女操逼视频网站| av水果派| 亚洲影院中文字幕| 中文观看| 成人无码一区二区三区| 亚洲在线中文字幕| 日韩AV一区二区在线观看| 亚洲午夜久久久久久久久| 人人干人人操人人摸| 色玉米地熟妇| 亚洲最新AV网站| 最近中文字幕免费mv第一季歌词大全 | 国产精品国产三级国产专区52 | 欧美日韩国产不卡视频| 欧美日韩国产91| 99这里有精品| 日韩看片| 国产剧情一区二区| 久久在线免费视频| 大香蕉中文在线| 一级日韩一级欧美| 在线观看黄视频| 五十路在线视频| 欧美成人性色欲影院| 国产高清中文字幕| 欧亚av| 亚洲黄色无码视频| 黄色在线播放| 麻豆国产一区二区三区四区| 激情男人网| 黄色视频网站在线播放| 婷婷综合五月天| 啪啪啪网站| 91二区三区| 伊人福利导航| 午夜福利高清在线观看| 在线高清无码视频| 99免费观看视频| 成人大战香蕉最新视频| 青青草网址| 国内免费AV| 天天影视综合网免费观看电视剧国产 | 免费在线性爱视频| 免费无码蜜臀在线观看| 九九99精品| 77q视频| 特黄AAAAAAAA片免费直播| 久草免费在线视频| AA片免费| 日韩乱伦中文字幕| 操中国老女人| 久婷婷| 簧片网站在线观看| 日韩无码成人| 无码一区二区黑人猛烈视频网站| 中文在线a√在线8| 国产免费精彩视频| 欧美人妻无码| 成人AAA|