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

嗦一嗦MySQL 8.0的新特性(一)

數據庫 MySQL
MySQL8.0 GA版本發布了,展現了眾多新特性,本系列譯文將整理為3篇,為大家介紹升級的部分新特性。本文為第1篇,重點為大家介紹SQL、JSON上展現的新特性,其他特性的介紹將陸續更新,敬請關注。

 嗦一嗦MySQL 8.0的新特性(一)

MySQL8.0 GA版本發布了,展現了眾多新特性,本系列譯文將整理為3篇,為大家介紹升級的部分新特性。

本文為第1篇,重點為大家介紹SQL、JSON上展現的新特性,其他特性的介紹將陸續更新,敬請關注。

非常高興的向大家宣布MySQL 8.0 GA版本發布,MySQL 8.0是一個得到全面增強且極具吸引力的新版本。不限于下面幾點:

We proudly announce General Availability of MySQL 8.0. Download now! MySQL 8.0 is an extremely exciting new version of the world’s most popular open source database with improvements across the board. Some key enhancements include:

1、SQL方面:窗口函數,公共表達式,NOWAIT, SKIP LOCKED, 降序索引,分組,正則表達式,字符集,CBO優化模式,直方圖

1、SQL Window functions, Common Table Expressions, NOWAIT and SKIP LOCKED, Descending Indexes, Grouping, Regular Expressions, Character Sets, Cost Model, and Histograms.

2、對JSON的支持:擴充語法,新函數,排序增強,JSON列部分更新。基于JSON表的特性,可以調用SQL語句處理JSON數據。

2、JSON Extended syntax, new functions, improved sorting, and partial updates. With JSON table functions you can use the SQL machinery for JSON data.

3、對地理信息系統的支持—空間引用系統(SRS),包括SRS空間數據類型,空間索引,空間函數

3、GIS Geography support. Spatial Reference Systems (SRS), as well as SRS aware spatial datatypes, spatial indexes, and spatial functions.

4、可靠性:DDL語句支持原子性和崩潰安全恢復(元信息數據被存在了一個基于InnoDB的單獨事務性數據字典中)。

4、Reliability DDL statements have become atomic and crash safe, meta-data is stored in a single, transactional data dictionary. Powered by InnoDB!

5、可觀察性:對P_S,I_S,配置參數,錯誤日志的記錄有顯著增強

5、Observability Significant enhancements to Performance Schema, Information Schema, Configuration Variables, and Error Logging.

6、可管理性:遠程管理,Undo表空間管理,快速DDL

6、Manageability Remote management, Undo tablespace management, and new instant DDL.

7、安全性:OpenSSL的改進,新的默認驗證方式,SQL角色權限,分解super權限,密碼強度提升等等

7、Security OpenSSL improvements, new default authentication, SQL Roles, breaking up the super privilege, password strength, and more.

8、性能:InnoDB在讀/寫負載,高IO負載,熱數據高并發競爭等場景表現更好。新增的資源組特性給用戶在特定負載和特定硬件情況下將用戶線程映射到指定的CPU上的可選項

8、Performance InnoDB is significantly better at Read/Write workloads, IO bound workloads, and high contention “hot spot” workloads. Added Resource Group feature to give users an option optimize for specific workloads on specific hardware by mapping user threads to CPUs.

以上是8.0版本的部分亮點,我(原文作者)推薦您仔細閱讀GA版本前幾個版本的發布信息,甚至這些特性和實現方法的的項目日志。或者您可以選擇直接在Github上閱讀源碼。

The above represents some of the highlights and I encourage you to further drill into the complete series of Milestone blog posts—8.0.0, 8.0.1, 8.0.2, 8.0.3, and 8.0.4 —and even further down in to the individual worklogs with their specifications and implementation details. Or perhaps you prefer to just look at the source code at github.com/mysql.   

面向開發人員的特性  

 

 

 

MySQL 8.0應面向MySQL開發人員的需求,帶來了SQL,JSON,正則表達式,地理信息系統等方面的特性,因為很多開發人員有存儲EmoJi表情的需求,在新版本中UTF8MB4成為默認的字符集。除此之外,還有對Binary數據類型按位操作,和對IPV6和UUID函數的改進。

