久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

SQLSERVER中的假脱机spool

發布時間:2023/12/19 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 SQLSERVER中的假脱机spool 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SQLSERVER中的假脫機spool

我發現網上對于假脫機的解釋都非常零散,究竟假脫機是什么?

這幾天在家里研究了一下,收集了很多網上的資料

假脫機是中文的翻譯,而英文的名字叫做spool

在徐老師寫的《SQLSERVER企業級平臺管理實踐》里提到了一下假脫機

在SQLSERVER I/O問題的那一節

在性能監視器里,有一個計數器“worktables/sec” :

每秒創建的工作表數。例如,工作表可用于存儲查詢假脫機(query spool),LOB變量,XML變量,表變量,游標的臨時結果

在《剖析SQLServer執行計劃》里也提到了假脫機

(13) 有時查詢優化器需要在tempdb數據庫中建立臨時工作表。如果是這樣的話

就意味著圖形執行計劃中有標識成Index Spool, Row Count Spool或者Table Spool的圖標。

任何時候,使用到工作表一般都會防礙到性能,因為需要額外的I/O開銷來維護這個工作表。

之前本人也寫過一篇文章:對于索引假脫機的一點理解

寫這篇文章的時候當時還是對假脫機一知半解

假脫機在MSDN中的執行計劃中的邏輯運算符和物理運算符中提到了幾個假脫機相關的運算符(詳見本文最后面)

Eager Spool

Lazy Spool

Index Spool (有時候也叫 Nonclustered Index Spool)

Row Count Spool

Spool

Table Spool

Window Spool

Spool, Table Spool, Index Spool, Window Spool 和 Row Count Spool是物理運算符

Eager Spool 和 Lazy Spool是邏輯運算符

這些運算符描述了假脫機是如何工作的,在這里你需要非常清楚邏輯運算符和物理運算符的區別

MSDN中的解釋:

邏輯運算符:邏輯運算符描述了用于處理語句的關系代數操作。 換言之,邏輯運算符從概念上描述了需要執行哪些操作。

物理運算符:物理運算符實施由邏輯運算符描述的操作。 每個物理運算符都是一個執行某項具體操作的對象或例程。

例如,某些物理運算符可訪問表、索引或視圖中的列或行。 其他物理運算符執行其他操作,如計算、聚合、數據完整性檢查或聯接。

物理運算符具有與其關聯的開銷。

注意:窗口假脫機是沒有Eager Spool和Lazy Spool之分的,因為他既是邏輯運算符也是物理運算符!!

簡單來講SQLSERVER做某項操作由物理運算符來做,而具體怎樣做就由邏輯運算符來決定

打個比方:小明在佛山,想去廣州,小明可以選擇開汽車去廣州,踩自行車去廣州,騎摩托車去廣州(相當于做某項操作)

小明可以根據當時的路況:

(1)踩自行車:如果道路比較擁堵,踩自行車不用怕,最多的車也能過,他可以選擇使勁的踩(Eager Spool)或者慢慢踩(Lazy Spool)

(2)開汽車:如果道路比較暢通,他可以選擇開快一點(Eager Spool)或者開慢一點(Lazy Spool)

(3)騎摩托車:如果道路比較擁堵,他可以選擇抄小路,然后開快一點(Eager Spool)或者開慢一點(Lazy Spool)

不知道這個比喻大家明白沒有,不過本人也找不到更好的比喻~

在圖形執行計劃中,你會發現Table Spool 有時候會帶有 Eager Spool ,有時候有會帶有 Lazy Spool

因為Table Spool是物理運算符,Eager Spool和Eager Spool 是邏輯運算符


Table Spool(表假脫機)

SQL腳本如下:

表假脫機 Eager Spool

 1 ----表假脫機 Eager Spool
 2 USE [Spool]
 3 GO
 4 CREATE TABLE Sales (EmpId INT, Yr INT, Sales MONEY)
 5 INSERT Sales VALUES(1, 2005, 12000)
 6 INSERT Sales VALUES(1, 2006, 18000)
 7 INSERT Sales VALUES(1, 2007, 25000)
 8 INSERT Sales VALUES(2, 2005, 15000)
 9 INSERT Sales VALUES(2, 2006, 6000)
10 INSERT Sales VALUES(3, 2006, 20000)
11 INSERT Sales VALUES(3, 2007, 24000)
12 
13 SELECT * FROM [dbo].[Sales]
14 
15 
16 SELECT EmpId, Yr, SUM(Sales) AS Sales
17 FROM Sales
18 GROUP BY EmpId, Yr WITH CUBE

View Code

例子出處:http://www.sqlskills.com/blogs/conor/grouping-sets-rollups-and-cubes-oh-my/

In this case, it writes the data to a temporary spool, sorts the output of that

and then re-reads that spool in the second branch.

表假脫機 Lazy Spool

1 --表假脫機 Lazy Spool
2 USE [AdventureWorks]
3 GO
4 SELECT *,COUNT(*) OVER()
5 from production.[Product] AS p
6 JOIN production.[ProductSubcategory] AS s
7 ON s.[ProductCategoryID]=p.[ProductSubcategoryID]

View Code

例子出處:http://sqlblog.com/blogs/rob_farley/archive/2013/06/11/spooling-in-sql-execution-plans.aspx


Row Count Spool(行計數假脫機)

SQL腳本如下:

 1 --行計數假脫機
 2 USE [Spool]
 3 GO
 4 --建表
 5 CREATE TABLE tb1(ID int) 
 6 GO
 7 CREATE TABLE tb2(ID int) 
 8 GO
 9 
10 --插入測試數據
11 DECLARE @i INT 
12 SET @i= 500 
13 WHILE @i > 0 
14 begin 
15 INSERT INTO dbo.tb1 
16 VALUES ( @i 
17 ) 
18 SET @i = @i -1 
19 end 
20 GO
21 
22 DECLARE @i INT 
23 SET @i= 500 
24 WHILE @i > 0 
25 begin 
26 INSERT INTO dbo.tb2
27 VALUES ( @i 
28 ) 
29 SET @i = @i -1 
30 end 
31 
32 
33 --行計數假脫機
34 SELECT * FROM tb1 WHERE id NOT IN(SELECT id FROM tb2)

View Code

例子出處:http://niutuku.com/tech/MsSql/238716.shtml


Index Spool (索引假脫機)

Lazy Spool

SQL腳本如下:

 1 --索引假脫機(Index Spool)
 2 USE [Spool]
 3 GO
 4 --建表
 5 create  table   tb(aa   int,bb   char(1)) 
 6 GO  
 7 
 8 --插入測試數據
 9 insert   tb   values(1,'A')   
10 insert   tb   values(1,'B')   
11 insert   tb   values(1,'C')   
12 insert   tb   values(1,'D')   
13 
14 insert   tb   values(2,'E')   
15 insert   tb   values(2,'F')   
16 insert   tb   values(2,'G')   
17 insert   tb   values(2,'H')   
18 
19 insert   tb   values(3,'I')   
20 insert   tb   values(3,'J')   
21 insert   tb   values(3,'K')   
22 insert   tb   values(3,'L')
23   
24 --查詢數據
25 SELECT  *
26 FROM    tb a
27 WHERE   bb = ( SELECT TOP 1
28                         bb
29                FROM     tb
30                WHERE    aa = a.aa
31                ORDER BY NEWID()
32              )

View Code

例子出處:http://www.cnblogs.com/lyhabc/archive/2013/04/19/3029840.html


Window Spool(窗口假脫機)

Window Spool 這個執行計劃和OVER() 開窗函數息息相關,因為只有OVER()函數才會使用到Window Spool 這個執行計劃

http://msdn.microsoft.com/zh-cn/library/ms189461.aspx

大家可以看一下MSDN中對OVER()開窗函數里ROWS選項RANGE選項的解釋

ROWS | RANGE
通過指定分區中的起點和終點,進一步限制分區中的行數。 這是通過按照邏輯關聯或物理關聯對當前行指定某一范圍的行實現的。

物理關聯通過使用 ROWS 子句實現。

ROWS 子句通過指定當前行之前或之后的固定數目的行,限制分區中的行數。

此外,RANGE 子句通過指定針對當前行中的值的某一范圍的值,從邏輯上限制分區中的行數。

基于 ORDER BY 子句中的順序對之前和之后的行進行定義。

窗口框架“RANGE … CURRENT ROW …”包括在 ORDER BY 表達式中與當前行具有相同值的所有行。

例如,ROWS BETWEEN 2 PRECEDING AND CURRENT ROW 意味著該函數對其操作的行的窗口在大小上是 3 行,以當前行之前(包括當前行)的 2 行開頭。

SQL腳本如下:

 1 use master
 2 GO
 3 
 4 --range
 5 select count(*) over (order by id RANGE between current row and unbounded following)
 6 from   sysobjects
 7 order by id
 8 
 9 --rows
10 select count(*) over (order by type ROWS current row )
11 from   sysobjects
12 order by id

View Code

例子出處:http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=182542


對上面這些運算符的解釋:

假脫機運算符會取出表中的一部分的數據集,將他們存放在tempdb數據庫里的臨時結構里

這個臨時結構一般就是堆表或者非聚集索引,但是有一個物理運算符例外,臨時結構是不存放數據的,

他只存放假脫機里保存的數據的行數,而這個物理運算符就是Row Count spool

Index Spool:索引假脫機只有非聚集索引假脫機,沒有聚集索引假脫機,結合我以前寫的兩篇文章,解釋一下原因

SQLSERVER聚集索引與非聚集索引的再次研究(上)

SQLSERVER聚集索引與非聚集索引的再次研究(下)

SQLSERVER當遇到復雜的查詢的時候,需要把部分結果集放到tempdb數據庫里的非聚集索引頁里(說白了就是在tempdb數據庫里建立

表的非聚集索引)以加快查找的速度的時候就會用到索引假脫機

例如上面的例子,SQL語句用到了子查詢(tb表),SQLSERVER需要把子查詢里的結果集(tb表)進行排序然后將結果集放進去

非聚集索引里(對tb表建立非聚集索引),

然后用非聚集索引里的數據和主表(tb a)里的數據進行聯接,并輸出結果

為什麼不用聚集索引?

SQLSERVER聚集索引與非聚集索引的再次研究(上/下)里說到,非聚集索引和堆表是沒有連接在一起的,非聚集索引頁面只有指針

指向堆表的數據頁,而聚集索引的葉子節點就是數據頁,索引頁和數據頁連接在一起,如果建立聚集索引,就需要將表(tb表)中的數據

放入到tempdb數據庫里,這樣開銷就會很大

或者用下面兩張圖來描述可能會清楚一點,關鍵還是要讀懂 SQLSERVER聚集索引與非聚集索引的再次研究(上/下)

Table Spool:把表中的數據放進tempdb數據庫里

為什麼第一個查詢會用到Table Spool?因為CUBE這個數據匯總關鍵字會將表中的數據進行匯總,匯總的過程比較復雜

把表中的數據放進去tempdb數據庫里的工作表(worktable、臨時表、堆表)里進行復雜的匯總計算是比較好的

他避免了阻塞,以防止長期鎖住表中的數據

關于CUBE關鍵字可以看一下我這篇文章:SQLSERVER中的ALL、PERCENT、CUBE關鍵字、ROLLUP關鍵字和GROUPING函數

Row Count Spool:存放中間結果/表的數據的行數,上面的例子里用于計算表中的數據行數并保存在tempdb數據庫的

Row Count Spool里,為后面兩表聯接選用執行計劃提供選擇依據

Eager Spool邏輯運算符:一次性將所有數據放入到Spool里

Lazy Spool邏輯運算符:逐次逐次地將數據放入Spool里

在上面的例子里

Tabel Spool Eager Spool

SQLSERVER使用Eager Spool一次性將Sales 表中的數據存放到tempdb數據庫的工作表里面,方便快速統計

Row Count Spool

SQLSERVER使用計數器每次讀取到一行就加1,這樣一次一次地統計表中的行數(這里只是比喻,SQLSERVER內部可能并不是這樣統計!)

Window Spools:根據MSDN中的定義,OVER 子句定義查詢結果集內的窗口或用戶指定的行集。 然后,開窗函數將計算窗口中每一行的值

SQLSERVER將窗口中的結果集放入Spool里,以加快后續操作的速度

對于單獨一個窗口來講:單獨一個窗口屬于Eager Spool(一次性將結果集放進去窗口里)

對于表中的窗口來講:屬于Lazy Spool ,因為每個窗口把數據存放進去窗口里的速度/順序不是一致的,逐次逐次地將數據存放進去每個窗口


為什麼需要假脫機?

主要有兩個原因:

1:數據需要再次被調用

2:使假脫機數據與源數據保持隔離

第二個原因很容易理解,就像第一個例子中的Tabel Spool那樣,需要把表數據放進Tabel Spool里,以方便進行數據匯總,

而不影響原表數據

第一個原因可以再舉一個例子

公用表表達式(CTE)

 1 USE [AdventureWorks]
 2 GO
 3 WITH managers AS(
 4 SELECT [EmployeeID],[ManagerID]
 5 from [HumanResources].[Employee]
 6 WHERE [ManagerID] IS NULL
 7 UNION ALL
 8 SELECT e.[EmployeeID],e.[ManagerID]
 9 from [managers] m
10 JOIN [HumanResources].[Employee] e
11 ON e.[ManagerID]=m.[EmployeeID]
12 )
13 
14 SELECT * FROM [managers]

索引假脫機運算符負責把數據一條一條地塞進去tempdb的非聚集索引里,并且是Lazy的,為什麼是Lazy的?

因為剛開始的時候只有一行記錄,后來慢慢一條一條數據地從最右邊的表假脫機里獲取數據

我們還是先分析一下整個執行計劃以方便理解,我們可以將整個執行計劃拆解為三部分

第一部分執行計劃的右上角

1 SELECT [EmployeeID],[ManagerID]
2 from [HumanResources].[Employee]
3 WHERE [ManagerID] IS NULL

這部分的執行計劃只查找到一條記錄

他把這條記錄放入索引假脫機里

第二部分 UNION ALL

將第一部分的結果和第三部分的結果合并在一起

第三部分執行計劃的右下角

1 SELECT e.[EmployeeID],e.[ManagerID]
2 from [managers] m
3 JOIN [HumanResources].[Employee] e
4 ON e.[ManagerID]=m.[EmployeeID]

最右邊的表假脫機運算符負責把表數據裝載入表假脫機里,這個裝載過程也是逐條數據裝載的

那么,執行計劃里的表假脫機和索引假脫機主要有什么用???

表假脫機主要用作公用表表達式里的遞歸調用

 1 WITH managers AS(
 2 SELECT [EmployeeID],[ManagerID]
 3 from [HumanResources].[Employee]
 4 WHERE [ManagerID] IS NULL
 5 UNION ALL
 6 SELECT e.[EmployeeID],e.[ManagerID]
 7 from [managers] m
 8 JOIN [HumanResources].[Employee] e
 9 ON e.[ManagerID]=m.[EmployeeID]
10 )

SELECT e.[EmployeeID],e.[ManagerID]
from [managers] m
JOIN [HumanResources].[Employee] e
ON e.[ManagerID]=m.[EmployeeID]

上面的代碼是每次遞歸的時候都需要調用到的,所以SQLSERVER干脆把表數據放到假脫機里的,不用每次都去查找記錄了

而索引假脫機是方便外部代碼調用公用表表達式的時候不用每次都去計算公用表表達式的結果,直接把公用表表達式的結果

放進去索引假脫機,當SELECT * FROM managers的時候,直接到索引假脫機里取數據就可以了

1 SELECT * FROM [managers]

斷定運算符在這里的作用是判斷是否超過系統循環次數造成死循環,如果我們加上OPTION (MAXRECURSION 0)

斷定運算符就會消失

 1 USE [AdventureWorks]
 2 GO
 3 WITH managers AS(
 4 SELECT [EmployeeID],[ManagerID]
 5 from [HumanResources].[Employee]
 6 WHERE [ManagerID] IS NULL
 7 UNION ALL
 8 SELECT e.[EmployeeID],e.[ManagerID]
 9 from [managers] m
10 JOIN [HumanResources].[Employee] e
11 ON e.[ManagerID]=m.[EmployeeID]
12 )
13 
14 SELECT * FROM [managers] OPTION (MAXRECURSION 0)


萬圣節問題

網上有兩篇文章介紹了這個問題

園子里的這篇文章介紹非常不深入,看了之后還是不明白

http://www.cnblogs.com/xwdreamer/archive/2012/05/28/2522404.html

simple-talk網站的文章就介紹得非常清晰

https://www.simple-talk.com/sql/learn-sql-server/operator-of-the-week---spools,-eager-spool/