MySQL Developers want new features and MySQL 8.0 delivers many new and much requested features in areas such as SQL, JSON, Regular Expressions, and GIS. Developers also want to be able to store Emojis, thus UTF8MB4 is now the default character set in 8.0. Finally there are improvements in Datatypes, with bit-wise operations on BINARY datatypes and improved IPv6 and UUID functions.  

 

 

 

 

 SQL

1、窗口函數

MySQL 8.0帶來了標準SQL的窗口函數功能,窗口函數與分組聚合函數相類似的是都提供了對一組行數據的統計計算。但與分組聚合函數將多行合并成一行不同是窗口函數會在結果結果集中展現每一行的聚合。

MySQL 8.0 delivers SQL window functions. Similar to grouped aggregate functions, window functions perform some calculation on a set of rows, e.g. COUNT or SUM. But where a grouped aggregate collapses this set of rows into a single row, a window function will perform the aggregation for each row in the result set.

窗口函數有兩種使用方式,首先是常規的SQL聚合功能函數和特殊的窗口函數。

常規的聚合功能函數如:COUNT,SUM等函數。而窗口函數專有的則是RANK, DENSE_RANK, PERCENT_RANK, CUME_DIST, NTILE, ROW_NUMBER, FIRST_VALUE, LAST_VALUE, NTH_VALUE, LEADand LAG等函數。

Window functions come in two flavors: SQL aggregate functions used as window functions and specialized window functions. This is the set of aggregate functions in MySQL that support windowing: COUNT, SUM, AVG, MIN, MAX, BIT_OR, BIT_AND, BIT_XOR, STDDEV_POP (and its synonyms STD, STDDEV), STDDEV_SAMP, VAR_POP (and its synonym VARIANCE) and VAR_SAMP. The set of specialized window functions are: RANK, DENSE_RANK, PERCENT_RANK, CUME_DIST, NTILE, ROW_NUMBER, FIRST_VALUE, LAST_VALUE, NTH_VALUE, LEADand LAG

對窗口函數的支持上,是用戶呼聲比較頻繁。窗口函數早在SQL2003規范中就成為了標準SQL的一部分。

Support for window functions (a.k.a. analytic functions) is a frequent user request. Window functions have long been part of standard SQL (SQL 2003). See blog post by Dag Wanvik here as well as blog post by Guilhem Bichot here.

 

2、公用表表達式(CTE)

 

MySQL 8.0 帶來了支持遞歸的公用表表達式的功能。非遞歸的公用表表達式由于允許由from子句派生的臨時表的原因可以被多次引用,因而被解釋為改進型的派生表(from子句中的臨時表)。

而遞歸的公用表表達式則由一組原始數據,經過處理后得到新的一組數據,再被帶入處理得到更多的新數據,循環往復直到再也無法產生更多新數據為止。公用表達式也是一個用戶呼聲頻繁的SQL功能。

MySQL 8.0 delivers [Recursive] Common Table Expressions (CTEs). Non-recursive CTEs can be explained as “improved derived tables” as it allow the derived table to be referenced more than once. A recursive CTE is a set of rows which is built iteratively: from an initial set of rows, a process derives new rows, which grow the set, and those new rows are fed into the process again, producing more rows, and so on, until the process produces no more rows. CTE is a commonly requested SQL feature, see for example feature request 16244 and 32174 . See blog posts by Guilhem Bichot here, here, here, and here.

3、新的NOWAIT、SKIP LOCKED選項

MySQL 8.0 給SQL的上鎖子句帶來了NOWAIT和SKIP LOCKED兩個可選項。在原來的版本中,當行數據被UPDATE或者SELECT ... FOR UPDATE語句上鎖后,其他的事務需要等待鎖釋放才能訪問這行數據。

但在某些場景下,有馬上獲得(不等待鎖)數據的需求。使用NOWAIT參數后如果請求的數據中包括了被鎖住的行,將馬上會收到查詢失敗的報錯信息。使用SKIP LOCKED參數后,返回的數據將會跳過被鎖住的行。