在介紹之前先來做一個小實驗

下面SQL腳本建立一個非聚集索引表,并且非聚集索引的第一個字段是salary 并且按salary升序排序!!!

 1 USE [Spool]
 2 GO
 3 
 4 CREATE TABLE nct(id INT IDENTITY(1,1),NAME VARCHAR(30), salary INT);
 5 GO
 6 --建立非聚集索引  切記:非聚集索引的第一個字段是salary 并且按salary升序排序!!!
 7 CREATE  INDEX ix_nct ON nct(salary ASC,[ID],[NAME]) 
 8 GO
 9  
10 --插入數據
11 INSERT INTO [dbo].[nct] ( [NAME],[salary] )
12 SELECT '小明', 1 UNION ALL
13 SELECT '小華', 2 UNION ALL
14 SELECT '小芳', 3
15 GO
16 
17 SELECT * FROM [dbo].[nct]

View Code

我們看一下非聚集索引頁

 1 CREATE TABLE DBCCResult (
 2 PageFID NVARCHAR(200),
 3 PagePID NVARCHAR(200),
 4 IAMFID NVARCHAR(200),
 5 IAMPID NVARCHAR(200),
 6 ObjectID NVARCHAR(200),
 7 IndexID NVARCHAR(200),
 8 PartitionNumber NVARCHAR(200),
 9 PartitionID NVARCHAR(200),
10 iam_chain_type NVARCHAR(200),
11 PageType NVARCHAR(200),
12 IndexLevel NVARCHAR(200),
13 NextPageFID NVARCHAR(200),
14 NextPagePID NVARCHAR(200),
15 PrevPageFID NVARCHAR(200),
16 PrevPagePID NVARCHAR(200)
17 )
18 
19 --TRUNCATE TABLE [dbo].[DBCCResult]
20 
21 INSERT INTO DBCCResult EXEC ('DBCC IND(Spool,nct,-1) ')
22 
23 SELECT * FROM [dbo].[DBCCResult] ORDER BY [PageType] DESC 
24 
25 DBCC TRACEON(3604,-1)
26 GO
27 DBCC PAGE(Spool,1,47,3) 
28 GO

View Code

非聚集索引按照Salary字段升序排序

我們用SQL語句update一下小華的Salary

1 UPDATE nct SET Salary = 4
2 WHERE [NAME]='小華'

這里是按照非聚集索引的Range Scan讀取出結果的:SQLSERVER中的ALLOCATION SCAN和RANGE SCAN

再看一下非聚集索引頁面

我們看一下update前和update后非聚集索引頁面的變化

可以看到,update之后非聚集索引馬上根據非聚集索引鍵(Salary字段)重新進行升序排序

--------------------------------------------------------------------------------------------

使用下面SQL腳本建立測試環境

 1 USE [Spool]
 2 GO
 3 
 4 
 5 --建表
 6 CREATE TABLE Halloween
 7 (
 8   ID INT IDENTITY(1, 1)
 9          PRIMARY KEY ,
10   Name VARCHAR(30) ,
11   Salary NUMERIC(18, 2),
12   Remark NVARCHAR(3000)
13 )
14 GO
15  
16 --插入數據
17 INSERT INTO [dbo].[Halloween] ( [Name], [Salary], [Remark] )
18 SELECT '小明',1,replicate('a', 3000) UNION ALL
19 SELECT '小方',2,replicate('a', 3000) 
20 
21 
22 
23 
24 --建立非聚集索引
25 CREATE NONCLUSTERED INDEX ix_Halloween ON Halloween(Salary ASC)
26 GO
27 
28 --查詢
29 SELECT * FROM Halloween
30 GO

View Code

我們用下面SQL語句看一下聚集索引頁面和非聚集索引頁面

 1 CREATE TABLE DBCCResult (
 2 PageFID NVARCHAR(200),
 3 PagePID NVARCHAR(200),
 4 IAMFID NVARCHAR(200),
 5 IAMPID NVARCHAR(200),
 6 ObjectID NVARCHAR(200),
 7 IndexID NVARCHAR(200),
 8 PartitionNumber NVARCHAR(200),
 9 PartitionID NVARCHAR(200),
10 iam_chain_type NVARCHAR(200),
11 PageType NVARCHAR(200),
12 IndexLevel NVARCHAR(200),
13 NextPageFID NVARCHAR(200),
14 NextPagePID NVARCHAR(200),
15 PrevPageFID NVARCHAR(200),
16 PrevPagePID NVARCHAR(200)
17 )
18 
19 --TRUNCATE TABLE [dbo].[DBCCResult]
20 INSERT INTO DBCCResult EXEC ('DBCC IND(spool,Halloween,-1) ')
21 
22 SELECT * FROM [dbo].[DBCCResult] ORDER BY [PageType] DESC 
23 
24 
25 DBCC TRACEON(3604,-1)
26 GO
27 DBCC PAGE(spool,1,184,3) 
28 GO
29 DBCC PAGE(spool,1,93,3) 
30 GO

View Code

聚集索引頁面

非聚集索引頁面

我們update一下Salary等于1的那位員工的工資

1 UPDATE Halloween SET Salary = 2.5
2 FROM Halloween 
3 WHERE Salary =1

再看一下聚集索引頁面和非聚集索引頁面

聚集索引頁面

非聚集索引頁面

非聚集索引馬上按照非聚集索引鍵(Salary字段)進行重新排序

這里似乎沒有什么問題,我們drop掉Halloween表,并重新建立測試環境

 1 USE [Spool]
 2 GO
 3 
 4 
 5 
 6 --建表
 7 CREATE TABLE Halloween
 8 (
 9   ID INT IDENTITY(1, 1)
10          PRIMARY KEY ,
11   Name VARCHAR(30) ,
12   Salary NUMERIC(18, 2),
13   Remark NVARCHAR(3000)
14 )
15 GO
16  
17 --插入數據
18 INSERT INTO [dbo].[Halloween] ( [Name], [Salary], [Remark] )
19 SELECT '小明',1,replicate('a', 3000) UNION ALL
20 SELECT '小方',2,replicate('a', 3000) 
21 
22 
23 
24 
25 --建立非聚集索引
26 CREATE NONCLUSTERED INDEX ix_Halloween ON Halloween(Salary ASC)
27 GO
28 
29 --查詢
30 SELECT * FROM Halloween
31 GO
32 
33 
34 
35 
36 
37 CREATE TABLE DBCCResult (
38 PageFID NVARCHAR(200),
39 PagePID NVARCHAR(200),
40 IAMFID NVARCHAR(200),
41 IAMPID NVARCHAR(200),
42 ObjectID NVARCHAR(200),
43 IndexID NVARCHAR(200),
44 PartitionNumber NVARCHAR(200),
45 PartitionID NVARCHAR(200),
46 iam_chain_type NVARCHAR(200),
47 PageType NVARCHAR(200),
48 IndexLevel NVARCHAR(200),
49 NextPageFID NVARCHAR(200),
50 NextPagePID NVARCHAR(200),
51 PrevPageFID NVARCHAR(200),
52 PrevPagePID NVARCHAR(200)
53 )
54 
55 --TRUNCATE TABLE [dbo].[DBCCResult]
56 INSERT INTO DBCCResult EXEC ('DBCC IND(spool,Halloween,-1) ')
57 
58 SELECT * FROM [dbo].[DBCCResult] ORDER BY [PageType] DESC 
59 
60 
61 DBCC TRACEON(3604,-1)
62 GO
63 DBCC PAGE(spool,1,184,3) 
64 GO
65 DBCC PAGE(spool,1,93,3) 
66 GO

View Code

這次我們使用下面update語句,記住一定要加WITH(INDEX=ix_Halloween)

1 USE [Spool]
2 GO
3 UPDATE Halloween SET Salary = [Salary]*2.5
4 FROM Halloween WITH(INDEX=ix_Halloween)
5 WHERE Salary <7

如果我們加了WITH(INDEX=ix_Halloween),SQLSERVER就會走非聚集索引查找

如果我們不加WITH(INDEX=ix_Halloween),SQLSERVER就會走聚集索引掃描

這里不討論加不加WITH(INDEX=ix_Halloween)的問題

關鍵我們加WITH(INDEX=ix_Halloween)就是為了讓SQLSERVER走非聚集索引

update了之后正常的結果應該是這樣的

為什麼會這樣?

還記得剛才我們說到了非聚集索引更新了之后馬上進行排序嗎?

用下面的圖來表示應該會比較清楚

SQLSERVER使用Table Spool來解決萬圣節問題

先將非聚集索引的數據放進去Table Spool(臨時表)里,然后逐行逐行掃描臨時表,這樣就不會遇到非聚集索引更新后馬上進行排序的問題了

使用Table Spool后就能夠得到正確結果

為什麼不用Index Spool而用Table Spool?

之前我們說過Index Spool在tempdb數據庫里建立臨時的非聚集索引,把非聚集索引里的數據

放進去非聚集索引里,那不是會繼續遇到萬圣節問題???

下面這個SQL語句也是使用了Table Spool來避免萬圣節問題

1 USE [AdventureWorks]
2 GO
3 UPDATE  s
4 SET     [Name] = 'Z' + [Name]
5 FROM    Production.ProductSubcategory AS s WITH ( INDEX ( [AK_ProductSubcategory_Name] ) )
6 WHERE   [Name] >= 'N'

萬圣節問題

update數據的時候,如果update的是非聚集索引的第一個字段(即非聚集索引鍵)的時候并且走的是非聚集索引掃描/查找
都有可能引起萬圣節問題
SQLSERVER的解決方法是把非聚集索引里的數據全部移到Tabel Spool(Eager)里
防止由于更新非聚集索引的非聚集索引鍵而引起的非聚集索引重新排序,造成數據更新錯誤的問題

然后,其實Index Spool又好Table Spool又好,都是屬于臨時表的一種

類似案例
https://time.geekbang.org/column/article/80801
insert into t(c,d) (select c+1, d from t force index(c) order by c desc limit 1);
至于這個語句的執行為什么需要臨時表,原因是這類一邊遍歷數據,一邊更新數據的情況,如果讀出來的數據直接寫回原表,
就可能在遍歷過程中,讀到剛剛插入的記錄,新插入的記錄如果參與計算邏輯,就跟語義不符。

--建立非聚集索引
CREATE NONCLUSTERED INDEX ix_Halloween ON Halloween(Salary ASC)
GO
UPDATE Halloween SET Salary = [Salary]*2.5
FROM Halloween WITH(INDEX=ix_Halloween)
WHERE Salary <7

這類場景,其實都可以歸納為一邊遍歷數據,一邊更新數據的情況,通用解決方案都是使用臨時表,先暫存現有的表數據,然后對臨時表的數據進行計算,計算完之后再更新回去原表


總結

實際上這些假脫機運算符的本質跟臨時表和表變量是一樣的,都是以空間換時間,以達到性能上的平衡!

文章最后面附上MSDN里的SQLSERVER所有的執行計劃(邏輯運算符和物理運算符)

參考文章:

http://www.scarydba.com/2009/09/09/spools-in-execution-plans/

https://www.simple-talk.com/sql/learn-sql-server/operator-of-the-week---spools,-eager-spool/

http://sqlblog.com/blogs/rob_farley/archive/2013/06/11/spooling-in-sql-execution-plans.aspx

如有不對的地方,歡迎大家拍磚o(∩_∩)o



Showplan 邏輯運算符和物理運算符參考

操作說明


本節介紹了各個邏輯運算符和物理運算符。

圖形執行計劃圖標

Showplan 運算符

說明

Aggregate

Aggregate運算符計算包含 MIN、MAX、SUM、COUNT 或 AVG 的表達式。Aggregate既是一個邏輯運算符,也是一個物理運算符。

Arithmetic Expression

Arithmetic Expression運算符根據行中的現有值計算新值。SQL Server 2012 中不使用Arithmetic Expression,

Assert

Assert運算符用于驗證條件。例如,驗證引用完整性或確保標量子查詢返回一行。對于每個輸入行,Assert運算符都要計算執行計劃的Argument列中的表達式。如果此表達式的值為 NULL,則通過Assert運算符傳遞該行,并且查詢執行將繼續。如果此表達式的值非 Null,則將產生相應的錯誤。Assert運算符是一個物理運算符。

Assign

Assign運算符將表達式的值或常量分配給變量。Assign是一個語言元素。

Asnyc Concat

Asnyc Concat運算符僅用于遠程查詢(分布式查詢)。它有n個子節點和一個父節點。通常,某些子節點是參與分布式查詢的遠程計算機。Asnyc Concat同時向所有子節點發出open()調用,然后將位圖應用于每個子節點。對于為 1 的每個位,Async Concat按需向父節點發送輸出行。

Bitmap

SQL Server 使用Bitmap運算符來實現并行查詢計劃中的位圖篩選。在將行傳遞給另一個運算符(如Parallelism運算符)之前,通過消除無法生成任何聯接記錄的鍵值的行,位圖篩選可提高查詢的執行速度。位圖篩選器使用運算符樹某部分的表中一組值的簡潔表示形式來篩選位于該樹另一部分的第二張表中的行。通過在查詢中預先刪除不必要的行,后續運算符將處理較少的行,從而提高查詢的整體性能。優化器將確定位圖的選擇性何時可滿足使用條件以及在哪些運算符上應用篩選器。Bitmap是一個物理運算符。

Bitmap Create

Bitmap Create運算符出現在創建位圖的顯示計劃輸出中。Bitmap Create是一個邏輯運算符。

Bookmark Lookup

Bookmark Lookup運算符使用書簽(行 ID 或聚集鍵)在表或聚集索引內查找相應的行。Argument列包含書簽標簽,用于在表或聚集索引內查找行。Argument列還包含要查找的行所在的表或聚集索引的名稱。如果Argument列中出現 WITH PREFETCH 子句,則表示查詢處理器已決定在表或聚集索引內查找書簽時將使用異步預提取(預讀)作為最佳選擇。

SQL Server 2012 中不使用Bookmark Lookup,而由Clustered Index Seek和RID Lookup提供書簽查找功能。Key Lookup運算符也提供此功能。

Branch Repartition

在并行查詢計劃中,有時存在迭代器的概念性區域。此類區域中的所有迭代器都可通過并行線程執行。這些區域本身必須串行執行。單個區域內的某些Parallelism迭代器稱為Branch Repartition。兩個這樣的區域邊界上的Parallelism迭代器稱為Segment Repartition。Branch Repartition和Segment Repartition是邏輯運算符。

Broadcast

Broadcast有一個子節點和n個父節點。Broadcast根據使用者的請求將其輸入行發送給多個使用者。每個使用者都將獲得所有行。例如,如果所有使用者都是哈希聯接的生成端,則將生成n份哈希表。

Build Hash

指示為 xVelocity 內存優化的列存儲索引生成批處理哈希表。

Cache

Cache是一個專門的Spool運算符。它僅存儲一行數據。Cache是一個邏輯運算符。SQL Server 2012 中不使用Cache

Clustered Index Delete

Clustered Index Delete運算符可刪除查詢執行計劃的 Argument 列指定的群集索引中的行。如果 Argument 列中存在 WHERE:() 謂詞,則僅刪除滿足該謂詞要求的行。Clustered Index Delete是一個物理運算符。

Clustered Index Insert

Clustered Index InsertShowplan 運算符可將其輸入中的行插入在 Argument 列指定的聚集索引中。Argument 列還包含一個 SET:() 謂詞,用于指示為每一列設置的值。如果Clustered Index Insert的插入值沒有子項,則插入的行來自Insert運算符本身。Clustered Index Insert是一個物理運算符。

Clustered Index Merge

Clustered Index Merge運算符可將合并數據流應用于聚集索引。該運算符可在其Argument列中所指定的聚集索引中刪除、更新或插入行。執行的實際操作取決于該運算符的Argument列中指定的ACTION列的運行時值。Clustered Index Merge是一個物理運算符。

Clustered Index Scan

Clustered Index Scan運算符會掃描查詢執行計劃的 Argument 列中指定的聚集索引。存在可選 WHERE:() 謂詞時,則只返回滿足該謂詞的那些行。如果 Argument 列包含 ORDERED 子句,則查詢處理器已請求按聚集索引排列行的順序返回行輸出。如果沒有 ORDERED 子句,存儲引擎將以最佳方式掃描索引,而無需對輸出進行排序。Clustered Index Scan既是一個邏輯運算符,也是一個物理運算符。

Clustered Index Seek

Clustered Index Seek運算符可以利用索引的查找功能從聚集索引中檢索行。Argument列包含所使用的聚集索引名稱和 SEEK:() 謂詞。存儲引擎僅使用索引來處理滿足此 SEEK:() 謂詞的行。它還包括 WHERE:() 謂詞,其中存儲引擎對滿足 SEEK:() 謂詞的所有行進行計算,但此操作是可選的,并且不使用索引來完成此過程。