MySQL 8.0 delivers NOWAIT and SKIP LOCKED alternatives in the SQL locking clause. Normally, when a row is locked due to an UPDATE or a SELECT ... FOR UPDATE, any other transaction will have to wait to access that locked row. In some use cases there is a need to either return immediately if a row is locked or ignore locked rows. A locking clause using NOWAIT will never wait to acquire a row lock. Instead, the query will fail with an error. A locking clause using SKIP LOCKED will never wait to acquire a row lock on the listed tables. Instead, the locked rows are skipped and not read at all. NOWAIT and SKIP LOCKED are frequently requested SQL features. See for example feature request 49763 . We also want to say thank you to Kyle Oppenheim for his code contribution! See blog post by Martin Hansson here.

4、降序索引

MySQL 8.0 帶來了對降序索引的支持。在 8.0降序索引中,數據被倒序組織,正向查找。而在之前的版本中,雖然支持創建降序排列的索引,但其實現方式是通過創建常見的正序索引,然后進行反向查找來實現的。

一方面,正序查找要比逆序查找更快;

另一方面,真正的降序索引在復合的order by語句(即有asc又有desc)中,可以提高索引利用率,消除filesort。

MySQL 8.0 delivers support for indexes in descending order. Values in such an index are arranged in descending order, and we scan it forward. Before 8.0, when a user create a descending index, we created an ascending index and scanned it backwards. One benefit is that forward index scans are faster than backward index scans. Another benefit of a real descending index is that it enables us to use indexes instead of filesort for an ORDER BY clause with mixed ASC/DESC sort key parts. Descending Indexes is a frequently requested SQL feature. See for example feature request 13375 . See blog post by Chaithra Gopalareddy here.

5、分組函數 

MySQL 8.0 帶來了GROUPING()分組函數,這個功能可以把group by子句擴展功能(如ROLLUP)產生的過聚合NULL值,通過0和1進行區分,1為NULL,這樣就可以在having子句中對過聚合的無效值進行過濾。

MySQL 8.0 delivers GROUPING(), SQL_FEATURE T433. The GROUPING() function distinguishes super-aggregate rows from regular grouped rows. GROUP BY extensions such as ROLLUP produce super-aggregate rows where the set of all values is represented by null. Using the GROUPING() function, you can distinguish a null representing the set of all values in a super-aggregate row from a NULL in a regular row. GROUPING is a frequently requested SQL feature. See feature requests 3156 and 46053. Thank you to Zoe Dong and Shane Adams for code contributions in feature request 46053 ! See blog post by Chaithra Gopalareddy here.

6、優化器建議

在5.7版本中我們引入了新的優化器建議的語法,借助這個新的語法,優化器建議可以被用/*+ */包裹起來,直接放在SELECT | INSERT | REPLACE | UPDATE | DELETE關鍵字的后面。

在8.0的版本中我們又加入了新的姿勢:

In 5.7 we introduced a new hint syntax for optimizer hints. With the new syntax, hints can be specified directly after the SELECT | INSERT | REPLACE | UPDATE | DELETEkeywords in an SQL statement, enclosed in /*+ */ style comments. (See 5.7 blog post by Sergey Glukhov here). In MySQL 8.0 we complete the picture by fully utilizing this new style:

  • 8.0版本增加了INDEX_MERGE和NO_INDEX_MERGE,允許用戶在單個查詢中控制是否使用索引合并特性。

MySQL 8.0 adds hints for INDEX_MERGE and NO_INDEX_MERGE. This allows the user to control index merge behavior for an individual query without changing the optimizer switch.

  • 8.0版本增加了JOIN_FIXED_ORDER, JOIN_ORDER, JOIN_PREFIX, 和 JOIN_SUFFIX,允許用戶控制join表關聯的順序。

MySQL 8.0 adds hints for JOIN_FIXED_ORDER, JOIN_ORDER, JOIN_PREFIX, and JOIN_SUFFIX. This allows the user to control table order for the join execution.

  • 8.0版本增加了SET_VAR,該優化器建議可以設定一個只在下一條語句中生效的的系統參數。

MySQL 8.0 adds a hint called SET_VAR. The SET_VAR hint will set the value for a given system variable for the next statement only. Thus the value will be reset to the previous value after the statement is over. See blog post by Sergey Glukhov here.

相對于之前的優化器建議和優化器特性開關參數,我們更傾向于推薦新形式的優化器建議模式,新形式的優化器建議可以在不侵入SQL語句(指修改語句的非注釋的業務部分)的情況下,注入查詢語句的很多位置。與直接修改語句的優化器建議相比,新形勢的優化器建議在SQL語義上更加清晰。

We prefer the new style of optimizer hints as preferred over the old-style hints and setting of optimizer_switch values. By not being inter-mingled with SQL, the new hints can be injected in many places in a query string. They also have clearer semantics in being a hint (vs directive). 

 JSON

8.0版本追加了新的JSON函數,并可以提高在排序與分組JSON數據情況下的性能。

MySQL 8.0 adds new JSON functions and improves performance for sorting and grouping JSON values.

1、JSON path表達式中擴展的范圍性語法

MySQL 8.0 擴展了JSON path表達式中范圍性的語法,比如:SELECT JSON_EXTRACT('[1, 2, 3, 4, 5]', '$[1 to 3]');可以得出[2, 3, 4]的結果。

MySQL 8.0 extends the syntax for ranges in JSON path expressions. For example SELECT JSON_EXTRACT('[1, 2, 3, 4, 5]', '$[1 to 3]'); results in [2, 3, 4]. 

The new syntax introduced is a subset of the SQL standard syntax, described in SQL:2016, 9.39 SQL/JSON path language: syntax and semantics. See also Bug#79052reported by Roland Bouman.

2、JSON表函數 

MySQL 8.0 增加了可以在JSON數據上使用SQL處理工具的JSON 表函數。JSON_TABLE()函數可以創建JSON數據的關系型視圖。可以將JSON數據估算到關系型的行列之中,用戶可以對此函數返回的數據按照常規關系型數據表的方式進行SQL運算。

MySQL 8.0 adds JSON table functions which enables the use of the SQL machinery for JSON data. JSON_TABLE() creates a relational view of JSON data. It maps the result of a JSON data evaluation into relational rows and columns. The user can query the result returned by the function as a regular relational table using SQL, e.g. join, project, and aggregate.

3、JSON 聚合函數

MySQL 8.0 增加了用于生成JSON陣列的聚合函數JSON_ARRAYAGG(),和用于生成JSON對象的JSON_OBJECTAGG()函數,令多行的JSON文檔組合成JSON陣列或者JSON對象成為可能。

MySQL 8.0 adds the aggregation functions JSON_ARRAYAGG() to generate JSON arrays and JSON_OBJECTAGG() to generate JSON objects . This makes it possible to combine JSON documents in multiple rows into a JSON array or a JSON object. See blog post by Catalin Besleaga here.

4、JSON 合并函數

JSON_MERGE_PATCH() 函數可執行JavaScript的語法,在合并時發生重復鍵值對時將會優先選用第二個文檔的鍵值對,并刪除第一個文檔對應的重復鍵值。

The JSON_MERGE_PATCH() function implements the semantics of JavaScript (and other scripting languages) specified by RFC7396, i.e. it removes duplicates by precedence of the second document. For example, JSON_MERGE('{"a":1,"b":2 }','{"a":3,"c":4 }');# returns {"a":3,"b":2,"c":4}.

JSON_MERGE_PRESERVE()函數與5.7版本中的JSON_MERGE()含義相同,都是在合并的時候保留所有值。

The JSON_MERGE_PRESERVE() function has the semantics of JSON_MERGE() implemented in MySQL 5.7 which preserves all values, for example JSON_MERGE('{"a": 1,"b":2}','{"a":3,"c":4}'); # returns {"a":[1,3],"b":2,"c":4}.

5.7原來的JSON_MERGE() 函數在8.0版本中為減少merge操作的不明確性,而被棄用。

The existing JSON_MERGE() function is deprecated in MySQL 8.0 to remove ambiguity for the merge operation. See also proposal in Bug#81283 and blog post by Morgan Tocker here.

5、JSON 美化函數

8.0版本增加了可以接收JSON原生數據類型和用字符串形式表達的JSON,并返回一行縮進的易讀的JSON格式化后的的字符串。