如果Argument列包含 ORDERED 子句,則表示查詢處理器已決定必須按聚集索引排序行的順序返回行。如果沒有 ORDERED 子句,存儲引擎將以最佳方式搜索索引,而不對輸出進行必要的排序。若允許輸出保持順序,則效率可能比生成非排序輸出的效率低。出現關鍵字 LOOKUP 時,將執行書簽查找。在 SQL Server 2008 和更高版本中,Key Lookup運算符提供書簽查找功能。Clustered Index Seek既是一個邏輯運算符,也是一個物理運算符。

Clustered Index Update

Clustered Index Update運算符更新Argument列指定的聚集索引中的輸入行。如果存在 WHERE:() 謂詞,則只更新那些滿足此謂詞要求的行。如果存在 SET:() 謂詞,則將每個更新的列設置為該值。如果存在 DEFINE:() 謂詞,則列出此運算符定義的值。可以在 SET 子句中、該運算符內的其他位置和該查詢內的其他位置引用這些值。Clustered Index Update既是一個邏輯運算符,也是一個物理運算符。

Collapse

Collapse運算符用于優化更新處理。執行更新時,可以將該更新操作拆分(使用Split運算符)成為刪除和插入操作。Argument列包含一個指定鍵列列表的 GROUP BY:() 子句。如果查詢處理器遇到刪除和插入相同鍵值的相鄰行,則會用一個更有效的更新操作替換這些單獨的操作。Collapse既是一個邏輯運算符,也是一個物理運算符。

Columnstore Index Scan

Columnstore Index Scan運算符會掃描查詢執行計劃的Argument列中指定的列存儲索引。

Compute Scalar

Compute Scalar運算符通過對表達式求值來生成計算標量值。該值可以返回給用戶、在查詢中的其他位置引用或二者皆可。例如,在篩選謂詞或聯接謂詞中就會出現二者皆可的情況。Compute Scalar既是一個邏輯運算符,也是一個物理運算符。

在 SET STATISTICS XML 生成的顯示計劃中出現的Compute Scalar運算符可能不包含RunTimeInformation元素。在圖形顯示計劃中,當已在 SQL Server Management Studio 中選中“包括實際的執行計劃”選項時,“實際行”、“實際重新綁定次數”和“實際重繞次數”可能不會出現在“屬性”窗口中。當出現這種情況時,意味著雖然編譯過的查詢計劃中使用了這些運算符,但在運行時查詢計劃中,它們的作用是由其他運算符實現的。另外,請注意,SET STATISTICS PROFILE 生成的顯示計劃輸出中的執行數等于 SET STATISTICS XML 生成的顯示計劃中的重新綁定次數和重繞次數的總和。

Concatenation

Concatenation運算符掃描多個輸入,并返回每個掃描的行。Concatenation通常用于實現 Transact-SQL UNION ALL 結構。Concatenation物理運算符有兩個或多個輸入,有一個輸出。Concatenation 將行從第一個輸入流復制到輸出流,然后對其他輸入流重復進行此操作。Concatenation既是一個邏輯運算符,也是一個物理運算符。

Constant Scan

Constant Scan運算符可將一個或多個常量行引入到查詢中。Compute Scalar運算符通常在Constant Scan之后使用,以將列添加到Constant Scan運算符生成的行中。

Convert

Convert運算符將標量數據類型轉換為另一種類型。Convert是一個語言元素。

Cross Join

Cross Join運算符將第一個(頂端)輸入中的每一行與第二個(底端)輸入中的每一行聯接在一起。Cross Join是一個邏輯運算符。

catchall

生成圖形顯示計劃的邏輯找不到迭代器的合適圖標時,將顯示通用圖標。通用圖標不一定指示存在錯誤。有三種通用圖標:藍色(用于迭代器)、橙色(用于游標)和綠色(用于 Transact-SQL 語言元素)。

Cursor

Cursor邏輯運算符和物理運算符用于描述涉及游標操作的查詢或更新的執行方式。其中物理運算符描述用于處理游標(如使用鍵集驅動游標)的物理實現算法。游標執行過程的每一步都涉及物理運算符。而邏輯運算符描述游標的屬性,如游標是只讀。

邏輯運算符包括 Asynchronous、Optimistic、Primary、Read Only、Scroll Locks、Secondary 和 Synchronous。

物理運算符包括 Dynamic、Fetch Query、Keyset、Population Query、Refresh Query 和 Snapshot。

Declare

Declare運算符用于分配查詢計劃中的局部變量。Declare是一個語言元素。

Delete

Delete運算符將從對象中刪除滿足Argument列內的可選謂詞的行。

Deleted Scan

Deleted Scan運算符在觸發器中掃描刪除的表。

Distinct

Distinct運算符可以從行集或值集中刪除重復項。Distinct是一個邏輯運算符。

Distinct Sort

Distinct Sort邏輯運算符將對輸入進行掃描,刪除重復項并按Argument列的 DISTINCT ORDER BY:() 謂詞中指定的列進行排序。Distinct Sort是一個邏輯運算符。

Distribute Streams

Distribute Streams運算符僅用于并行查詢計劃。Distribute Streams運算符接收記錄的單個輸入流,并生成多個輸出流。記錄的內容和格式不會改變。輸入流中的每個記錄都將在某個輸出流中顯示。此運算符在輸出流中自動保留輸入記錄的相對順序。通常情況下,使用哈希操作確定特定輸入記錄所屬的輸出流。

如果將輸出分區,那么Argument列會包含 PARTITION COLUMNS:() 謂詞和分區列。Distribute Streams是一個邏輯運算符。

Dynamic

Dynamic運算符使用可以查看其他游標所做的任何更改的游標。

Eager Spool

Eager Spool運算符獲取整個輸入,并將每行存儲在tempdb數據庫中存儲的隱藏臨時對象中。如果重繞該運算符(例如通過Nested Loops運算符重繞),但不需要任何重新綁定,則將使用假脫機數據,而不用重新掃描輸入。如果需要重新綁定,將丟棄假脫機數據,并通過重新掃描(重新綁定的)輸入重新生成假脫機對象。Eager Spool運算符按“急切”方式生成自己的假脫機文件:當假脫機的父運算符請求第一行時,假脫機運算符將獲取所有來自其輸入運算符的行并將其存儲在假脫機中。Eager Spool是一個邏輯運算符。

Fetch Query

當對游標發出提取命令時,Fetch Query運算符將檢索行。

Filter

Filter運算符掃描輸入,僅返回那些符合Argument列中的篩選表達式(謂詞)的行。

Flow Distinct

Flow Distinct邏輯運算符用于通過掃描輸入來刪除重復項。雖然Distinct運算符在生成任何輸入前使用所有的輸入,但FlowDistinct運算符在從輸入獲得行時返回每行(除非該行是一個重復項,若是這樣則刪除該行)。

Full Outer Join

Full Outer Join邏輯運算符從第一個(頂端)輸入中與第二個(底端)輸入相聯接的行中返回每個滿足聯接謂詞的行。它還可以從下列輸入返回行:

在第二個輸入中沒有匹配項的第一個輸入。

在第一個輸入中沒有匹配項的第二個輸入。

不包含匹配值的輸入將作為空值返回。Full Outer Join是一個邏輯運算符。

Gather Streams

Gather Streams運算符僅用在并行查詢計劃中。Gather Streams運算符處理幾個輸入流并通過組合這幾個輸入流生成單個記錄輸出流。不更改記錄的內容和格式。如果此運算符保留順序,則所有的輸入流都必須有序。如果輸出已排序,則Argument列包含一個 ORDER BY:() 謂詞和正在排序的列名稱。Gather Streams是一個邏輯運算符。

Hash Match

Hash Match運算符通過計算其生成輸入中每行的哈希值生成哈希表。HASH:() 謂詞以及一個用于創建哈希值的列的列表出現在Argument列內。然后,該謂詞為每個探測行(如果適用)計算哈希值(使用相同的哈希函數)并在哈希表內查找匹配項。如果存在殘留謂詞(由Argument列中的 RESIDUAL:() 標識),則還須滿足此殘留謂詞,只有這樣行才能被視為是匹配項。行為取決于所執行的邏輯操作:

對于聯接,使用第一個(頂端)輸入生成哈希表,使用第二個(底端)輸入探測哈希表。按聯接類型規定的模式輸出匹配項(或不匹配項)。如果多個聯接使用相同的聯接列,這些操作將分組為一個哈希組。

對于非重復或聚合運算符,使用輸入生成哈希表(刪除重復項并計算聚合表達式)。生成哈希表時,掃描該表并輸出所有項。

對于 union 運算符,使用第一個輸入生成哈希表(刪除重復項)。使用第二個輸入(它必須沒有重復項)探測哈希表,返回所有沒有匹配項的行,然后掃描該哈希表并返回所有項。

Hash Match是一個物理運算符。

If

If運算符執行基于表達式的有條件處理。If是一個語言元素。

Inner Join

Inner Join邏輯運算符返回滿足第一個(頂端)輸入與第二個(底端)輸入所組成的聯接的每一行。

Insert

Insert邏輯運算符將每行從其輸入插入Argument列內指定的對象中。相應的物理運算符為Table Insert、Index Insert或Clustered Index Insert運算符。

Inserted Scan

Inserted Scan運算符掃描插入的表。Inserted Scan既是一個邏輯運算符,也是一個物理運算符。

Intrinsic

Intrinsic運算符調用內部 Transact-SQL 函數。Intrinsic是一個語言元素。

Iterator

生成圖形顯示計劃的邏輯找不到Iterator的合適圖標時,將顯示通用圖標。通用圖標不一定指示存在錯誤。有三種通用圖標:藍色(用于迭代器)、橙色(用于游標)和綠色(用于 Transact-SQL 語言構造)。

Key Lookup

Key Lookup運算符是在具有聚集索引的表上進行的書簽查找。Argument列包含聚集索引的名稱和用來在聚集索引中查找行的聚集鍵。Key Lookup通常帶有Nested Loops運算符。如果Argument列中出現 WITH PREFETCH 子句,則表示查詢處理器已決定在聚集索引內查找書簽時將使用異步預提取(預讀)作為最佳選擇。

在查詢計劃中使用Key Lookup運算符表明該查詢可能會從性能優化中獲益。例如,添加涵蓋索引可能會提高查詢性能。

Keyset

Keyset運算符使用的游標可用于查看其他用戶所做的更新,而不能查看其他用戶所做的插入。

Language Element

生成圖形顯示計劃的邏輯找不到Language Element的合適圖標時,將顯示通用圖標。通用圖標不一定指示存在錯誤。有三種通用圖標:藍色(用于迭代器)、橙色(用于游標)和綠色(用于 Transact-SQL 語言構造)。

Lazy Spool

Lazy Spool邏輯運算符將其輸入中的每一行存儲到tempdb數據庫內存儲的隱藏臨時對象中。如果重繞該運算符(例如通過Nested Loops運算符重繞),但不需要任何重新綁定,則將使用假脫機數據,而不用重新掃描輸入。如果需要重新綁定,則將放棄假脫機數據,并通過重新掃描(重新綁定的)輸入重新生成假脫機對象。Lazy Spool運算符以“遲緩”方式生成其假脫機文件,即每當假脫機父運算符請求一行時,假脫機運算符便從其輸入運算符獲取一行,然后將該行存儲在假脫機中,而不是一次處理所有行。Lazy Spool 是一個邏輯運算符。

Left Anti Semi Join

當第二個(底端)輸入中沒有匹配行時,Left Anti Semi Join運算符返回第一個(頂端)輸入中的每一行。如果Argument列內不存在任何聯接謂詞,則每行都是一個匹配行。Left Anti Semi Join是一個邏輯運算符。

Left Outer Join

Left Outer Join運算符返回滿足第一個(頂端)輸入與第二個(底端)輸入聯接的每一行。它還返回任何在第二個輸入中沒有匹配行的第一個輸入中的行。第二個輸入中的非匹配行作為空值返回。如果Argument列內不存在任何聯接謂詞,則每行都是一個匹配行。Left Outer Join是一個邏輯運算符。

Left Semi Join

當第二個(底端)輸入中有匹配行時,Left Semi Join運算符返回第一個(頂端)輸入中的每行。如果Argument列內不存在任何聯接謂詞,則每行都是一個匹配行。Left Semi Join是一個邏輯運算符。

Log Row Scan

Log Row Scan運算符用于掃描事務日志。Log Row Scan既是一個邏輯運算符,也是一個物理運算符。

Merge Interval

Merge Interval運算符可合并多個(可能重疊的)間隔以得出最小的不重疊間隔,然后將其用于查找索引項。此運算符通常出現在Constant Scan運算符中的一個或多個Compute Scalar運算符上方,后者運算符構造了此運算符所合并的間隔(表示為一行中的多個列)。Merge Interval既是一個邏輯運算符,也是一個物理運算符。

Merge Join

Merge Join運算符執行內部聯接、左外部聯接、左半部聯接、左反半部聯接、右外部聯接、右半部聯接、右反半部聯接和聯合邏輯運算。

Argument列中,如果操作執行一對多聯接,則Merge Join運算符將包含 MERGE:() 謂詞;如果操作執行多對多聯接,則該運算符將包含 MANY-TO-MANY MERGE:() 謂詞。Argument列還包含一個用于執行操作的列的列表,該列表以逗號分隔。Merge Join運算符要求在各自的列上對兩個輸入進行排序,這可以通過在查詢計劃中插入顯式排序操作來實現。如果不需要顯式排序(例如,如果數據庫內有合適的 B 樹索引或可以對多個操作(如合并聯接和對匯總分組)使用排序順序),則合并聯接尤其有效。Merge Join是一個物理運算符。

Nested Loops

Nested Loops運算符執行內部聯接、左外部聯接、左半部聯接和左反半部聯接邏輯運算。Nested Loops 聯接通常使用索引在內部表中搜索外部表的每一行。根據預計的開銷,查詢處理器決定是否對外部輸入進行排序來改變內部輸入索引的搜索位置。將基于所執行的邏輯操作返回所有滿足Argument列內的(可選)謂詞的行。Nested Loops是一個物理運算符。

Nonclustered Index Delete

Nonclustered Index Delete運算符通過Argument列中指定的非聚集索引刪除輸入行。Nonclustered Index Delete是一個物理運算符。

Index Insert

Index Insert運算符用于將行從其輸入插入到Argument列中指定的非聚集索引中。Argument列還包含一個 SET:() 謂詞,用于指示為每一列設置的值。Index Insert是一個物理運算符。

Index Scan

Index Scan運算符從Argument列中指定的非聚集索引中檢索所有行。如果可選的 WHERE:() 謂詞出現在Argument列中,則僅返回滿足此謂詞的那些行。Index Scan既是一個邏輯運算符,也是一個物理運算符。

Index Seek

Index Seek運算符利用索引的查找功能從非聚集索引中檢索行。Argument列包含所使用的非聚集索引的名稱。它還包括 SEEK:() 謂詞。存儲引擎僅使用索引來處理滿足 SEEK:() 謂詞的行。它可能還包含一個 WHERE:() 謂詞,其中存儲引擎對滿足 SEEK:() 謂詞的所有行進行計算(不使用索引來完成)。如果Argument列包含 ORDERED 子句,則表示查詢處理器已決定必須按非聚集索引排序行的順序返回行。如果沒有 ORDERED 子句,則存儲引擎將以最佳方式(不保證對輸出排序)搜索索引。如果讓輸出保持其順序,則效率可能低于生成非排序輸出。Index Seek既是一個邏輯運算符,也是一個物理運算符。

Index Spool

Index Spool物理運算符在Argument列中包含 SEEK:() 謂詞。Index Spool運算符掃描其輸入行,將每行的副本放置在隱藏的假脫機文件(存儲在tempdb數據庫中且只在查詢的生存期內存在)中,并為這些行創建非聚集索引。這樣可以使用索引的查找功能來僅輸出那些滿足 SEEK:() 謂詞的行。如果重繞該運算符(例如通過Nested Loops運算符重繞),但不需要任何重新綁定,則將使用假脫機數據,而不用重新掃描輸入。

Nonclustered Index Update

Nonclustered Index Update物理運算符用于更新Argument列內指定的非聚集索引中的輸入行。如果存在 SET:() 謂詞,則將每個更新的列設置為該值。Nonclustered Index Update是一個物理運算符。

Online Index Insert

Online Index Insert物理運算符指示索引創建、更改或刪除操作是在線執行的。也就是說,基礎表數據在索引操作期間仍然對用戶可用。

Parallelism

Parallelism運算符執行分發流、收集流和對流重新分區邏輯操作。Argument列可以包含一個 PARTITION COLUMNS:() 謂詞和一個以逗號分隔的分區列的列表。Argument列還可以包含一個 ORDER BY:() 謂詞,以列出分區過程中要保留排序順序的列。Parallelism是物理運算符。

注意

如果查詢被編譯成并行查詢,但在運行時作為串行查詢運行,則由 SET STATISTICS XML 或通過使用 SQL Server Management Studio 中的“包括實際的執行計劃”選項生成的顯示計劃輸出將不包含Parallelism運算符的RunTimeInformation元素。在 SET STATISTICS PROFILE 輸出中,為Parallelism運算符顯示的實際行計數和實際執行數將為零。出現任何一種情況時,都說明Parallelism運算符只在編譯查詢時使用,未在運行時查詢計劃中使用。請注意,如果服務器上的并發負荷很高,則并行查詢計劃有時會以串行方式運行。

Parameter Table Scan

Parameter Table Scan運算符掃描在當前查詢中用作參數的表。該運算符一般用于存儲過程內的 INSERT 查詢。Parameter Table Scan既是一個邏輯運算符,也是一個物理運算符。

Partial Aggregate

Partial Aggregate用于并行計劃中。它將聚合功能應用到盡可能多的輸入行中,以便不必執行向磁盤寫入數據的操作(稱為“溢出”)。Hash Match是實現分區聚合的唯一一個物理運算符(迭代器)。Partial Aggregate是一個邏輯運算符。

Population Query

Population Query運算符在打開游標時填充游標的工作表。

Refresh Query

Refresh Query運算符為提取緩沖區中的行提取當前數據。

Remote Delete

Remote Delete運算符用于從遠程對象中刪除輸入行。Remote Delete既是一個邏輯運算符,也是一個物理運算符。

Remote Index Scan

Remote Index Scan運算符可以掃描在 Argument 列中指定的遠程索引。Remote Index Scan既是一個邏輯運算符,也是一個物理運算符。

Remote Index Seek

Remote Index Seek運算符利用遠程索引對象的查找功能來檢索行。Argument列包含所使用的遠程索引名稱和 SEEK:() 謂詞。Remote Index Seek是一個邏輯物理運算符。

Remote Insert

Remote Insert運算符將輸入行插入到遠程對象。Remote Insert既是一個邏輯運算符,也是一個物理運算符。

Remote Query

Remote Query運算符將查詢提交給遠程源。發送給遠程服務器的查詢文本顯示在Argument列中。Remote Query既是一個邏輯運算符,也是一個物理運算符。

Remote Scan

Remote Scan運算符掃描遠程對象。遠程對象的名稱顯示在Argument列中。Remote Scan既是一個邏輯運算符,也是一個物理運算符。

Remote Update

Remote Update運算符將更新遠程對象中的輸入行。Remote Update既是一個邏輯運算符,也是一個物理運算符。

Repartition Streams

Repartition Streams運算符使用多個流并生成多個記錄流。記錄的內容和格式不會改變。如果查詢優化器使用位圖篩選器,則輸出流中行的數量將減少。輸入流中的每個記錄都放入一個輸出流中。如果該運算符保留次序,則必須對所有輸入流排序并將它們合并到幾個有序的輸出流中。如果將輸出分區,那么Argument列會包含 PARTITION COLUMNS:() 謂詞和分區列。如果輸出已經排序,則Argument列包含一個 ORDER BY:() 謂詞和已經排序的列。Repartition Streams是一個邏輯運算符。該運算符只用于并行查詢計劃中。

Result

Result運算符是查詢計劃結束時返回的數據。它通常是顯示計劃的根元素。Result是一個語言元素。

RID Lookup

RID Lookup是使用提供的行標識符 (RID) 在堆上進行的書簽查找。Argument列包含用于查找表中的行的書簽標簽和從中查找行的表的名稱。RID Lookup通常帶有 NESTED LOOP JOIN。RID Lookup是一個物理運算符。有關書簽查找的詳細信息,請參閱 MSDN SQL Server 博客中的Bookmark Lookup(書簽查找)。

Right Anti Semi Join

Right Anti Semi Join運算符輸出第二個(底端)輸入中與第一個(頂端)輸入中的任何行都不匹配的每一行。匹配行的定義是滿足Argument列內的謂詞的行(如果不存在謂詞,則每行都是一個匹配行)。Right Anti Semi Join是一個邏輯運算符。

Right Outer Join

Right Outer Join運算符返回滿足第二個(底端)輸入與第一個(頂端)輸入的每個匹配行的聯接的每行。此外,它還返回第二個輸入中在第一個輸入中沒有匹配行的任何行,即與 NULL 聯接。如果Argument列內不存在任何聯接謂詞,則每行都是一個匹配行。Right Outer Join是一個邏輯運算符。

Right Semi Join

第一個(頂端)輸入有匹配行時,Right Semi Join運算符返回第二個(底端)輸入中的每一行。如果Argument列內不存在任何聯接謂詞,則每行都是一個匹配行。Right Semi Join是一個邏輯運算符。

Row Count Spool

Row Count Spool運算符掃描輸入,計算現有的行數并返回相同數目的不包含任何數據的行。必須檢查現有行數(而非行中包含的數據)時,使用此運算符。例如,如果Nested Loops運算符執行左半聯接操作且聯接謂詞應用于內部輸入,則可以在Nested Loops運算符內部輸入的頂部放置行計數假脫機。這樣,Nested Loops運算符就可以確定行計數假脫機輸出的行數(因為不需要內側的實際數據)以決定是否返回外部行。Row Count Spool是一個物理運算符。

Segment

Segment既是一個物理運算符,也是一個邏輯運算符。它基于一個或多個列的值將輸入集劃分成多個段。這些列顯示為Segment運算符中的參數。然后此運算符每次輸出一個段。

Segment Repartition

在并行查詢計劃中,有時存在迭代器的概念性區域。此類區域中的所有迭代器都可通過并行線程執行。這些區域本身必須串行執行。單個區域內的某些Parallelism迭代器稱為Branch Repartition。兩個這樣的區域邊界上的Parallelism迭代器稱為Segment RepartitionBranch RepartitionSegment Repartition是邏輯運算符。

Sequence

Sequence運算符驅動大范圍的更新計劃。就其功能而言,該運算符按順序(從上到下)執行每個輸入。每個輸入通常是不同對象的更新。該運算符只返回其上一個(底端)輸入中的行。Sequence既是一個邏輯運算符,也是一個物理運算符。

Sequence Project

Sequence Project運算符將添加列以便計算有序集。它基于一個或多個列的值將輸入集劃分成多個段。然后此運算符每次輸出一個段。這些列在Sequence Project運算符中作為參數顯示。Sequence Project既是一個邏輯運算符,也是一個物理運算符。

Snapshot

Snapshot運算符創建一個看不到其他人所做更改的游標。

Sort

Sort運算符可對所有傳入的行進行排序。Argument列包含 DISTINCT ORDER BY:() 謂詞(如果此操作刪除了重復項),或 ORDER BY:() 謂詞(如果對逗號分隔的列列表進行排序)。如果按升序對列排序,則使用值 ASC 作為列的前綴;如果按降序對列排序,則使用值 DESC 作為列的前綴。Sort既是一個邏輯運算符,也是一個物理運算符。

Split

Split運算符用于優化更新處理。它將每個更新操作拆分成刪除和插入操作。Split既是一個邏輯運算符,也是一個物理運算符。

Spool

Spool運算符將中間查詢結果保存到tempdb數據庫中。

Stream Aggregate

Stream Aggregate運算符按一列或多列對行分組,然后計算由查詢返回的一個或多個聚合表達式。此運算符的輸出可供查詢中的后續運算符引用和/或返回到客戶端。Stream Aggregate運算符要求輸入在組中按列進行排序。如果由于前面的Sort運算符或已排序的索引查找或掃描導致數據尚未排序,則優化器將在此運算符前面使用一個Sort運算符。在 SHOWPLAN_ALL 語句或 SQL Server Management Studio 的圖形執行計劃中,GROUP BY 謂詞中的列會列在Argument列中,而聚合表達式列在Defined Values列中。Stream Aggregate是一個物理運算符。

Switch

Switch是一種特殊類型的串聯迭代器,它具有n個輸入。有一個表達式與每個Switch運算符關聯。根據表達式的返回值(在 0 到n-1 之間),Switch將適當的輸入流復制到輸出流。Switch的一種用途是與某些運算符(如TOP運算符)一起實現涉及快進游標的查詢計劃。Switch既是一個邏輯運算符,也是一個物理運算符。

Table Delete

Table Delete物理運算符刪除查詢執行計劃的Argument列中所指定表中的行。

Table Insert

Table Insert運算符將輸入的行插入到在查詢執行計劃的Argument列指定的表中。Argument列還包含一個 SET:() 謂詞,用于指示為每一列設置的值。如果Table Insert的插入值沒有子項,插入的行則來自 Insert 運算符本身。Table Insert是一個物理運算符。

Table Merge

Table Merge運算符可將合并數據流應用到堆。該運算符可在其Argument列中所指定的表中刪除、更新或插入行。執行的實際操作取決于該運算符的Argument列中指定的ACTION列的運行時值。Table Merge是一個物理運算符。

Table Scan

Table Scan運算符從查詢執行計劃的Argument列所指定的表中檢索所有行。如果 WHERE:() 謂詞出現在Argument列中,則僅返回滿足此謂詞的那些行。Table Scan既是一個邏輯運算符,也是一個物理運算符。

Table Spool

Table Spool運算符掃描輸入,并將各行的一個副本放入隱藏的假脫機表中,此表存儲在tempdb數據庫中并且僅在查詢的生存期內存在。如果重繞該運算符(例如通過Nested Loops運算符重繞),但不需要任何重新綁定,則將使用假脫機數據,而不用重新掃描輸入。Table Spool是一個物理運算符。

Table Update

Table Update物理運算符更新查詢執行計劃的Argument列中所指定表中的輸入行。SET:() 謂詞確定每個更新列的值。可以在 SET 子句中、此運算符內的其他位置以及此查詢內的其他位置引用這些值。

Table-valued Function

Table-valued Function運算符計算表值函數(Transact-SQL 或 CLR)并將結果行存儲在tempdb數據庫中。當父迭代器請求這些行時,Table-valued Function將返回tempdb中的行。

調用表值函數的查詢生成具有Table-valued Function迭代器的查詢計劃。可以使用不同的參數值計算Table-valued Function

Table-valued Function XML Reader輸入 XML BLOB 作為參數,并生成一個按 XML 文檔順序表示 XML 節點的行集。其他輸入參數可能會將返回的 XML 節點限于 XML 文檔的子集。

Table Valued Function XML Reader with XPath filter是一種特殊的XML Reader Table-valued Function,它將輸出限于滿足 XPath 表達式的 XML 節點。

Table-valued Function既是一個邏輯運算符,也是一個物理運算符。

Top

Top運算符掃描輸入,但僅基于排序順序返回最前面的指定行數或行百分比。Argument列可以包含要檢查重復值的列的列表。在更新計劃中,Top運算符用于強制實施行計數限制。Top既是一個邏輯運算符,也是一個物理運算符。Top既是一個邏輯運算符,也是一個物理運算符。

Top N Sort

Top N SortSort迭代器類似,差別僅在于前者需要前N行,而不是整個結果集。如果N的值較小,SQL Server 查詢執行引擎將嘗試在內存中執行整個排序操作。如果N的值較大,查詢執行引擎將使用更通用的排序方法(該方法不采用N作為參數)重新排序。

UDX

擴展運算符 (UDX) 可以實現 SQL Server 中的一種 XQuery 或 XPath 操作。所有 UDX 運算符既是邏輯運算符,又是物理運算符。

擴展運算符 (UDX)FOR XML用于將其輸入的關系行集序列化為 XML 表示形式,并以單個輸出行、單個 BLOB 列的形式存儲。它是區分順序的 XML 聚合運算符。

擴展運算符 (UDX)XML SERIALIZER是區分順序的一種 XML 聚合運算符。它以 XML 文檔順序輸入表示 XML 節點或 XQuery 標量的行,并在單個輸出行、單個 XML 列中生成序列化的 XML BLOB。

擴展運算符 (UDX)XML FRAGMENT SERIALIZER是一種特殊類型的XML SERIALIZER,用于處理表示在 XQuery 插入數據修改擴展中插入的 XML 片斷的輸入行。

擴展運算符 (UDX)XQUERY STRING計算表示 XML 節點的輸入行的 XQuery 字符串值。它是一個區分順序的字符串聚合運算符。它輸出一行多列,表示包含輸入字符串值的 XQuery 標量。

擴展運算符 (UDX)XQUERY LIST DECOMPOSER是一個 XQuery 列表分解運算符。對于表示 XML 節點的每個輸入行,它至少生成表示 XQuery 標量的一個行,如果輸入的是 XSD 列表類型的行,則每個行都包含一個列表元素值。

擴展運算符 (UDX)XQUERY DATA在表示 XML 節點的輸入行上計算 XQuery fn:data() 函數的值。它是一個區分順序的字符串聚合運算符。它輸出一行多列,表示包含fn:data()結果的 XQuery 標量。

擴展運算符XQUERY CONTAINS在表示 XML 節點的輸入行上計算 XQuery fn:contains() 函數的值。它是一個區分順序的字符串聚合運算符。它輸出一行多列,表示包含fn:contains()結果的 XQuery 標量。

擴展運算符UPDATE XML NODE更新 XML 類型的modify()方法中 XQuery 替換數據修改擴展的 XML 節點。

Union

Union運算符掃描多個輸入,輸出掃描的每一行并刪除重復項。Union是一個邏輯運算符。

Update

Update運算符更新在查詢執行計劃的Argument列中所指定對象中的每一輸入行。Update是一個邏輯運算符。物理運算符為Table Update、Index Update或Clustered Index Update。

While

While運算符實現 Transact-SQL while 循環。While是一個語言元素。

Window Spool

Window Spool運算符將每個行擴展為表示與行關聯的窗口的行集。在查詢中,OVER 子句定義查詢結果集內的窗口和窗口函數,然后計算窗口中的每個行的值。Window Spool既是一個邏輯運算符,也是一個物理運算符。

https://msdn.microsoft.com/zh-cn/library/ms187840%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396

Merge Interval 運算符可合并多個(可能重疊的)間隔以得出最小的不重疊間隔,然后將其用于查找索引項。此運算符通常出現在 Constant Scan 運算符中的一個或多個 Compute Scalar 運算符上方,Constant Scan 運算符構造了此運算符所合并的間隔(表示為一行中的多個列)。

Merge Interval 既是一個邏輯運算符,也是一個物理運算符。

圖形執行計劃圖標

Sequence Project

Sequence Project運算符將添加列以便計算有序集。它基于一個或多個列的值將輸入集劃分成多個段。然后此運算符每次輸出一個段。這些列在Sequence Project運算符中作為參數顯示。Sequence Project既是一個邏輯運算符,也是一個物理運算符。

關系運算

投影 projection,投影運算也是單目運算,關系R上的投影是從R中選擇出若干屬性列,組成新的關系,即對關系在垂直方向進行的運算,從左到右按照指定的若干屬性以及順序取出相應列,刪除重復元組

投影運算是從列的角度進行的運算,這正是選取運算和投影運算的區別所在,選取運算是從關系的水平方向向上進行運算,而投影運算則是從關系的垂直方向上進行的

數據庫原理及應用教程 第3版 陳志泊主編

本文版權歸作者所有,未經作者同意不得轉載。

總結