MySQL 8.0 adds a JSON_PRETTY() function in MySQL. The function accepts either a JSON native data-type or string representation of JSON and returns a JSON formatted string in a human-readable way with new lines and indentation.

6、JSON 文件大小函數 

8.0版本增加了和指定JSON對象空間占用相關的函數,JSON_STORAGE_SIZE() 可以用字節為單位返回JSON某個數據類型的實際大小, JSON_STORAGE_FREE() 可以返回該JSON數據類型的剩余空間(包括碎片和用來適應更改后發生長度變化的預備空間)

MySQL 8.0 adds JSON functions related to space usage for a given JSON object. The JSON_STORAGE_SIZE() returns the actual size in bytes for a JSON datatype. The JSON_STORAGE_FREE() returns the free space of a JSON binary type in bytes, including fragmentation and padding saved for inplace update.

7、JSON 改進型的排序

8.0版本通過使用變長的排序鍵提升了JSON排序分組的性能。在某些場景下,Preliminary 的壓測結果出現了1.2到18倍的提升。

MySQL 8.0 gives better performance for sorting/grouping JSON values by using variable length sort keys. Preliminary benchmarks shows from 1.2 to 18 times improvement in sorting, depending on use case.

8、JSON的部分更新

8.0版本增加了對 JSON_REMOVE(), JSON_SET() 和 JSON_REPLACE() 函數的部分更新的支持。如果JSON文檔的某部分被更新,我們會將更改的詳情給到句柄。這樣存儲引擎和復制關系就不必寫入整個JSON文檔。

在之前的復制環境中由于無法確保JSON文檔的排列(layout)在主從上完全一致,所以在基于行的復制情況下物理文件的差異并不能用來削減傳輸復制信息帶來的網絡IO消耗。

因此,8.0版本提供了在邏輯上區分差異的方法,可以在行復制的情況下傳輸并應用到從庫上。

MySQL 8.0 adds support for partial update for the JSON_REMOVE(), JSON_SET() and JSON_REPLACE() functions. If only some parts of a JSON document are updated, we want to give information to the handler about what was changed, so that the storage engine and replication don’t need to write the full document. In a replicated environment, it cannot be guaranteed that the layout of a JSON document is exactly the same on the slave and the master, so the physical diffs cannot be used to reduce the network I/O for row-based replication. Thus, MySQL 8.0 provides logical diffs that row-based replication can send over the wire and reapply on the slave. See blog post by Knut Anders Hatlen here.

責任編輯:龐桂玉 來源: 老葉茶館
相關推薦

2018-06-01 15:41:21

2018-05-31 12:52:01

數據庫MySQL 8.0新特性

2018-09-19 16:15:18

MySQL直方圖數據庫

2021-05-19 15:06:44

MySQL數據庫命令

2015-07-17 13:27:16

MySQL 5.7

2017-11-01 15:50:38

數據庫MySQL 8.0新特性

2011-07-27 15:36:35

2012-08-20 11:03:42

IBMdW

2017-01-05 20:00:49

大數據技術HPE Vertica

2019-07-19 15:53:45

MySQL 5.7MySQL 8.0MySQL

2009-01-16 10:01:57

MySQL復制特性測試

2013-10-18 14:23:21

Ubuntu 13.1Kbuntu 13.1

2011-05-26 10:27:37

Fedora 15

2018-05-15 16:33:12

數據庫MySQL 8.0新特性

2022-09-30 14:00:50

JavaScrip新特性代碼

2018-08-14 11:44:23

數據庫MySQLMySQL 8.0

2010-07-20 10:19:06

Wine 1.2

2022-05-11 09:35:19

安卓Android 13

2013-11-26 10:00:30

VMware Hori

2011-12-16 09:24:53

JavaSpring開源框架
點贊
收藏

51CTO技術棧公眾號