以上是生活随笔為你收集整理的SQLSERVER中的假脱机spool的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产精品美女久久久网av | 亚洲精品久久久久久一区二区 | 任你躁国产自任一区二区三区 | 国产精品va在线播放 | 国产精品-区区久久久狼 | 国内精品久久久久久中文字幕 | 装睡被陌生人摸出水好爽 | 亚洲а∨天堂久久精品2021 | 少妇邻居内射在线 | 欧美老人巨大xxxx做受 | 久久精品国产99久久6动漫 | 日本精品久久久久中文字幕 | 久久精品视频在线看15 | 秋霞成人午夜鲁丝一区二区三区 | 国产精品无套呻吟在线 | 纯爱无遮挡h肉动漫在线播放 | 欧美成人高清在线播放 | 成人女人看片免费视频放人 | 亚洲熟妇色xxxxx欧美老妇 | 特级做a爰片毛片免费69 | 自拍偷自拍亚洲精品被多人伦好爽 | 国产精品毛多多水多 | 18禁止看的免费污网站 | 天天摸天天碰天天添 | 一本大道久久东京热无码av | 国内老熟妇对白xxxxhd | 欧洲精品码一区二区三区免费看 | 久久久久免费看成人影片 | 在线观看欧美一区二区三区 | 精品亚洲韩国一区二区三区 | 婷婷五月综合缴情在线视频 | 国产香蕉尹人视频在线 | 欧美肥老太牲交大战 | 精品水蜜桃久久久久久久 | 久久久中文字幕日本无吗 | 久久99久久99精品中文字幕 | 亚洲熟妇色xxxxx欧美老妇 | 国产成人无码a区在线观看视频app | 国产内射老熟女aaaa | 日本一区二区三区免费高清 | 99久久无码一区人妻 | а√资源新版在线天堂 | 青草青草久热国产精品 | 97夜夜澡人人爽人人喊中国片 | 嫩b人妻精品一区二区三区 | 丝袜美腿亚洲一区二区 | 国产精品爱久久久久久久 | 日本精品少妇一区二区三区 | 亚洲成a人片在线观看日本 | 少妇久久久久久人妻无码 | 六十路熟妇乱子伦 | 欧美人与禽猛交狂配 | 无码午夜成人1000部免费视频 | 国产成人一区二区三区别 | 亚洲国产精品成人久久蜜臀 | av无码不卡在线观看免费 | 无码人妻精品一区二区三区不卡 | 秋霞特色aa大片 | 国产精品久久精品三级 | 人人妻人人澡人人爽人人精品 | 九月婷婷人人澡人人添人人爽 | 成人性做爰aaa片免费看 | 亚洲欧洲中文日韩av乱码 | 亚洲七七久久桃花影院 | 欧美国产日韩久久mv | 老熟女重囗味hdxx69 | 四虎国产精品免费久久 | 曰本女人与公拘交酡免费视频 | 蜜桃av抽搐高潮一区二区 | 久久精品99久久香蕉国产色戒 | 国产成人无码a区在线观看视频app | 久在线观看福利视频 | 国产成人无码av一区二区 | 无码一区二区三区在线 | 无码人妻丰满熟妇区毛片18 | 青青久在线视频免费观看 | 7777奇米四色成人眼影 | 国产精品无码一区二区桃花视频 | 久久99精品国产.久久久久 | 午夜精品久久久久久久 | 国产手机在线αⅴ片无码观看 | 国产内射老熟女aaaa | 欧美怡红院免费全部视频 | 装睡被陌生人摸出水好爽 | 午夜理论片yy44880影院 | 国产亚洲日韩欧美另类第八页 | 日韩av无码中文无码电影 | 无码国产乱人伦偷精品视频 | 影音先锋中文字幕无码 | 18禁止看的免费污网站 | 国产情侣作爱视频免费观看 | 人人爽人人爽人人片av亚洲 | 国产精品自产拍在线观看 | 国内少妇偷人精品视频免费 | 伊人久久大香线蕉av一区二区 | 久久精品一区二区三区四区 | 国产乱人偷精品人妻a片 | 老司机亚洲精品影院 | 欧美黑人巨大xxxxx | 少妇人妻av毛片在线看 | 中文字幕中文有码在线 | 狠狠亚洲超碰狼人久久 | 国产成人精品视频ⅴa片软件竹菊 | 日本又色又爽又黄的a片18禁 | 日韩欧美中文字幕在线三区 | 色婷婷综合激情综在线播放 | 国产麻豆精品精东影业av网站 | 麻豆国产人妻欲求不满 | 激情内射日本一区二区三区 | 女人色极品影院 | 无码人妻av免费一区二区三区 | 国产成人无码午夜视频在线观看 | 亚洲精品一区二区三区婷婷月 | 亚洲日韩乱码中文无码蜜桃臀网站 | aa片在线观看视频在线播放 | 日本大乳高潮视频在线观看 | 欧美 丝袜 自拍 制服 另类 | 国产午夜手机精彩视频 | 日本在线高清不卡免费播放 | 久久99精品久久久久婷婷 | 国产av一区二区精品久久凹凸 | 国精产品一区二区三区 | 大地资源中文第3页 | 国产欧美亚洲精品a | 人人妻人人藻人人爽欧美一区 | 自拍偷自拍亚洲精品被多人伦好爽 | 青春草在线视频免费观看 | 丰满妇女强制高潮18xxxx | 亚洲人成人无码网www国产 | 日本一本二本三区免费 | 国产精品自产拍在线观看 | 人人妻人人澡人人爽欧美一区九九 | 99久久精品午夜一区二区 | 亚洲一区二区观看播放 | 国产农村乱对白刺激视频 | 欧美熟妇另类久久久久久不卡 | 欧美 日韩 亚洲 在线 | 国产精品无码成人午夜电影 | 午夜不卡av免费 一本久久a久久精品vr综合 | 欧美精品国产综合久久 | 成年美女黄网站色大免费全看 | 激情内射日本一区二区三区 | 欧美大屁股xxxxhd黑色 | 夫妻免费无码v看片 | 亚洲狠狠色丁香婷婷综合 | 亚洲日韩乱码中文无码蜜桃臀网站 | 女人色极品影院 | 中文字幕色婷婷在线视频 | 漂亮人妻洗澡被公强 日日躁 | 国产色xx群视频射精 | 免费人成在线视频无码 | 国产成人综合在线女婷五月99播放 | 婷婷丁香六月激情综合啪 | 久久久久se色偷偷亚洲精品av | 丰满人妻翻云覆雨呻吟视频 | 老司机亚洲精品影院 | 极品尤物被啪到呻吟喷水 | 沈阳熟女露脸对白视频 | 亚洲午夜福利在线观看 | 国产电影无码午夜在线播放 | 免费人成在线视频无码 | 在线精品国产一区二区三区 | 亚洲日韩一区二区 | 日韩欧美中文字幕在线三区 | 亚洲精品国产精品乱码不卡 | 国产午夜手机精彩视频 | 99久久精品无码一区二区毛片 | 国产av一区二区精品久久凹凸 | 久久久久av无码免费网 | 亚洲国产日韩a在线播放 | 国内精品一区二区三区不卡 | 亚洲国产日韩a在线播放 | 成人欧美一区二区三区黑人 | 曰韩少妇内射免费播放 | 男女作爱免费网站 | 精品国产精品久久一区免费式 | 久久精品国产大片免费观看 | 一本久久a久久精品vr综合 | 国产欧美亚洲精品a | 国产人妻精品午夜福利免费 | 免费无码一区二区三区蜜桃大 | 亚洲日韩av片在线观看 | 18禁止看的免费污网站 | 小泽玛莉亚一区二区视频在线 | 久久久无码中文字幕久... | 好男人www社区 | 亚洲中文字幕久久无码 | 国产麻豆精品精东影业av网站 | 亚洲精品美女久久久久久久 | 亚洲国产精品无码一区二区三区 | √天堂资源地址中文在线 | 天天拍夜夜添久久精品 | 国产麻豆精品精东影业av网站 | 久久午夜无码鲁丝片秋霞 | 大色综合色综合网站 | 无码国产色欲xxxxx视频 | 无遮挡国产高潮视频免费观看 | 亚洲精品国产第一综合99久久 | 香港三级日本三级妇三级 | 少妇无码av无码专区在线观看 | 岛国片人妻三上悠亚 | 亚洲日韩一区二区三区 | 亚洲精品一区二区三区在线观看 | 九九综合va免费看 | 午夜性刺激在线视频免费 | 人人妻人人澡人人爽人人精品 | 久久久久久久人妻无码中文字幕爆 | 激情内射日本一区二区三区 | 欧美性生交xxxxx久久久 | 狂野欧美性猛交免费视频 | 蜜桃臀无码内射一区二区三区 | 大屁股大乳丰满人妻 | av香港经典三级级 在线 | 国产成人综合在线女婷五月99播放 | 红桃av一区二区三区在线无码av | 国产精品多人p群无码 | 久热国产vs视频在线观看 | 欧美性猛交内射兽交老熟妇 | 中文字幕精品av一区二区五区 | 亚洲精品久久久久中文第一幕 | 性色欲情网站iwww九文堂 | 精品国产av色一区二区深夜久久 | 久久精品99久久香蕉国产色戒 | 又色又爽又黄的美女裸体网站 | 成熟人妻av无码专区 | 在线a亚洲视频播放在线观看 | 乌克兰少妇xxxx做受 | 成人免费视频在线观看 | 男人扒开女人内裤强吻桶进去 | 内射爽无广熟女亚洲 | 夜先锋av资源网站 | 99久久婷婷国产综合精品青草免费 | 精品无码国产自产拍在线观看蜜 | 男人和女人高潮免费网站 | 色婷婷综合中文久久一本 | 国产特级毛片aaaaaaa高清 | 久久综合九色综合欧美狠狠 | 国产片av国语在线观看 | 99er热精品视频 | 精品无码一区二区三区的天堂 | 国产亚洲视频中文字幕97精品 | av无码电影一区二区三区 | 国产成人精品无码播放 | 久久久精品国产sm最大网站 | 99久久精品无码一区二区毛片 | 亚洲国精产品一二二线 | 久久99国产综合精品 | 国产黄在线观看免费观看不卡 | 精品无码国产自产拍在线观看蜜 | 亚洲а∨天堂久久精品2021 | 夜夜躁日日躁狠狠久久av | 久久亚洲中文字幕无码 | 亚洲中文字幕乱码av波多ji | 最新国产麻豆aⅴ精品无码 | 欧美变态另类xxxx | 小泽玛莉亚一区二区视频在线 | 久久人人爽人人人人片 | 国产一区二区三区影院 | 天堂一区人妻无码 | 精品一区二区三区波多野结衣 | 激情内射亚州一区二区三区爱妻 | 熟妇女人妻丰满少妇中文字幕 | 台湾无码一区二区 | 国产 浪潮av性色四虎 | 青青青爽视频在线观看 | 国产av一区二区精品久久凹凸 | 中国女人内谢69xxxxxa片 | 一区二区三区乱码在线 | 欧洲 | 亚洲中文字幕久久无码 | 国产婷婷色一区二区三区在线 | 日日鲁鲁鲁夜夜爽爽狠狠 | 在线成人www免费观看视频 | 久久精品中文闷骚内射 | aa片在线观看视频在线播放 | 嫩b人妻精品一区二区三区 | 亚洲精品一区二区三区婷婷月 | 国产亲子乱弄免费视频 | 粉嫩少妇内射浓精videos | 波多野结衣av在线观看 | 色综合天天综合狠狠爱 | 亚洲の无码国产の无码影院 | 中文字幕无码av激情不卡 | 无码午夜成人1000部免费视频 | 亚洲爆乳大丰满无码专区 | 精品无人国产偷自产在线 | 伊人久久婷婷五月综合97色 | 国产精品-区区久久久狼 | 欧美日本精品一区二区三区 | 中文字幕人妻无码一夲道 | 青草青草久热国产精品 | 色一情一乱一伦一区二区三欧美 | 日本一区二区三区免费高清 | 国产精品无套呻吟在线 | 黑人大群体交免费视频 | 亚洲乱码国产乱码精品精 | 色欲人妻aaaaaaa无码 | 亚洲色成人中文字幕网站 | 国产国语老龄妇女a片 | 久久久久久国产精品无码下载 | 精品国精品国产自在久国产87 | 一本加勒比波多野结衣 | 少女韩国电视剧在线观看完整 | 99久久精品午夜一区二区 | 国产亚洲欧美在线专区 | 亚洲日本va午夜在线电影 | 亚洲中文字幕av在天堂 | 天天综合网天天综合色 | 精品人人妻人人澡人人爽人人 | 精品无码一区二区三区的天堂 | 久久亚洲精品成人无码 | 沈阳熟女露脸对白视频 | 国产99久久精品一区二区 | 俄罗斯老熟妇色xxxx | 清纯唯美经典一区二区 | 亚洲成av人在线观看网址 | 久久天天躁夜夜躁狠狠 | 日本高清一区免费中文视频 | 国产明星裸体无码xxxx视频 | 少妇性l交大片欧洲热妇乱xxx | 俄罗斯老熟妇色xxxx | 男女爱爱好爽视频免费看 | 国产一区二区三区四区五区加勒比 | 牲欲强的熟妇农村老妇女视频 | 国产午夜无码精品免费看 | 熟女体下毛毛黑森林 | 亚洲一区二区观看播放 | 人人澡人人妻人人爽人人蜜桃 | 四虎国产精品免费久久 | 日产国产精品亚洲系列 | 在线a亚洲视频播放在线观看 | 久久精品无码一区二区三区 | 人人妻人人澡人人爽人人精品 | 日日鲁鲁鲁夜夜爽爽狠狠 | 久久99精品久久久久婷婷 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲欧洲无卡二区视頻 | 3d动漫精品啪啪一区二区中 | 欧美成人午夜精品久久久 | 未满成年国产在线观看 | 欧美精品无码一区二区三区 | 一本无码人妻在中文字幕免费 | 久9re热视频这里只有精品 | 亚洲 高清 成人 动漫 | 又大又紧又粉嫩18p少妇 | 亚洲日韩av片在线观看 | 丰满妇女强制高潮18xxxx | 成人欧美一区二区三区 | 欧美熟妇另类久久久久久多毛 | 久久久精品成人免费观看 | 在线a亚洲视频播放在线观看 | 欧美成人午夜精品久久久 | 亚洲人成影院在线无码按摩店 | 亚洲va中文字幕无码久久不卡 | 久久久亚洲欧洲日产国码αv | yw尤物av无码国产在线观看 | 荫蒂添的好舒服视频囗交 | 国产农村乱对白刺激视频 | 人妻互换免费中文字幕 | 免费无码午夜福利片69 | 丰满人妻一区二区三区免费视频 | 亚洲а∨天堂久久精品2021 | 国产精品久久久久久亚洲影视内衣 | 97久久精品无码一区二区 | 日本在线高清不卡免费播放 | 老熟妇乱子伦牲交视频 | 日日碰狠狠丁香久燥 | 亚洲国产高清在线观看视频 | 免费无码一区二区三区蜜桃大 | 精品人妻人人做人人爽夜夜爽 | 青青青手机频在线观看 | 久热国产vs视频在线观看 | 成人无码影片精品久久久 | 最新国产麻豆aⅴ精品无码 | 又紧又大又爽精品一区二区 | 偷窥日本少妇撒尿chinese | 国产成人一区二区三区在线观看 | 国产卡一卡二卡三 | 99久久精品午夜一区二区 | 又大又紧又粉嫩18p少妇 | 亚洲中文字幕无码中字 | 人妻无码αv中文字幕久久琪琪布 | 国产免费久久精品国产传媒 | 内射白嫩少妇超碰 | 色五月丁香五月综合五月 | 欧美真人作爱免费视频 | 国产精华av午夜在线观看 | 亚洲aⅴ无码成人网站国产app | 一个人看的www免费视频在线观看 | 精品久久久久久人妻无码中文字幕 | 精品无码国产自产拍在线观看蜜 | 亚洲国产欧美国产综合一区 | 婷婷五月综合缴情在线视频 | 亚洲色无码一区二区三区 | 任你躁在线精品免费 | 99麻豆久久久国产精品免费 | 天堂а√在线中文在线 | 日产国产精品亚洲系列 | 日本熟妇人妻xxxxx人hd | 欧美日韩一区二区免费视频 | 国产欧美亚洲精品a | 成熟女人特级毛片www免费 | 亚洲中文字幕在线无码一区二区 | 久久伊人色av天堂九九小黄鸭 | 97久久超碰中文字幕 | 乱中年女人伦av三区 | 永久免费精品精品永久-夜色 | 国产av无码专区亚洲awww | 伊在人天堂亚洲香蕉精品区 | 国产成人无码午夜视频在线观看 | 动漫av一区二区在线观看 | 在线看片无码永久免费视频 | 一二三四社区在线中文视频 | 久久综合给久久狠狠97色 | 亚洲日本va午夜在线电影 | 性史性农村dvd毛片 | 国产精品人人爽人人做我的可爱 | 国产午夜福利亚洲第一 | 色诱久久久久综合网ywww | 一本久久a久久精品亚洲 | 亚洲一区二区三区播放 | 国产成人精品久久亚洲高清不卡 | 亚洲一区二区三区无码久久 | 4hu四虎永久在线观看 | 99久久精品国产一区二区蜜芽 | 玩弄中年熟妇正在播放 | 免费无码一区二区三区蜜桃大 | 九月婷婷人人澡人人添人人爽 | 欧美变态另类xxxx | 四虎影视成人永久免费观看视频 | 激情国产av做激情国产爱 | 一本色道久久综合狠狠躁 | 亚欧洲精品在线视频免费观看 | 中文字幕av无码一区二区三区电影 | 亚洲爆乳精品无码一区二区三区 | 欧美国产日韩久久mv | 国产乱人偷精品人妻a片 | 国精产品一品二品国精品69xx | 内射欧美老妇wbb | 欧美阿v高清资源不卡在线播放 | 欧美黑人性暴力猛交喷水 | 特黄特色大片免费播放器图片 | 久久精品一区二区三区四区 | 77777熟女视频在线观看 а天堂中文在线官网 | 久久久精品成人免费观看 | 精品亚洲韩国一区二区三区 | 精品欧美一区二区三区久久久 | 麻豆人妻少妇精品无码专区 | 无码国产色欲xxxxx视频 | 国产精品-区区久久久狼 | 999久久久国产精品消防器材 | 日日摸天天摸爽爽狠狠97 | 中国大陆精品视频xxxx | 国产精品久久国产精品99 | av人摸人人人澡人人超碰下载 | 无遮挡啪啪摇乳动态图 | 精品欧洲av无码一区二区三区 | 丰满少妇人妻久久久久久 | 麻豆精品国产精华精华液好用吗 | 小鲜肉自慰网站xnxx | 日日夜夜撸啊撸 | 丰满少妇高潮惨叫视频 | 亚洲中文字幕久久无码 | 中文字幕人妻丝袜二区 | 亚洲欧美色中文字幕在线 | 乌克兰少妇性做爰 | 搡女人真爽免费视频大全 | 亚洲国产av精品一区二区蜜芽 | 中文字幕乱妇无码av在线 | 麻豆蜜桃av蜜臀av色欲av | a片在线免费观看 | 亚洲欧美国产精品专区久久 | 亚洲午夜无码久久 | 国产av人人夜夜澡人人爽麻豆 | 夜先锋av资源网站 | 久久久亚洲欧洲日产国码αv | 无码人妻丰满熟妇区五十路百度 | 亚洲天堂2017无码中文 | 妺妺窝人体色www在线小说 | 国内精品人妻无码久久久影院蜜桃 | 美女毛片一区二区三区四区 | 亚洲精品久久久久avwww潮水 | 精品无码一区二区三区爱欲 | 自拍偷自拍亚洲精品10p | 国产 浪潮av性色四虎 | 99久久亚洲精品无码毛片 | 亚洲日本va午夜在线电影 | 98国产精品综合一区二区三区 | 天天做天天爱天天爽综合网 | 国产人妻久久精品二区三区老狼 | 六十路熟妇乱子伦 | 天海翼激烈高潮到腰振不止 | 国产精品免费大片 | 99久久久国产精品无码免费 | 国产乱人伦av在线无码 | 午夜精品一区二区三区的区别 | 亚洲国产av精品一区二区蜜芽 | 亚洲国产精品美女久久久久 | 久久午夜无码鲁丝片秋霞 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 76少妇精品导航 | 无码乱肉视频免费大全合集 | 久久久久亚洲精品中文字幕 | 最近中文2019字幕第二页 | 国产一区二区三区四区五区加勒比 | 国产亚洲精品久久久闺蜜 | 色综合视频一区二区三区 | 性色欲网站人妻丰满中文久久不卡 | 久久99精品久久久久婷婷 | 国产无遮挡吃胸膜奶免费看 | 高中生自慰www网站 | 人妻插b视频一区二区三区 | 精品人妻人人做人人爽 | 亚洲精品国产a久久久久久 | 日本在线高清不卡免费播放 | 99视频精品全部免费免费观看 | 国产成人无码午夜视频在线观看 | 久久人人爽人人人人片 | 波多野结衣av一区二区全免费观看 | 人人妻人人澡人人爽人人精品浪潮 | 久久久久99精品国产片 | 永久免费观看国产裸体美女 | 中文字幕无码免费久久9一区9 | 少妇性俱乐部纵欲狂欢电影 | 国产黑色丝袜在线播放 | 一区二区三区高清视频一 | 在线看片无码永久免费视频 | 午夜熟女插插xx免费视频 | 国产av无码专区亚洲awww | 久久久久久av无码免费看大片 | 99在线 | 亚洲 | 色一情一乱一伦一区二区三欧美 | 亚洲小说图区综合在线 | 自拍偷自拍亚洲精品10p | 亚洲精品欧美二区三区中文字幕 | 在线视频网站www色 | 好男人www社区 | 国产一区二区三区四区五区加勒比 | 激情爆乳一区二区三区 | 国产精品18久久久久久麻辣 | 在线а√天堂中文官网 | 欧洲精品码一区二区三区免费看 | 99久久婷婷国产综合精品青草免费 | 精品国产av色一区二区深夜久久 | 成人精品视频一区二区三区尤物 | 久久亚洲中文字幕无码 | 真人与拘做受免费视频 | 精品一区二区三区无码免费视频 | 久久精品人人做人人综合试看 | 欧美精品国产综合久久 | 日本大乳高潮视频在线观看 | 波多野42部无码喷潮在线 | 无套内谢老熟女 | 色五月丁香五月综合五月 | 久久久久久国产精品无码下载 | 亚洲aⅴ无码成人网站国产app | 乱码av麻豆丝袜熟女系列 | 俺去俺来也www色官网 | 亚洲中文字幕成人无码 | 亚洲日韩av一区二区三区四区 | 一本大道伊人av久久综合 | 久久久久亚洲精品中文字幕 | 国产精品高潮呻吟av久久4虎 | 99久久亚洲精品无码毛片 | 图片区 小说区 区 亚洲五月 | 久久精品国产亚洲精品 | 俺去俺来也在线www色官网 | 国产成人久久精品流白浆 | 久久久国产一区二区三区 | 精品国产青草久久久久福利 | 亚洲色在线无码国产精品不卡 | 国产免费无码一区二区视频 | 久久久久se色偷偷亚洲精品av | 国产激情综合五月久久 | 夜夜夜高潮夜夜爽夜夜爰爰 | 九九久久精品国产免费看小说 | 天堂久久天堂av色综合 | 久热国产vs视频在线观看 | 88国产精品欧美一区二区三区 | 久久99国产综合精品 | 国产成人无码午夜视频在线观看 | 成人精品一区二区三区中文字幕 | 中文亚洲成a人片在线观看 | 亚洲精品欧美二区三区中文字幕 | 欧美zoozzooz性欧美 | 乱人伦人妻中文字幕无码久久网 | 俺去俺来也在线www色官网 | 精品亚洲韩国一区二区三区 | 中文字幕无码热在线视频 | 黑森林福利视频导航 | 欧美 日韩 人妻 高清 中文 | 男女猛烈xx00免费视频试看 | 欧美人与禽zoz0性伦交 | 国产成人无码专区 | 精品国偷自产在线 | 大地资源中文第3页 | 亚洲伊人久久精品影院 | 性开放的女人aaa片 | 亚洲国产精品久久人人爱 | 亚洲第一网站男人都懂 | 日本爽爽爽爽爽爽在线观看免 | 人妻夜夜爽天天爽三区 | 久在线观看福利视频 | 国产精品怡红院永久免费 | 少妇人妻大乳在线视频 | 人妻少妇精品视频专区 | 国产精品自产拍在线观看 | 久久久久久九九精品久 | 成人免费无码大片a毛片 | 宝宝好涨水快流出来免费视频 | 精品厕所偷拍各类美女tp嘘嘘 | 97无码免费人妻超级碰碰夜夜 | 亚洲另类伦春色综合小说 | 窝窝午夜理论片影院 | 免费播放一区二区三区 | 四十如虎的丰满熟妇啪啪 | 2020久久超碰国产精品最新 | 天天做天天爱天天爽综合网 | 国产亚洲精品精品国产亚洲综合 | 大乳丰满人妻中文字幕日本 | 精品国产青草久久久久福利 | 高清国产亚洲精品自在久久 | 亚洲成色在线综合网站 | 熟女少妇人妻中文字幕 | 欧美成人免费全部网站 | 东北女人啪啪对白 | 亚洲中文无码av永久不收费 | 国产精品人人妻人人爽 | 男人和女人高潮免费网站 | 中文字幕无码免费久久99 | 伦伦影院午夜理论片 | 欧美丰满老熟妇xxxxx性 | 亚洲中文字幕va福利 | 久久精品国产一区二区三区肥胖 | 亚洲男女内射在线播放 | 日本一卡二卡不卡视频查询 | 美女黄网站人色视频免费国产 | 国产精品第一国产精品 | 国产成人精品无码播放 | 国产精品久久国产三级国 | 久久久久99精品国产片 | 白嫩日本少妇做爰 | 久久久www成人免费毛片 | av无码电影一区二区三区 | 久久99热只有频精品8 | 久久精品国产99精品亚洲 | 成人精品天堂一区二区三区 | 欧美老熟妇乱xxxxx | 黑人大群体交免费视频 | 人人爽人人澡人人高潮 | 欧美35页视频在线观看 | 国产绳艺sm调教室论坛 | 亚洲日韩一区二区三区 | 国产精品第一国产精品 | 日韩精品无码免费一区二区三区 | 成人欧美一区二区三区黑人 | 亚洲国产成人av在线观看 | 精品水蜜桃久久久久久久 | 一本加勒比波多野结衣 | 久久成人a毛片免费观看网站 | 国产精品久久久一区二区三区 | 欧美阿v高清资源不卡在线播放 | 精品国偷自产在线视频 | 无码毛片视频一区二区本码 | 久久国产精品二国产精品 | 亚洲精品综合一区二区三区在线 | 国产精品久久国产精品99 | 国产欧美熟妇另类久久久 | 内射白嫩少妇超碰 | 日本xxxx色视频在线观看免费 | 国产亚洲tv在线观看 | 久精品国产欧美亚洲色aⅴ大片 | 国内揄拍国内精品人妻 | 一本色道久久综合亚洲精品不卡 | 亚洲综合另类小说色区 | 特黄特色大片免费播放器图片 | 久久精品国产99精品亚洲 | 免费无码肉片在线观看 | 亚洲成av人片天堂网无码】 | 99久久精品无码一区二区毛片 | 牲欲强的熟妇农村老妇女 | 亚洲一区二区三区在线观看网站 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 国产精品久久国产三级国 | 好爽又高潮了毛片免费下载 | 国精品人妻无码一区二区三区蜜柚 | 久久精品国产亚洲精品 | 精品成人av一区二区三区 | 久久精品无码一区二区三区 | 欧洲美熟女乱又伦 | 久久久久成人精品免费播放动漫 | 久久综合香蕉国产蜜臀av | 2020最新国产自产精品 | 国产av剧情md精品麻豆 | 理论片87福利理论电影 | 成熟妇人a片免费看网站 | 日韩亚洲欧美精品综合 | 久久人人爽人人爽人人片av高清 | 亚洲国产av美女网站 | 免费中文字幕日韩欧美 | 国产精品人妻一区二区三区四 | 国产又爽又黄又刺激的视频 | 久久国产36精品色熟妇 | 天干天干啦夜天干天2017 | 露脸叫床粗话东北少妇 | 亚洲无人区一区二区三区 | 国产欧美精品一区二区三区 | 精品厕所偷拍各类美女tp嘘嘘 | 亚洲人成人无码网www国产 | 正在播放东北夫妻内射 | 熟女少妇在线视频播放 | 久久国语露脸国产精品电影 | 人人妻人人澡人人爽人人精品浪潮 | 无码人妻丰满熟妇区五十路百度 | 亚洲人成网站免费播放 | 亚洲大尺度无码无码专区 | 国产无遮挡又黄又爽免费视频 | 国产电影无码午夜在线播放 | 久久久久久久女国产乱让韩 | 久久亚洲a片com人成 | 国内揄拍国内精品少妇国语 | 麻豆国产人妻欲求不满 | 精品久久久久久人妻无码中文字幕 | 国产精品久久久一区二区三区 | 亚洲精品国产精品乱码视色 | 男人的天堂av网站 | 久久久久免费精品国产 | 国产亚洲精品久久久闺蜜 | 日本丰满熟妇videos | 性开放的女人aaa片 | 亚无码乱人伦一区二区 | 麻豆精品国产精华精华液好用吗 | 久久天天躁夜夜躁狠狠 | 国产黄在线观看免费观看不卡 | 欧美激情一区二区三区成人 | 免费国产黄网站在线观看 | 日本一区二区更新不卡 | 小泽玛莉亚一区二区视频在线 | 色综合天天综合狠狠爱 | 清纯唯美经典一区二区 | 亚洲无人区午夜福利码高清完整版 | 综合人妻久久一区二区精品 | 久久99久久99精品中文字幕 | 国产香蕉尹人综合在线观看 | 亚洲日本一区二区三区在线 | 国产综合在线观看 | 九九久久精品国产免费看小说 | 成人亚洲精品久久久久软件 | 日韩av无码一区二区三区不卡 | 亚洲人交乣女bbw | 丰满人妻被黑人猛烈进入 | 亚洲中文字幕无码一久久区 | 亚洲精品久久久久avwww潮水 | 天天做天天爱天天爽综合网 | 亚洲欧美综合区丁香五月小说 | 九一九色国产 | 香港三级日本三级妇三级 | 日日摸天天摸爽爽狠狠97 | 国产成人无码av在线影院 | 午夜熟女插插xx免费视频 | 国产内射老熟女aaaa | 国产成人精品一区二区在线小狼 | 乌克兰少妇xxxx做受 | 正在播放老肥熟妇露脸 | 天天av天天av天天透 | 中文无码伦av中文字幕 | 午夜时刻免费入口 | 人妻尝试又大又粗久久 | 欧美日韩色另类综合 | 色偷偷人人澡人人爽人人模 | 欧美日本免费一区二区三区 | 国产精品理论片在线观看 | 久久久久免费看成人影片 | 日本免费一区二区三区最新 | 国产精品无码永久免费888 | 亚洲男人av天堂午夜在 | 亚洲中文字幕av在天堂 | 国产精品多人p群无码 | 欧美三级不卡在线观看 | 国产特级毛片aaaaaaa高清 | 亚洲经典千人经典日产 | 久久午夜夜伦鲁鲁片无码免费 | 无码成人精品区在线观看 | 中文字幕乱码人妻无码久久 | 日本护士毛茸茸高潮 | 国产精品欧美成人 | 色婷婷综合中文久久一本 | 狠狠综合久久久久综合网 | 国产极品美女高潮无套在线观看 | 好男人www社区 | 日韩在线不卡免费视频一区 | 成人无码视频在线观看网站 | 亚洲精品国产第一综合99久久 | 麻豆国产人妻欲求不满谁演的 | 亚洲第一网站男人都懂 | 老子影院午夜伦不卡 | 性欧美大战久久久久久久 | 久久午夜无码鲁丝片午夜精品 | 伊人久久婷婷五月综合97色 | 精品日本一区二区三区在线观看 | 又紧又大又爽精品一区二区 | 亚洲人亚洲人成电影网站色 | 国产一区二区三区四区五区加勒比 | 熟女俱乐部五十路六十路av | 久久99精品久久久久久 | 青青草原综合久久大伊人精品 | 久久综合狠狠综合久久综合88 | 国产激情艳情在线看视频 | 欧美日韩综合一区二区三区 | 欧美日韩在线亚洲综合国产人 | 中文无码精品a∨在线观看不卡 | 女人高潮内射99精品 | 中文字幕日韩精品一区二区三区 | 国产精品美女久久久网av | 欧美国产日产一区二区 | 精品午夜福利在线观看 | 国产成人精品三级麻豆 | 丝袜足控一区二区三区 | 国产超级va在线观看视频 | 亚洲の无码国产の无码影院 | 亚洲s色大片在线观看 | 国产无遮挡又黄又爽免费视频 | 亚洲 高清 成人 动漫 | 久久人人爽人人爽人人片ⅴ | 台湾无码一区二区 | 兔费看少妇性l交大片免费 | av在线亚洲欧洲日产一区二区 | 爆乳一区二区三区无码 | 欧美性猛交内射兽交老熟妇 | 亚洲色大成网站www国产 | 国产日产欧产精品精品app | 亚洲乱亚洲乱妇50p | 亚洲精品国产第一综合99久久 | 一本久久伊人热热精品中文字幕 | 国产成人精品久久亚洲高清不卡 | 国产精品爱久久久久久久 | 特级做a爰片毛片免费69 | 99riav国产精品视频 | 天堂亚洲2017在线观看 | 牲欲强的熟妇农村老妇女视频 | 性色欲情网站iwww九文堂 | 狠狠综合久久久久综合网 | 久久精品丝袜高跟鞋 | 人人妻人人澡人人爽人人精品 | 国产深夜福利视频在线 | 奇米影视888欧美在线观看 | 人人妻人人澡人人爽欧美一区 | 久久久中文久久久无码 | 亚洲国产精品一区二区第一页 | 国产va免费精品观看 | 窝窝午夜理论片影院 | 人人妻人人澡人人爽欧美一区 | 亚洲精品一区国产 | 日产国产精品亚洲系列 | 国产精品亚洲专区无码不卡 | av人摸人人人澡人人超碰下载 | 欧美人与禽zoz0性伦交 | 久久精品丝袜高跟鞋 | 亚洲自偷自偷在线制服 | 1000部啪啪未满十八勿入下载 | 国产精品人人爽人人做我的可爱 | 久久综合给合久久狠狠狠97色 | 啦啦啦www在线观看免费视频 | 亚洲区欧美区综合区自拍区 | 成人亚洲精品久久久久软件 | 精品久久综合1区2区3区激情 | 未满成年国产在线观看 | 99久久精品午夜一区二区 | www一区二区www免费 | 欧美三级不卡在线观看 | 国产精品理论片在线观看 | 成人女人看片免费视频放人 | 色五月五月丁香亚洲综合网 | 精品国产成人一区二区三区 | 正在播放东北夫妻内射 | 十八禁真人啪啪免费网站 | 一二三四社区在线中文视频 | 国产精品久久精品三级 | 任你躁国产自任一区二区三区 | 国产人妻久久精品二区三区老狼 | 日本丰满护士爆乳xxxx | 国产99久久精品一区二区 | 国产成人无码午夜视频在线观看 | 久久久久成人片免费观看蜜芽 | 日韩人妻少妇一区二区三区 | 妺妺窝人体色www在线小说 | 国产黄在线观看免费观看不卡 | 思思久久99热只有频精品66 | 国产亚洲精品久久久ai换 | 狠狠亚洲超碰狼人久久 | 国产色视频一区二区三区 | 无码国产乱人伦偷精品视频 | 国产农村妇女高潮大叫 | 动漫av一区二区在线观看 | 高中生自慰www网站 | 夜夜高潮次次欢爽av女 | 欧美人与牲动交xxxx | 亚洲小说图区综合在线 | 性生交片免费无码看人 | 亚洲中文字幕av在天堂 | 国产成人综合美国十次 | 成人av无码一区二区三区 | 中文字幕无码人妻少妇免费 | 日产国产精品亚洲系列 | 高清不卡一区二区三区 | 一个人免费观看的www视频 | 欧洲熟妇精品视频 | 国产av无码专区亚洲awww | 午夜理论片yy44880影院 | 牲欲强的熟妇农村老妇女 | 最新国产麻豆aⅴ精品无码 | 中文字幕无码av波多野吉衣 | 国产在线精品一区二区高清不卡 | 无码人妻久久一区二区三区不卡 | 国产成人精品三级麻豆 | 图片区 小说区 区 亚洲五月 | 日本爽爽爽爽爽爽在线观看免 | 日韩欧美群交p片內射中文 | 福利一区二区三区视频在线观看 | 欧美老妇交乱视频在线观看 | 99精品视频在线观看免费 | 图片区 小说区 区 亚洲五月 | 任你躁在线精品免费 | 人人妻人人澡人人爽人人精品 | 国产两女互慰高潮视频在线观看 | 国产成人无码一二三区视频 | 国产精品爱久久久久久久 | 麻豆国产97在线 | 欧洲 | 国产精品爱久久久久久久 | 精品久久久久久亚洲精品 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 婷婷六月久久综合丁香 | 无码精品国产va在线观看dvd | 日本大乳高潮视频在线观看 | 99久久人妻精品免费一区 | 成人无码视频在线观看网站 | 亚洲 a v无 码免 费 成 人 a v | 国产激情无码一区二区 | 国产精品久久久一区二区三区 | 久久久成人毛片无码 | 2019nv天堂香蕉在线观看 | 午夜福利不卡在线视频 | 无码帝国www无码专区色综合 | 女人和拘做爰正片视频 | 荫蒂添的好舒服视频囗交 | 四虎国产精品一区二区 | 日本护士xxxxhd少妇 | 黑人巨大精品欧美黑寡妇 | 伊人色综合久久天天小片 | 中文字幕乱码中文乱码51精品 | 特级做a爰片毛片免费69 | 久久国产36精品色熟妇 | 亚洲经典千人经典日产 | 亚洲精品成人福利网站 | 在线精品亚洲一区二区 | 午夜丰满少妇性开放视频 | 人人妻人人澡人人爽欧美精品 | 亚洲欧美日韩国产精品一区二区 | 国产成人综合美国十次 | 国产 精品 自在自线 | 在线天堂新版最新版在线8 | 精品日本一区二区三区在线观看 | 麻豆精产国品 | 人妻与老人中文字幕 | 欧美放荡的少妇 | 亚洲国产欧美国产综合一区 | 大肉大捧一进一出视频出来呀 | 老司机亚洲精品影院无码 | 国产精品久久久久无码av色戒 | 中文精品无码中文字幕无码专区 | 精品一区二区三区波多野结衣 | 国产特级毛片aaaaaaa高清 | 97久久精品无码一区二区 | 久久久久成人精品免费播放动漫 | 欧美黑人巨大xxxxx | 婷婷丁香五月天综合东京热 | 欧美刺激性大交 | 熟女体下毛毛黑森林 | 国产国产精品人在线视 | 亚洲熟妇色xxxxx欧美老妇 | 亚洲成av人片在线观看无码不卡 | 色综合视频一区二区三区 | 野狼第一精品社区 | 国产农村乱对白刺激视频 | 中文字幕乱码人妻无码久久 | 天天摸天天碰天天添 | 久久久国产一区二区三区 | 亚洲精品一区三区三区在线观看 | 激情内射日本一区二区三区 | 综合激情五月综合激情五月激情1 | 亚洲自偷精品视频自拍 | 性史性农村dvd毛片 | 岛国片人妻三上悠亚 | 国产精品无码永久免费888 | 成在人线av无码免费 | 久久精品99久久香蕉国产色戒 | 1000部啪啪未满十八勿入下载 | 一本久久伊人热热精品中文字幕 | 无码福利日韩神码福利片 | 精品成人av一区二区三区 | 六十路熟妇乱子伦 | 日韩亚洲欧美中文高清在线 | 麻花豆传媒剧国产免费mv在线 | 在线播放无码字幕亚洲 | 亚洲欧美日韩成人高清在线一区 | 亚洲午夜福利在线观看 | 人人妻人人澡人人爽欧美一区九九 | 玩弄中年熟妇正在播放 | 国产精品久久久久7777 | 国产超碰人人爽人人做人人添 | 国产精品内射视频免费 | 中文字幕精品av一区二区五区 | 国产精品人人爽人人做我的可爱 | 国产成人精品一区二区在线小狼 | 国产人妻人伦精品1国产丝袜 | 日本高清一区免费中文视频 | 日本护士xxxxhd少妇 | 欧美兽交xxxx×视频 | 久久久久免费精品国产 | 亚洲欧洲日本综合aⅴ在线 | 久久久久久a亚洲欧洲av冫 | 国内综合精品午夜久久资源 | 精品熟女少妇av免费观看 | 福利一区二区三区视频在线观看 | 精品人妻人人做人人爽夜夜爽 | 一二三四在线观看免费视频 | 亚洲国产av精品一区二区蜜芽 | 永久免费观看美女裸体的网站 | 亚洲综合久久一区二区 | 狠狠色欧美亚洲狠狠色www | 爆乳一区二区三区无码 | 国产片av国语在线观看 | 精品偷自拍另类在线观看 | 男人的天堂av网站 | 男女性色大片免费网站 | 中国女人内谢69xxxx | 国精产品一区二区三区 | 成在人线av无码免观看麻豆 | 少妇无码av无码专区在线观看 | 国产成人人人97超碰超爽8 | 亚洲另类伦春色综合小说 | 国产激情一区二区三区 | 久久久精品456亚洲影院 | 好屌草这里只有精品 | 男女下面进入的视频免费午夜 | 天天躁日日躁狠狠躁免费麻豆 | 精品国产一区二区三区av 性色 | 亚洲 高清 成人 动漫 | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲日韩av片在线观看 | 午夜精品久久久久久久久 | 扒开双腿疯狂进出爽爽爽视频 | 一本色道久久综合亚洲精品不卡 | 国产亚洲精品久久久久久国模美 | 成人精品视频一区二区 | 国产人妻大战黑人第1集 | 人妻少妇精品无码专区二区 | 欧美性生交xxxxx久久久 | 亚洲区小说区激情区图片区 | 欧美性生交活xxxxxdddd | 欧美熟妇另类久久久久久不卡 | 人妻人人添人妻人人爱 | 成人精品视频一区二区 | 天天爽夜夜爽夜夜爽 | 国产无av码在线观看 | 精品成人av一区二区三区 | 日产国产精品亚洲系列 | 4hu四虎永久在线观看 | av在线亚洲欧洲日产一区二区 | 激情综合激情五月俺也去 | 国内精品九九久久久精品 | 人妻互换免费中文字幕 | 综合激情五月综合激情五月激情1 | 小sao货水好多真紧h无码视频 | 丰满少妇人妻久久久久久 | 国产又粗又硬又大爽黄老大爷视 | 大肉大捧一进一出好爽视频 | 麻豆av传媒蜜桃天美传媒 | 欧美日本日韩 | a片免费视频在线观看 | 国产成人无码专区 | 国产网红无码精品视频 | 人人妻人人澡人人爽欧美一区 | 老司机亚洲精品影院 | 日本一区二区三区免费播放 | 久久精品国产一区二区三区 | 亚洲日韩av一区二区三区四区 | 国产人妻精品一区二区三区不卡 | 小泽玛莉亚一区二区视频在线 | 男人扒开女人内裤强吻桶进去 | 美女极度色诱视频国产 | 国产精品无码mv在线观看 | 精品一区二区三区波多野结衣 | 欧美人与动性行为视频 | 西西人体www44rt大胆高清 | 精品人妻av区 | 成 人影片 免费观看 | 成人av无码一区二区三区 | 国产精品无码一区二区桃花视频 | 国产做国产爱免费视频 | 久久国产精品_国产精品 | 亚洲精品综合一区二区三区在线 | 少妇被黑人到高潮喷出白浆 | 成人影院yy111111在线观看 | 亚洲国产一区二区三区在线观看 | 色欲av亚洲一区无码少妇 | 国产精品人人爽人人做我的可爱 | 精品一二三区久久aaa片 | 波多野42部无码喷潮在线 | 久久精品人妻少妇一区二区三区 | 东京热一精品无码av | 大胆欧美熟妇xx | 亚洲无人区午夜福利码高清完整版 | 亚洲中文无码av永久不收费 | 成人欧美一区二区三区黑人免费 | 国产另类ts人妖一区二区 | 蜜臀av无码人妻精品 | 亚洲色大成网站www | 精品国产一区av天美传媒 | 色综合久久久无码网中文 | 一本久久a久久精品亚洲 | 成 人 免费观看网站 | 色综合久久88色综合天天 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 久久精品无码一区二区三区 | 亚洲娇小与黑人巨大交 | av小次郎收藏 | 麻豆国产人妻欲求不满谁演的 | 亚洲日本va中文字幕 | 国产69精品久久久久app下载 | 久久久久se色偷偷亚洲精品av | 初尝人妻少妇中文字幕 | 久久久久人妻一区精品色欧美 | 99精品视频在线观看免费 | 无码人中文字幕 | 少妇人妻偷人精品无码视频 | 久久99精品国产.久久久久 | 国内少妇偷人精品视频 | 无码任你躁久久久久久久 | 国产又爽又黄又刺激的视频 | 俺去俺来也在线www色官网 | 女人色极品影院 | 爱做久久久久久 | 国精产品一品二品国精品69xx | 最近中文2019字幕第二页 | 免费国产成人高清在线观看网站 | 日韩无码专区 | 国产激情一区二区三区 | 亚洲精品一区二区三区在线观看 | 正在播放老肥熟妇露脸 | 在线播放亚洲第一字幕 | 又大又硬又爽免费视频 | 欧美猛少妇色xxxxx | 人人爽人人澡人人人妻 | 久久精品女人的天堂av | 久久国产36精品色熟妇 | 亚洲码国产精品高潮在线 | 国产欧美精品一区二区三区 | 亚洲码国产精品高潮在线 | 成人精品一区二区三区中文字幕 | 中文字幕日韩精品一区二区三区 | 亚洲第一网站男人都懂 | 国产精品久久精品三级 | 国产精品亚洲综合色区韩国 | 久久精品国产日本波多野结衣 | 领导边摸边吃奶边做爽在线观看 | 国产偷国产偷精品高清尤物 | 国产精品成人av在线观看 | 性做久久久久久久免费看 | 久久午夜夜伦鲁鲁片无码免费 | 色一情一乱一伦 | 激情五月综合色婷婷一区二区 | 中文久久乱码一区二区 | 国产美女极度色诱视频www | 亚洲成av人片天堂网无码】 | 婷婷五月综合缴情在线视频 | 精品国产成人一区二区三区 | 99久久久无码国产精品免费 | 久久精品中文闷骚内射 | 2019午夜福利不卡片在线 | 成人精品视频一区二区三区尤物 | 人人澡人人透人人爽 | 蜜桃臀无码内射一区二区三区 | 国产午夜精品一区二区三区嫩草 | 3d动漫精品啪啪一区二区中 | 久久久久人妻一区精品色欧美 | 激情爆乳一区二区三区 | 亚洲一区av无码专区在线观看 | 久久天天躁夜夜躁狠狠 | 真人与拘做受免费视频 | 色狠狠av一区二区三区 | 亚洲а∨天堂久久精品2021 | 亚洲精品综合五月久久小说 | 丰满肥臀大屁股熟妇激情视频 | 国内少妇偷人精品视频 | 成人免费无码大片a毛片 | av在线亚洲欧洲日产一区二区 | 无遮挡国产高潮视频免费观看 | 99久久精品无码一区二区毛片 | 性色欲网站人妻丰满中文久久不卡 | 欧美精品无码一区二区三区 | a片在线免费观看 | 夜夜夜高潮夜夜爽夜夜爰爰 | 亚洲精品国产品国语在线观看 | 亚洲欧洲日本无在线码 | 国产精华av午夜在线观看 | 久久亚洲中文字幕精品一区 | 强开小婷嫩苞又嫩又紧视频 | 亚洲日本va中文字幕 | 国产超级va在线观看视频 | 激情亚洲一区国产精品 | 亚洲 高清 成人 动漫 | 国产精品久久久av久久久 | 国产艳妇av在线观看果冻传媒 | 中文字幕av无码一区二区三区电影 | 亚洲日本一区二区三区在线 | 亚洲乱码中文字幕在线 | 精品无码av一区二区三区 | 激情五月综合色婷婷一区二区 | 日日干夜夜干 | 无码人妻丰满熟妇区五十路百度 | 男人和女人高潮免费网站 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产三级久久久精品麻豆三级 | 久久人人97超碰a片精品 | 国产午夜视频在线观看 | 精品无码国产自产拍在线观看蜜 | 精品无人区无码乱码毛片国产 | 色 综合 欧美 亚洲 国产 | 亚洲日韩精品欧美一区二区 | 欧美乱妇无乱码大黄a片 | 最近的中文字幕在线看视频 | 成人精品视频一区二区 | 丰满少妇熟乱xxxxx视频 | 牲欲强的熟妇农村老妇女视频 | 97人妻精品一区二区三区 | 狠狠躁日日躁夜夜躁2020 | 日日躁夜夜躁狠狠躁 | 国产成人精品无码播放 | 久久精品人人做人人综合试看 | 欧美兽交xxxx×视频 | 少妇久久久久久人妻无码 | 国产两女互慰高潮视频在线观看 | 波多野42部无码喷潮在线 | 在线观看国产午夜福利片 | 亚洲欧美日韩成人高清在线一区 | 强开小婷嫩苞又嫩又紧视频 | 99久久久国产精品无码免费 | 日日碰狠狠躁久久躁蜜桃 | 国产精品欧美成人 | 精品 日韩 国产 欧美 视频 | 国产色在线 | 国产 | 十八禁视频网站在线观看 | a片在线免费观看 | 疯狂三人交性欧美 | 亚洲精品午夜国产va久久成人 | 亚洲а∨天堂久久精品2021 | 亚洲综合精品香蕉久久网 | 精品国精品国产自在久国产87 | 久久亚洲中文字幕无码 | 成年美女黄网站色大免费全看 | 国产精品怡红院永久免费 | 曰韩无码二三区中文字幕 | 激情内射日本一区二区三区 | 亚洲精品一区二区三区四区五区 | 久久精品国产亚洲精品 | 人人澡人摸人人添 | 亚洲第一无码av无码专区 | 国内综合精品午夜久久资源 | 国产亚洲欧美在线专区 | 人妻有码中文字幕在线 | 人人澡人人透人人爽 | 国产精品igao视频网 | 精品一区二区三区无码免费视频 | 夜精品a片一区二区三区无码白浆 | 国产无遮挡又黄又爽又色 | 日日橹狠狠爱欧美视频 | 天堂а√在线中文在线 | 免费观看又污又黄的网站 | 在线看片无码永久免费视频 | av无码久久久久不卡免费网站 | 在线精品国产一区二区三区 | 网友自拍区视频精品 | 成人片黄网站色大片免费观看 | 小sao货水好多真紧h无码视频 | 人人妻人人藻人人爽欧美一区 | 日韩av无码一区二区三区 | 日韩少妇内射免费播放 | 300部国产真实乱 | 最新国产乱人伦偷精品免费网站 | 亚洲欧洲日本无在线码 | 性生交大片免费看女人按摩摩 | 天干天干啦夜天干天2017 | 国产精品va在线播放 | 色综合久久久久综合一本到桃花网 | 国产精品久久国产精品99 | 中文无码伦av中文字幕 | 欧美精品一区二区精品久久 | 丰满妇女强制高潮18xxxx | 麻豆md0077饥渴少妇 | 老太婆性杂交欧美肥老太 | 日韩av无码一区二区三区不卡 | 日本一区二区更新不卡 | 内射巨臀欧美在线视频 | 中文字幕日韩精品一区二区三区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 亚洲色偷偷男人的天堂 | 西西人体www44rt大胆高清 | 国产真人无遮挡作爱免费视频 | 玩弄人妻少妇500系列视频 | 日本免费一区二区三区最新 | 国产精品怡红院永久免费 | 亚洲色在线无码国产精品不卡 | 久久久精品欧美一区二区免费 | 无码人妻丰满熟妇区五十路百度 | 性色av无码免费一区二区三区 | 67194成是人免费无码 | 国产suv精品一区二区五 | 狠狠综合久久久久综合网 | 久久精品丝袜高跟鞋 | 日韩人妻无码一区二区三区久久99 | 亚洲 a v无 码免 费 成 人 a v | 亚洲日韩av一区二区三区四区 | 国产国产精品人在线视 | 久久久国产精品无码免费专区 | 国产精品高潮呻吟av久久4虎 | 国产亲子乱弄免费视频 | 欧美成人午夜精品久久久 | 日本高清一区免费中文视频 | 国产精品久久久久久亚洲影视内衣 | 亚洲一区二区三区 | 精品欧美一区二区三区久久久 | 国产香蕉尹人综合在线观看 | 色综合久久88色综合天天 | 欧美日韩一区二区三区自拍 | 国产成人无码区免费内射一片色欲 | 香蕉久久久久久av成人 | 国产精品99久久精品爆乳 | 亚洲国产精品无码一区二区三区 | 久久精品国产日本波多野结衣 | 国内揄拍国内精品人妻 | 免费国产成人高清在线观看网站 | 午夜精品一区二区三区在线观看 | 国产真人无遮挡作爱免费视频 | 欧美日韩一区二区免费视频 | 亚洲爆乳大丰满无码专区 | 97久久精品无码一区二区 | 亚洲欧美日韩成人高清在线一区 | 人妻少妇被猛烈进入中文字幕 | 99久久人妻精品免费二区 | 亚洲天堂2017无码中文 | 久久无码专区国产精品s | 精品午夜福利在线观看 | 久久精品人人做人人综合试看 | 99视频精品全部免费免费观看 | 亚洲日韩精品欧美一区二区 | 亚洲精品无码人妻无码 | 偷窥村妇洗澡毛毛多 | 无码精品国产va在线观看dvd | 中文字幕无码日韩欧毛 | 福利一区二区三区视频在线观看 | 亚洲精品久久久久avwww潮水 | 扒开双腿疯狂进出爽爽爽视频 | 欧美成人免费全部网站 | 日本丰满护士爆乳xxxx | 中文字幕无码日韩欧毛 | 国内揄拍国内精品少妇国语 | 亚洲人成影院在线无码按摩店 | 成人欧美一区二区三区黑人 | 欧美性生交活xxxxxdddd | 东京一本一道一二三区 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 性欧美牲交在线视频 | 人人妻人人澡人人爽精品欧美 | 亚洲午夜久久久影院 | 任你躁国产自任一区二区三区 | 亚洲国产精品无码久久久久高潮 | 精品久久久无码中文字幕 | 欧美人与牲动交xxxx | 国产精品-区区久久久狼 | 精品国产福利一区二区 | 国产成人一区二区三区别 | 亚洲乱码国产乱码精品精 | 亚洲自偷精品视频自拍 | 丝袜人妻一区二区三区 | 综合人妻久久一区二区精品 | 草草网站影院白丝内射 | 无码人妻精品一区二区三区下载 | 四虎国产精品一区二区 | 人妻aⅴ无码一区二区三区 | 亚洲熟女一区二区三区 | 大肉大捧一进一出视频出来呀 | 性做久久久久久久免费看 | 乱人伦人妻中文字幕无码久久网 | 人妻无码αv中文字幕久久琪琪布 | 久久综合香蕉国产蜜臀av | 97夜夜澡人人爽人人喊中国片 | 久久97精品久久久久久久不卡 | 亚洲春色在线视频 | 亚洲一区二区三区四区 | 国产真实乱对白精彩久久 | 男女猛烈xx00免费视频试看 | 久久久精品人妻久久影视 | 中文毛片无遮挡高清免费 | 亚洲s码欧洲m码国产av | 99久久婷婷国产综合精品青草免费 | 久久无码中文字幕免费影院蜜桃 | 精品久久久无码中文字幕 | 波多野结衣乳巨码无在线观看 | 国产精品美女久久久 | 天天做天天爱天天爽综合网 | 精品国产av色一区二区深夜久久 | 日韩欧美群交p片內射中文 | 久久久婷婷五月亚洲97号色 | 国产人妻精品午夜福利免费 | 国产精品欧美成人 | 国产精品亚洲综合色区韩国 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 人妻aⅴ无码一区二区三区 | 久久综合久久自在自线精品自 | 亚洲欧美综合区丁香五月小说 | 国产精品福利视频导航 | 久久国产精品精品国产色婷婷 | 亚洲欧美日韩成人高清在线一区 | 纯爱无遮挡h肉动漫在线播放 | 欧美xxxx黑人又粗又长 | 97精品国产97久久久久久免费 | 亚洲自偷精品视频自拍 | √天堂资源地址中文在线 | 亚洲国产成人a精品不卡在线 | 久久久久国色av免费观看性色 | 粗大的内捧猛烈进出视频 | 欧美日韩人成综合在线播放 | 久9re热视频这里只有精品 | 成人免费视频视频在线观看 免费 | 亚洲精品国产精品乱码不卡 | 麻豆国产97在线 | 欧洲 | 少妇被黑人到高潮喷出白浆 | 女人被爽到呻吟gif动态图视看 | 性做久久久久久久久 | 亚洲第一无码av无码专区 | 少妇人妻大乳在线视频 | 亚洲精品鲁一鲁一区二区三区 | 国产精品内射视频免费 | 色一情一乱一伦一区二区三欧美 | 免费无码一区二区三区蜜桃大 | 天天拍夜夜添久久精品 | 午夜成人1000部免费视频 | 亚洲熟悉妇女xxx妇女av | 少妇性荡欲午夜性开放视频剧场 | 国产精品久久精品三级 | 四虎影视成人永久免费观看视频 | 国产精品久久久久久亚洲影视内衣 | 亚洲色在线无码国产精品不卡 | 国产精品无码一区二区三区不卡 | 国产精品亚洲lv粉色 | 日日噜噜噜噜夜夜爽亚洲精品 | 成人无码视频在线观看网站 | 成 人 免费观看网站 | 久久熟妇人妻午夜寂寞影院 | 18无码粉嫩小泬无套在线观看 | √天堂资源地址中文在线 | 色欲久久久天天天综合网精品 | 人人妻在人人 | 亚洲乱码国产乱码精品精 | 无码成人精品区在线观看 | 四虎4hu永久免费 | 国产97色在线 | 免 | 大色综合色综合网站 | 天堂а√在线中文在线 | 久久精品一区二区三区四区 | 成人无码精品一区二区三区 | 无码人妻av免费一区二区三区 | 精品偷拍一区二区三区在线看 | 亚洲七七久久桃花影院 | 亚洲gv猛男gv无码男同 | 久久婷婷五月综合色国产香蕉 | 成人性做爰aaa片免费看不忠 | 日韩亚洲欧美精品综合 | 国产精品美女久久久 | 国产一区二区三区精品视频 | 中文字幕无线码免费人妻 | 亚洲码国产精品高潮在线 | 青春草在线视频免费观看 | 我要看www免费看插插视频 | 欧美人与禽zoz0性伦交 | 亚洲熟悉妇女xxx妇女av | 久久久久久av无码免费看大片 | 色婷婷久久一区二区三区麻豆 | 丰满岳乱妇在线观看中字无码 | 一二三四社区在线中文视频 | 色欲人妻aaaaaaa无码 | 成人无码视频在线观看网站 | 亚洲日本在线电影 | 国产精品a成v人在线播放 | 国产成人无码a区在线观看视频app | 欧美 日韩 亚洲 在线 | 国产后入清纯学生妹 | 亚洲日韩精品欧美一区二区 | 欧美人与物videos另类 | 在线播放亚洲第一字幕 | 无码国内精品人妻少妇 | 夜夜躁日日躁狠狠久久av | 欧美亚洲日韩国产人成在线播放 | 亚洲成av人综合在线观看 | 人人妻人人澡人人爽欧美一区九九 | 国产97人人超碰caoprom | 国产欧美精品一区二区三区 | 高清无码午夜福利视频 | 亚洲爆乳无码专区 | 全球成人中文在线 | 无码人妻丰满熟妇区五十路百度 | 国产精品理论片在线观看 | 青青久在线视频免费观看 | 亚洲第一网站男人都懂 | 青青青爽视频在线观看 | 亚欧洲精品在线视频免费观看 | 国产sm调教视频在线观看 | 国产精品二区一区二区aⅴ污介绍 | 黑人粗大猛烈进出高潮视频 | 中文字幕乱妇无码av在线 | 久精品国产欧美亚洲色aⅴ大片 | 99久久久国产精品无码免费 | 老子影院午夜精品无码 | 丁香花在线影院观看在线播放 | 亚洲人成网站在线播放942 | 亚洲自偷精品视频自拍 | 亚洲精品一区二区三区四区五区 | 久久精品国产精品国产精品污 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 国産精品久久久久久久 | 高中生自慰www网站 | 国产精品久久久久久亚洲毛片 | 激情内射亚州一区二区三区爱妻 | 男女超爽视频免费播放 | 日韩亚洲欧美精品综合 | 波多野42部无码喷潮在线 | 免费观看又污又黄的网站 | 国产精品亚洲专区无码不卡 | 日韩精品成人一区二区三区 | v一区无码内射国产 | 国产高清不卡无码视频 | 婷婷丁香六月激情综合啪 | 亚洲狠狠婷婷综合久久 | 最新国产麻豆aⅴ精品无码 | 成年女人永久免费看片 | 国产真人无遮挡作爱免费视频 | 亚洲一区av无码专区在线观看 | 伊人久久婷婷五月综合97色 | 国产在热线精品视频 | 狠狠cao日日穞夜夜穞av | 亚洲狠狠婷婷综合久久 | 呦交小u女精品视频 | 无码精品国产va在线观看dvd | av无码电影一区二区三区 | 国产午夜亚洲精品不卡下载 | 亚洲综合在线一区二区三区 | 青青青手机频在线观看 | 男人的天堂av网站 | 国精产品一区二区三区 | 亚洲国产精品无码久久久久高潮 | 国产亚洲精品久久久久久 | 国产在线一区二区三区四区五区 | 亚洲国产精品美女久久久久 | 亚洲自偷精品视频自拍 | 国产成人综合色在线观看网站 | 丰满人妻被黑人猛烈进入 | 亚洲热妇无码av在线播放 | 俺去俺来也www色官网 | 一本久道久久综合狠狠爱 | 中文字幕乱码人妻二区三区 | 熟妇人妻中文av无码 | 亚洲区小说区激情区图片区 | 性史性农村dvd毛片 | 帮老师解开蕾丝奶罩吸乳网站 | 成人精品一区二区三区中文字幕 | 少妇愉情理伦片bd | 中文字幕精品av一区二区五区 | 国产婷婷色一区二区三区在线 | 高潮毛片无遮挡高清免费视频 | 97夜夜澡人人爽人人喊中国片 | 无码精品人妻一区二区三区av | 全黄性性激高免费视频 | 国产精品久久久久久亚洲影视内衣 | 国产精品va在线播放 | 无码精品人妻一区二区三区av | 宝宝好涨水快流出来免费视频 | 国产无套内射久久久国产 | 国产成人无码av片在线观看不卡 | 日本熟妇人妻xxxxx人hd | 搡女人真爽免费视频大全 | 日韩欧美中文字幕在线三区 | 少妇性俱乐部纵欲狂欢电影 | 国产美女精品一区二区三区 | 性生交大片免费看女人按摩摩 | 久久亚洲中文字幕精品一区 | 人人爽人人爽人人片av亚洲 | 青青久在线视频免费观看 | 欧美人与善在线com | 久久久久成人精品免费播放动漫 | 国内精品久久毛片一区二区 | 成人毛片一区二区 | 亚洲精品国产第一综合99久久 | 国产成人综合美国十次 | 国产精品第一国产精品 | 亚洲 欧美 激情 小说 另类 | 亚洲熟悉妇女xxx妇女av | 国产又爽又黄又刺激的视频 | 久久天天躁狠狠躁夜夜免费观看 | 少妇无套内谢久久久久 | 国产片av国语在线观看 | 曰本女人与公拘交酡免费视频 | 大色综合色综合网站 | 内射白嫩少妇超碰 | 免费乱码人妻系列无码专区 | 大地资源网第二页免费观看 | 漂亮人妻洗澡被公强 日日躁 | 国产极品视觉盛宴 | 狠狠色噜噜狠狠狠狠7777米奇 | 国产农村乱对白刺激视频 | 强伦人妻一区二区三区视频18 | 色 综合 欧美 亚洲 国产 | 亚洲欧洲无卡二区视頻 | 在线 国产 欧美 亚洲 天堂 | 国产精品久久久久久无码 | 乌克兰少妇性做爰 | 亚洲熟悉妇女xxx妇女av | 久久人人爽人人人人片 | 亚洲国产欧美日韩精品一区二区三区 | 国产精品毛多多水多 | 131美女爱做视频 | 国产黄在线观看免费观看不卡 | 精品久久久久久亚洲精品 | 丰满少妇人妻久久久久久 | 国产成人综合色在线观看网站 | 久久97精品久久久久久久不卡 | 无码人妻丰满熟妇区五十路百度 | 国产猛烈高潮尖叫视频免费 | 国产av无码专区亚洲a∨毛片 | 久久精品国产精品国产精品污 | 日韩精品久久久肉伦网站 | 高潮毛片无遮挡高清免费 | 国产在线无码精品电影网 | 国产精品无码一区二区三区不卡 | 国产精品-区区久久久狼 | 国产亚洲精品久久久久久大师 | 天天拍夜夜添久久精品 | 人妻插b视频一区二区三区 | 日本熟妇乱子伦xxxx | 精品国产av色一区二区深夜久久 | 中文字幕日产无线码一区 | 久久午夜夜伦鲁鲁片无码免费 | 久久99精品久久久久久动态图 | 麻花豆传媒剧国产免费mv在线 | 亚洲爆乳大丰满无码专区 | 成人片黄网站色大片免费观看 | 欧美老妇交乱视频在线观看 | 亚洲中文字幕av在天堂 | 免费视频欧美无人区码 | 未满成年国产在线观看 | 国产偷国产偷精品高清尤物 | 国产成人无码a区在线观看视频app | 无码国内精品人妻少妇 | 国产成人精品无码播放 | 色综合久久中文娱乐网 | 国产精品久久久久久久9999 | 性欧美videos高清精品 | 少妇高潮喷潮久久久影院 | aⅴ亚洲 日韩 色 图网站 播放 | √天堂资源地址中文在线 | √天堂资源地址中文在线 | 国产又爽又猛又粗的视频a片 | 丝袜人妻一区二区三区 | 成 人 网 站国产免费观看 | 无码国内精品人妻少妇 | 一本久道久久综合婷婷五月 | 日日天日日夜日日摸 |