欧美日韩一本到| 激情五月激情综合网| 亚洲激情在线观看| 国产成人精品视频ⅴa片软件竹菊| 久久精品a一级国产免视看成人 | 国产主播第一页| 1024精品久久久久久久久| 欧美精品一区二区三| 日本精品一区二区三区四区| 麻豆影视国产在线观看| jizz一区二区| 国产欧美最新羞羞视频在线观看| 国产亚洲第一页| 国内精品久久久久久久影视简单 | 日本色护士高潮视频在线观看| 99久久久久免费精品国产 | 97品白浆高清久久久久久| 色综合夜色一区| 91精品一区二区三区四区| 麻豆app在线观看| 国产成人综合在线观看| 国产精品久久视频| 日韩精品一区二区三区国语自制| 91日韩在线| 精品香蕉在线观看视频一| 伊人五月天婷婷| 91成人抖音| 精品高清一区二区三区| 国产人妻人伦精品| 在线观看免费网站黄| 91在线视频免费观看| 99久久99久久| 国产精品玖玖玖| 日产欧产美韩系列久久99| 97国产精品视频人人做人人爱| 国产黄色小视频网站| 精品免费一区二区| 国产视频在线观看一区二区| 国产精品偷伦视频免费观看了| 色综合久久久| 欧美三级电影一区| 动漫av免费观看| 欧美日韩电影免费看| 精品国产乱码久久久久久婷婷| 一二三四中文字幕| 黄色视屏免费在线观看| 成人欧美一区二区三区白人| 亚洲欧美国产一区二区| av在线三区| 中文字幕av资源一区| 蜜桃导航-精品导航| 无码精品一区二区三区在线| 成人动漫视频在线| 国产精品白丝jk白祙| 亚洲福利在线观看视频| 国产不卡视频在线观看| 成人18视频| 内射后入在线观看一区| 丁香五精品蜜臀久久久久99网站| 成人自拍爱视频| 秋霞网一区二区| 99精品欧美一区| 免费试看一区| 国产精品四虎| 国产精品第13页| 欧美另类videosbestsex日本| 97超碰资源站在线观看| 一区二区三区欧美视频| 欧美一级欧美一级| 成人一级福利| 色国产综合视频| 色综合天天色综合| 国产999精品在线观看| 欧美一级欧美三级在线观看| 久久久久久婷婷| 亚洲区小说区图片区qvod按摩| 亚洲日本中文字幕| 99热6这里只有精品| 欧美日韩国产免费观看| 亚州成人av在线| 亚洲精品一区二区二区| 国产一区二区三区在线观看免费视频| 97人人干人人| 奇米影视888狠狠狠777不卡| 国产精品国产三级国产普通话三级| 欧美 另类 交| 日韩大片免费观看| 欧美亚洲国产bt| 亚洲 自拍 另类 欧美 丝袜| 欧美毛片免费观看| 中文字幕在线看视频国产欧美在线看完整 | 无码日韩人妻精品久久蜜桃| 亚洲成人1区| 精品国产第一区二区三区观看体验| 精品无码在线视频| 91精品啪在线观看国产81旧版| 午夜免费在线观看精品视频| 天天操天天干天天摸| 国产一区二区福利视频| 久久riav| 丝袜国产在线| 欧美色手机在线观看| 美女伦理水蜜桃4| 日韩免费高清| 69av在线播放| 国产女人18毛片水18精| 91婷婷韩国欧美一区二区| 亚洲一区二区三区免费观看| 欧美xxxhd| 日韩限制级电影在线观看| 麻豆精品免费视频| 欧美日本三区| 91精品国产综合久久香蕉的用户体验 | 国偷自拍第113页| 久久99精品久久久久久| 精品乱子伦一区二区三区| 欧美成年黄网站色视频| 欧美日韩在线影院| 亚洲最大视频网| 91蜜臀精品国产自偷在线| 日韩av电影在线免费播放| 精品人妻伦一区二区三区久久 | 国产不卡视频一区| 国产免费一区二区| 黄色免费在线观看| 欧美日韩一区国产| 一区二区三区少妇| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美男人操女人视频| 美女少妇精品视频| 中日韩av在线| 久久综合久久鬼色中文字| 男人c女人视频| 另类视频一区二区三区| 在线播放精品一区二区三区| 三级网站在线播放| 久久视频一区二区| 波多野结衣之无限发射| 超碰97久久国产精品牛牛| 麻豆国产精品va在线观看不卡 | 亚洲欧美在线磁力| 国产91av视频| 成人精品gif动图一区| www.一区二区.com| 亚洲国产中文在线| 欧美国产亚洲精品久久久8v| 国产激情无套内精对白视频| 亚洲人成精品久久久久久| 日本美女视频一区| 久久裸体网站| 亚洲www在线| 99在线播放| 欧美mv日韩mv国产网站app| 欧美日韩在线视频免费播放| 国产丶欧美丶日本不卡视频| 97中文字幕在线| 51亚洲精品| 91精品国产高清久久久久久91 | 一区二区中文字幕| 五月婷婷丁香在线| 国产精品色眯眯| gai在线观看免费高清| 久久精品免费一区二区三区| 成人免费网视频| 亚洲精品白浆| 亚洲激情在线观看视频免费| 国产毛片aaa| 国产婷婷精品av在线| 狠狠热免费视频| 91超碰国产精品| 成人女人免费毛片| 天堂av中文在线观看| 亚洲午夜色婷婷在线| 中国黄色一级视频| 亚洲黄色免费电影| 亚洲永久无码7777kkk| 久久亚洲色图| 中国一级大黄大黄大色毛片| 亚洲一区二区三区在线免费| 97久久精品国产| 二区三区在线播放| 欧美高清视频一二三区| 精品在线视频免费观看| 久久欧美中文字幕| 亚洲综合av在线播放| 国产精品激情| 日产精品高清视频免费| 99国内精品久久久久| 欧美日韩国产91| 你懂的好爽在线观看| 欧美精品久久天天躁| 免费人成视频在线| 国产欧美精品在线观看| 国偷自产av一区二区三区麻豆| 亚洲欧美日韩国产一区二区| 在线观看精品视频| 加勒比色老久久爱综合网| 国产精品第七影院| 欧美一卡二卡| 中文字幕欧美日韩va免费视频| 亚洲黄色在线播放| 欧美性生活影院| 日产电影一区二区三区| 中文字幕精品一区二区三区精品| 成人一区二区三区仙踪林| 老**午夜毛片一区二区三区| 欧美中文字幕在线观看视频| 国产亚洲一区二区三区不卡| 99久热re在线精品视频| 日韩av首页| 97超碰色婷婷| 女子免费在线观看视频www| 在线精品高清中文字幕| 殴美一级特黄aaaaaa| 在线不卡的av| 亚洲欧美偷拍一区| 亚洲福利视频一区二区| sm捆绑调教视频| 久久免费偷拍视频| 亚洲精品一区二区18漫画| 久久se精品一区精品二区| 哪个网站能看毛片| 激情自拍一区| 亚洲黄色网址在线观看| 精品一区二区三区的国产在线观看| 国产精品一区在线播放| 精品一区二区三区中文字幕在线| 国产精品99久久久久久久久久久久| 蜜桃传媒在线观看免费进入 | 国产一区二区不卡在线| 中文字幕第80页| 久久久久久穴| www黄色日本| 亚洲乱码视频| 日本欧美视频在线观看| 亚洲视频免费| 青青视频免费在线| 亚洲人metart人体| 一区二区三区一级片| 国产精品久久久久久影院8一贰佰| 日韩欧美亚洲区| 久久99影视| 欧美一区二区三区精美影视| 欧美一区二区三区红桃小说| 国产伦精品一区二区三区视频黑人 | 欧美卡1卡2卡| 97超碰人人草| 91精品国产高清一区二区三区 | 久久久久免费看黄a片app| 亚洲网站啪啪| 福利视频一区二区三区四区| 国产精品啊v在线| 婷婷五月综合缴情在线视频| 亚洲成色精品| 男人揉女人奶房视频60分| 国产欧美日韩综合一区在线播放| 亚洲熟妇国产熟妇肥婆| 一区二区三区精品视频在线观看| 国产精品999视频| 蜜桃伊人久久| 蜜臀av免费观看| 精品夜夜嗨av一区二区三区| 日韩精品在线播放视频| 国产福利91精品| 国模私拍在线观看| 久久综合九色综合欧美亚洲| 欧美18—19性高清hd4k| 国产区在线观看成人精品| 成人信息集中地| 樱桃国产成人精品视频| 久久精品女人毛片国产| 精品毛片网大全| 中国黄色一级视频| 日韩一区二区三免费高清| 亚洲男女视频在线观看| 亚洲男人天堂2023| 91精品专区| 九九视频这里只有精品| 日本在线影院| 91久久中文字幕| 久久久久97| 亚洲国产精品日韩| 午夜激情一区| 男人靠女人免费视频网站 | 色综合久久九月婷婷色综合| 中文字幕在线播放不卡| 日韩免费观看高清完整版在线观看| 性感美女视频一二三| 伊人久久久久久久久久久| av网站大全在线| 欧美亚洲免费电影| 国产一区二区三区免费观看在线 | 日本r级电影在线观看| 91视频国产观看| 色婷婷粉嫩av| 午夜精品一区在线观看| 中文字幕福利视频| 欧美精品一区二区久久久| 都市激情在线视频| 欧美精品久久久久久久免费观看 | 欧美日韩一区不卡| 深爱激情五月婷婷| 久久精品91久久香蕉加勒比| 成人国产二区| 97神马电影| 日本道不卡免费一区| 成人免费aaa| 国产一区二区三区四| 欧美偷拍一区二区三区| 亚洲一区精品在线| 国产麻豆精品一区| 亚洲色图国产精品| 91九色美女在线视频| 国产日韩中文在线| 国内成人自拍| 亚洲午夜无码av毛片久久| 国产精品99久久久久久似苏梦涵 | 国产二区视频在线观看| 久久久久久久av| 国产一区精品二区| 亚洲精品一区二区三| 亚洲国产专区校园欧美| 亚洲一级片免费观看| 国产精品传媒视频| 欧美日韩a v| 国产视频久久网| 91九色porn在线资源| 99精彩视频| 欧美激情1区| 国产精品久久久久久久99| 中文字幕国产精品一区二区| 99超碰在线观看| 亚洲乱码一区av黑人高潮| 2020国产在线| 国产亚洲欧美一区二区三区| 欧美激情五月| 免费在线观看日韩av| 一区二区三区日韩欧美| 精品黑人一区二区三区在线观看| 日韩在线视频播放| 日本一区二区电影| 日韩视频专区| 青青草国产精品97视觉盛宴| 午夜时刻免费入口| 91国产免费看| av片在线看| 91啪国产在线| 欧美a级片网站| 蜜桃视频无码区在线观看| 亚洲自拍偷拍麻豆| 亚洲精品97久久中文字幕| 欧美另类高清videos| 视频一区中文字幕精品| 国产亚洲黄色片| av成人老司机| 成人毛片在线播放| 亚洲香蕉在线观看| 国产精品亚洲成在人线| 亚洲精品视频一区二区三区| 紧缚奴在线一区二区三区| 朝桐光av在线| 亚洲国产99精品国自产| 美女扒开腿让男人桶爽久久软| 久久久7777| 蜜臀精品一区二区三区在线观看| 蜜桃av.com| 欧美成人三级在线| 日韩伦理在线一区| 亚洲精品日韩精品| 国产福利精品导航| 亚洲欧美精品一区二区三区| 国产午夜精品一区二区三区 | 日韩片电影在线免费观看| 美国十次了思思久久精品导航| 免费高清在线观看电视| 日韩精品一区二区三区中文精品| 日韩深夜视频| 亚洲一区二区三区免费观看| 国产成人精品三级麻豆| 国产无人区码熟妇毛片多| 最新中文字幕亚洲| 我要色综合中文字幕| 国产最新免费视频| 日韩久久一区二区| 天天综合天天综合| 国产精品久久久亚洲| 激情综合视频| 又嫩又硬又黄又爽的视频| 精品乱人伦一区二区三区| 欧美日韩电影免费看| 神马午夜伦理影院| 久久久久久亚洲综合| 99久久免费国产精精品| 91精品国产精品| 91不卡在线观看| 黄瓜视频污在线观看| 日韩美一区二区三区| 天然素人一区二区视频| 久久亚洲精品无码va白人极品| 国产精品网站在线播放|