亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL Server學(xué)習(xí)筆記之事務(wù)、鎖定、阻塞、死鎖用法詳解

2024-08-31 01:04:59
字體:
供稿:網(wǎng)友

本文實(shí)例講述了SQL Server學(xué)習(xí)筆記之事務(wù)、鎖定、阻塞、死鎖用法。分享給大家供大家參考,具體如下:

1、事務(wù)

隱式事務(wù)

/*==================================================================當(dāng)以create,drop, fetch,open, revoke,grand, alter table,select,insert,delete,update,truncate table語句首先執(zhí)行的時候,SQL Server會話自動打開一個新的事務(wù),如果在會話中激活了隱式事務(wù)模式,那么這個事務(wù)會一直保持打開狀態(tài),直到rollback或commit語句這個事務(wù)才結(jié)束,如果忘記提交事務(wù),那么在相應(yīng)的隔離級別下,事務(wù)占用的鎖可能不會釋放,因此盡量不要用隱式事務(wù)。====================================================================*/--會話1set implicit_transactions onupdate tset v = 'ext12'set implicit_transactions offselect @@TRANCOUNT --輸出:1,說明事務(wù)沒有釋放     --占用的X獨(dú)占鎖不會釋放,會阻塞其他會話
--會話2,被會話1阻塞住了,不會返回任何記錄select *from t

在會話1中執(zhí)行commit來提交事務(wù),那么會話2馬上就會返回記錄了。

現(xiàn)在把兩個會話的執(zhí)行順序調(diào)換一下:

--會話1set implicit_transactions on --打開了隱式事務(wù)select *from tset implicit_transactions offselect @@TRANCOUNT --輸入:1,說明這個會話中的事務(wù)也沒有提交
--會話2,會話2沒有被會話1阻塞,--之所以這樣是因?yàn)闀挼哪J(rèn)隔離級別是read committed,--會話1中的事務(wù)雖然沒有提交,但是select語句在這種隔離級別下,--運(yùn)行完就會釋放占用的S共享鎖,所以不會阻塞寫操作update tset v = 'ext'

顯示數(shù)據(jù)庫最早的活動事務(wù)

/*==============================================================如果事務(wù)在數(shù)據(jù)庫中始終打開,有可能會阻塞其他進(jìn)程的操作,為什么是有可能而不是一定呢,原因就是:在默認(rèn)隔離級別下的select語句查詢到數(shù)據(jù)后就會立即釋放共享鎖。另外,日志備份也只會截斷不活動事務(wù)的那部分日志,所以活動的事務(wù)會導(dǎo)致日志數(shù)據(jù)越來越多。為了找到?jīng)]有提交的事務(wù),可以用下面的命令顯示某個數(shù)據(jù)庫最早的活動事務(wù).不過有個例外,就是下面的命令不會返回:不占用鎖資源的未提交事務(wù)================================================================*/begin tran --開始顯示事務(wù)select *from t  --運(yùn)行后立即釋放共享鎖select @@TRANCOUNT --輸入:1,說明沒有提交事務(wù)dbcc opentran('wc') --顯示數(shù)據(jù)庫最早的活動事務(wù),       --但是這兒顯示"沒有處于打開狀態(tài)的活動事務(wù)"

通過會話來查詢事務(wù)信息

--由于上面未提交事務(wù)中的select語句在默認(rèn)的隔離級別下執(zhí)行后自動釋放了共享鎖,--所以dbcc opentran命令并沒有返回這個活動事務(wù),--不過下面的視圖解決了這個問題,可以找到所有活動事務(wù)。--找到活動事務(wù)select session_id,      --session_id與transaction_id的對應(yīng)關(guān)系  transaction_id,  is_user_transaction,  is_localfrom sys.dm_tran_session_transactions --會話中的事務(wù),識別所有打開的事務(wù)where is_user_transaction =1--找到活動事務(wù)對應(yīng)的執(zhí)行語句select c.session_id,     --session_id與connection_id的對應(yīng)關(guān)系  c.connection_id,  c.most_recent_sql_handle,  s.textfrom sys.dm_exec_connections c  --執(zhí)行連接,最近執(zhí)行的查詢信息cross apply sys.dm_exec_sql_text(c.most_recent_sql_handle) swhere c.session_id = 361--活動事務(wù)的具體信息select t.transaction_id,  t.name,      --這里顯示user_transaction  t.transaction_begin_time,  case t.transaction_type   --事務(wù)類型   when 1 then '讀/寫事務(wù)'   when 2 then '只讀事務(wù)'   when 3 then '系統(tǒng)事務(wù)'   when 4 then '分布式事務(wù)'  end 'transaction type',  case t.transaction_state   when 0 then '事務(wù)尚未完全初始化'   when 1 then '事務(wù)已初始化但尚未啟動'   when 2 then '事務(wù)處于活動狀態(tài)'   when 3 then '事務(wù)已結(jié)束。該狀態(tài)用于只讀事務(wù)'   when 4 then '已對分布式事務(wù)啟動提交進(jìn)程'   when 5 then '事務(wù)處于準(zhǔn)備就緒狀態(tài)且等待解析'   when 6 then '事務(wù)已提交'   when 7 then '事務(wù)正在被回滾'   when 8 then '事務(wù)已回滾'  end 'transaction state'from sys.dm_tran_active_transactions t --活動的事務(wù)where transaction_id = 150764485

2、鎖定

當(dāng)一個用戶要讀取另一個用戶正在修改的數(shù)據(jù),或者一個用戶正在修改另一個用戶正在讀取的數(shù)據(jù),或者一個用戶要修改另一個用戶正在修改的數(shù)據(jù),就會出現(xiàn)并發(fā)問題。鎖定能防止并發(fā)問題。

資源的鎖定方式稱為鎖定模式,SQL Server中的鎖定模式:共享鎖,意向鎖,更新鎖,排他鎖,架構(gòu)穩(wěn)定鎖,架構(gòu)修改鎖,大批量更新鎖,鍵范圍鎖。不是所有鎖模式都是兼容的,如:一個加了排他鎖的資源不能再加其他鎖,其他事務(wù)必須等待,直到釋放排他鎖。

可以鎖定SQL Server中的各類對象,可以鎖定的資源在粒度上差異很大,從細(xì)粒度(行、鍵)到粗粒度(數(shù)據(jù)庫)。細(xì)粒度的鎖允許用戶能查詢那些未被鎖定的行,并發(fā)性更高,但是需要更多的鎖資源(每個被鎖定的行都需要一個鎖資源);粗粒度的鎖降低了并發(fā)性,但需要的鎖資源很少。

在SQL Server中可鎖定的資源:

DB(數(shù)據(jù)庫) Metadata(系統(tǒng)元數(shù)據(jù)) Object(數(shù)據(jù)庫對象:視圖,函數(shù),存儲過程,觸發(fā)器) Table(表)  Hobt(堆或B樹)   Allocation Unit(按照數(shù)據(jù)的類型(數(shù)據(jù),行溢出、大對象)分組的相關(guān)頁面)    Extent(8個8KB的頁面)     Page(8KB數(shù)據(jù)頁面)      Rid(行標(biāo)示符對應(yīng)一個堆表的行)      Key(鍵范圍上的鎖、B樹中的鍵)FileApplication

查看鎖的活動

select resource_type,     --資源類型  resource_database_id,   --資源所在的數(shù)據(jù)庫id  resource_associated_entity_id, --數(shù)據(jù)庫中與資源相關(guān)聯(lián)的實(shí)體的 ID。          --該值可以是對象ID、Hobt ID 或分配單元 ID,          --具體視資源類型而定  object_name(resource_associated_entity_id,resource_database_id),  resource_lock_partition, --已分區(qū)鎖資源的鎖分區(qū)ID。對于未分區(qū)鎖資源值為 0  resource_description, --資源的說明,其中只包含從其他資源列中無法獲取的信息  request_session_id, --請求資源的會話  request_type,   --請求類型,該值為 LOCK  request_mode,  --請求的模式,對于已授予的請求,為已授予模式,       --對于等待請求,為正在請求的模式(鎖定模式)  request_status   --請求的當(dāng)前狀態(tài),        --可能值為 GRANTED、CONVERT 或 WAITfrom sys.dm_tran_locksWHERE request_session_id = 361

控制表的鎖升級

每個鎖都會消耗內(nèi)存資源,當(dāng)鎖的數(shù)量增加時,那么所需要的內(nèi)存就會增加,而系統(tǒng)內(nèi)可用的內(nèi)存就會減少。如果鎖占用的內(nèi)存比率超過一個閥值,SQL Server會將細(xì)粒度鎖(行鎖)升級為粗粒度鎖(表鎖),這個過程就是鎖升級。

鎖升級的優(yōu)點(diǎn)是可以減少鎖的數(shù)量,相應(yīng)的減少內(nèi)存的使用量,而缺點(diǎn)是由于鎖住了更大的資源,所以會導(dǎo)致阻塞,降低并發(fā)性。

--默認(rèn)值,不管是不是分區(qū)表,會在表級別啟用鎖升級ALTER TABLE tSET (lock_escalation = TABLE)--當(dāng)表升級時,如果表已經(jīng)分區(qū),會在分區(qū)級別啟用鎖升級ALTER TABLE tSET (lock_escalation = auto)--在表級別禁用鎖升級,如果用了TabLock提示或在Serializable隔離級別下查詢,還是會有表鎖ALTER TABLE tSET (lock_escalation = disable)

影響鎖定的除了上面提到的鎖定模式、鎖的粒度,還有就是事務(wù)的隔離級別。

所謂隔離級別其實(shí)就是事務(wù)與事務(wù)之間相互影響的程度,比如,一個事務(wù)修改了數(shù)據(jù),那么其他事務(wù)是否能看到這些修改的數(shù)據(jù),無論事務(wù)是否提交。對于最高的隔離級別,這個事務(wù)所做的修改,其他任何事務(wù)都看不到;而最低的隔離級別,這個事務(wù)所做的修改,可以被其他任何事務(wù)看到。

SQL Server隔離級別:

1.read uncommitted能解決丟失更新的問題,但是會導(dǎo)致臟讀。

2.read committed讀取的是已提交的數(shù)據(jù),所以解決了臟讀的問題,但是會有不可重復(fù)讀取的問題,也就是在一個事務(wù)中有兩次讀取,第一次讀取的和第二次讀取的同一條數(shù)據(jù),可能值是不同的,因?yàn)樵谑聞?wù)中的select語句在讀取完之后就立即釋放的共享鎖,而此時有另一個事務(wù)把剛才第一個事務(wù)讀取的那條數(shù)據(jù)修改了,這樣第一次讀和第二次讀到的值就會不同。

3.repeatable read解決了不可重復(fù)讀取的問題,也就是在一個事務(wù)中的前后兩次讀取,讀取到的數(shù)據(jù)值是一樣的,但是會有幻讀的可能,也就是第一次讀出的數(shù)據(jù)確實(shí)和第二次讀取的數(shù)據(jù)一樣,但是第二次讀取的記錄條數(shù)可能多于第一次讀取的記錄條數(shù),因?yàn)樵谧x取的時候確實(shí)是鎖住了被讀取的記錄,但是這個表可能添加了新的記錄。

4.serializable通過鎖住查詢范圍內(nèi)的鍵、鍵與鍵之間的范圍來解決幻讀的問題,比如where id >=5 and id <=10,加入表表中只有id為7,9的兩條記錄,那么5-6、7-8、9-10這3個范圍都會被鎖住。

5.在ALLOW_SNAPSHOT_ISOLATION下的snapshot這種隔離級別允許讀取事務(wù)一致性版本的數(shù)據(jù),但可能不是最新的版本,也就是說在一個事務(wù)中只能讀到某個版本,比如,在一個事務(wù)中有兩次讀取,第一次讀完后,數(shù)據(jù)被另一個事務(wù)修改且事務(wù)提交了,此時進(jìn)行第2次讀取,那么讀出來的還是和第一次讀取一樣的數(shù)據(jù),這就是在一個事務(wù)中如果數(shù)據(jù)被其他事務(wù)修改了,讀出來的數(shù)據(jù)也一樣。優(yōu)點(diǎn)是數(shù)據(jù)讀取不會阻塞寫,寫也不會阻塞讀取。另外,如果兩個事務(wù)同時修改同一行數(shù)據(jù),會導(dǎo)致更新沖突錯誤。

6.在READ_COMMITTED_SNAPSHOT下的read committed隔離級別允許在同一事務(wù)中總是能讀取運(yùn)行的已提交的數(shù)據(jù),而且數(shù)據(jù)讀取不會阻塞寫,寫也不會阻塞讀取,也不會導(dǎo)致更新沖突。

上面是關(guān)于鎖定的概念,那么接下來就是如何找到阻塞的進(jìn)程,并解決阻塞問題。

--會話1,修改數(shù)據(jù),但沒有提交事務(wù)BEGIN TRANselect @@SPID --輸出:287UPDATE tSET v = '88888'WHERE idd = 1--會話2,由于會話一事務(wù)沒有提交,導(dǎo)致阻塞BEGIN TRANselect @@SPID --輸出:105UPDATE tSET v = '888'WHERE idd = 1--查詢會話1的等待信息select session_id,   --查詢的會話,也就是被阻塞的會話  wait_duration_ms,  --等待毫秒數(shù)  wait_type,   --等待類型,如:LCK_M_X表示正在等待獲取排他鎖  blocking_session_id --阻塞session_id會話的會話from sys.dm_os_waiting_taskswhere session_id = 105--查詢這個被阻塞的會話請求的資源情況select resource_type,  request_status,  request_mode,  request_session_idfrom sys.dm_tran_lockswhere request_session_id = 105--說明會話2在update時一共獲取了4個鎖,共享數(shù)據(jù)庫鎖、2個意向獨(dú)占鎖(鎖定表、數(shù)據(jù)頁),--一個鍵鎖鎖住那條要更新的記錄,只有這個鍵鎖的請求狀態(tài)時wait,--其他3個鎖狀態(tài)為grant表示已經(jīng)會話2已經(jīng)獲得了鎖。--另一種查看阻塞會話的方法:--查看當(dāng)前會話的執(zhí)行請求select session_id,  status,  blocking_session_id,  wait_type,  wait_timefrom sys.dm_exec_requestswhere session_id = 105--配置語句等待鎖釋放的時間--設(shè)置語句的鎖請求超時時段--超時時段是以毫秒為單位,超時后會返回鎖定錯誤返回錯誤:(1 行受影響)消息 1222,級別 16,狀態(tài) 51,第 7 行已超過了鎖請求超時時段。語句已終止。

3、死鎖

當(dāng)兩個事務(wù)分別鎖定了資源,而又繼續(xù)請求對方已獲取的資源,那么就會產(chǎn)生死鎖。

發(fā)生死鎖的原因:

A、會話以不同的順序訪問表。

B、會話長時間運(yùn)行事務(wù),在一個事務(wù)中更新了很多表或行,這樣增加了沖突的可能。

C、會話1申請了一些行鎖,會話2申請了一些行鎖,之后決定將其升級為表鎖。

如果這些行在相同的數(shù)據(jù)頁面中,并且兩個會話同時在相同的頁面上升級鎖粒度,就會產(chǎn)生死鎖。

set lock_timeout 1000--跟蹤死鎖--會話1set transaction isolation level serializablebegin tranupdate tset v ='563'where idd =2waitfor delay '00:00:10'update tset v = '963'where idd =1commit--會話2set transaction isolation level serializablebegin tranupdate tset v ='234'where idd =1waitfor delay '00:00:10'update tset v = '987'where idd=2commit

再開啟一個會話,開啟跟蹤:

/*===================================================================開啟跟蹤標(biāo)志位:    DBCC TRACEON(trace#[,...n],-1) [With No_InfoMsgs]檢查某種或某些標(biāo)志位是開啟,還是關(guān)閉:    DBCC TRACESTATUS(trace#[,...n],-1) [With No_InfoMsgs]1.trace#:指定一個或多個需要開啟或需要檢查狀態(tài)的跟蹤標(biāo)志位數(shù)字2. -1:如果指定了-1,則以全局方式打開某種或某些跟蹤標(biāo)志位3.with No_InfoMsgs:當(dāng)命令中包含此參數(shù)時,則禁止DBCC輸出信息性消息=====================================================================*/--跟蹤1222能把詳細(xì)的死鎖信息返回到SQL Server的日志中--標(biāo)志位-1表示跟蹤標(biāo)志位1222應(yīng)該對所有SQL Server連接全局啟用DBCC TraceOn(1222,-1)go--驗(yàn)證標(biāo)志位是否啟動DBCC TraceStatusgo--關(guān)閉標(biāo)志位DBCC TraceOff(1222,-1)go設(shè)置死鎖優(yōu)先級--設(shè)置死鎖的優(yōu)先級,調(diào)整一個查詢會話由于死鎖而被終止運(yùn)行的可能性SET DeadLock_Priority Low | Normal | High | numeric-priority--是當(dāng)前連接很有可能被終止運(yùn)行set deadlock_priority Low--SQL Server終止回滾代價較小的連接set deadlock_priority Normal--減少連接被終止的可能性,除非另一個連接也是High或數(shù)值優(yōu)先級大于5set deadlock_priority High--數(shù)值優(yōu)先級:-10到10的值,-10最有可能被終止運(yùn)行,10最不可能被終止運(yùn)行,--兩個數(shù)字誰大,誰就越不可能在死鎖中被終止set deadlock_priority 10

希望本文所述對大家SQL Server數(shù)據(jù)庫程序設(shè)計有所幫助。


注:相關(guān)教程知識閱讀請移步到MSSQL教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
欧美xxxx做受欧美.88| 天堂91在线| 久久一区二区三| 精品人妻一区二区三区日产乱码卜| 97视频在线观看成人| 风间由美中文字幕在线看视频国产欧美| 一级性生活毛片| 成人免费一区二区三区视频网站| 欧美精品一区二区精品网| 美女网站色精品尤物极品姐弟| 国产精品永久入口久久久| 国产欧美日韩亚洲精品| 日韩久久一区二区三区| 91麻豆福利精品推荐| 91精品导航| 搡的我好爽在线观看免费视频| 久草视频免费在线观看| 手机看片福利在线| 四虎国产成人精品免费一女五男| 熟妇熟女乱妇乱女网站| 成人av网站在线观看| 国产在线观看91| 久久99蜜桃精品| 免费观看的av网站| 日韩精品一区二区三区三区免费| 在线国产精品网| 国产亚洲成aⅴ人片在线观看| 不卡区在线中文字幕| 午夜午夜精品一区二区三区文| 日本欧美日韩| 色呦呦中文字幕| 久久天堂av| 国产精品素人视频| 欧美与欧洲交xxxx免费观看| 麻豆一区二区麻豆免费观看| 日精品一区二区三区| 欧美性猛交xxxx乱大交91| 2019国产精品自在线拍国产不卡| 给我看免费高清在线观看| 国精产品一区一区三区四川| 亚洲欧洲精品天堂一级| 日韩成人毛片视频| 九九热在线精品视频| 美女福利网站视频在线观看| 久久中文字幕导航| 国产精品111| 尤物九九久久国产精品的分类| 成a人片在线观看| 日韩av手机在线观看| 国产免费久久久久| 国产精品传媒精东影业在线| 免费尤物视频| 99久久久免费精品国产一区二区| 粉嫩av在线播放| xvideos入口| 天天摸天天碰天天爽天天弄| 色猫咪免费人成网站在线观看| 给我免费播放片在线观看| 亚洲高清不卡在线观看| 欧美黑人性受xxxx精品| 一区二区三区高清在线视频| 中文字幕一区二区三区四区久久| 图片区乱熟图片区亚洲| 日韩成人亚洲| 加勒比一区二区三区在线| 久久这里只有| 欧美黄色录像| 在线观看亚洲一区二区| 成人免费视频网站入口| 日本不卡一区二区三区四区| 国产亚洲精品久久久久久777| 国产区一区二区三区| 超污视频在线播放| 亚洲字幕久久| 日韩精品在线播放视频| 亚洲尤物视频在线| 天天射综合网站| 热re66久久精品国产99热| 亚洲黄色a级片| 中文av一区二区| 9l视频自拍蝌蚪9l视频成人| 欧美激情 亚洲a∨综合| 国产黄色片网站| 亚洲一区二区三区自拍| 久久久国产影院| 黄色一级视频在线播放| 久久久另类综合| 欧美日韩p片| 日本不卡在线观看视频| 精品一区亚洲| 亚洲免费毛片网站| 99伊人成综合| 快播av资源| 成人观看网址| 日韩精品一区二区亚洲av性色| 在线观看亚洲专区| 亚洲精品激情视频| 欧美极品一区二区三区| 国产一区啦啦啦在线观看| 91极品尤物在线播放国产| 91激情视频在线观看| 精品久久久噜噜噜噜久久图片| 国产91在线亚洲| 欧美日韩美女| 成年女人18级毛片毛片免费| 欧美一区二区三区电影在线观看| 色老板视频在线观看| 国产成人精品视频在线观看| 先锋影音av中文资源| 亚洲中文字幕在线观看| 91大神在线资源观看无广告| 潘金莲一级淫片aaaaaaa| 成人女同在线观看| 欧美人狂配大交3d怪物一区| 亚洲激情77| 亚洲精华一区二区三区| 成人勉费视频| 艳妇荡乳欲伦69影片| 国产在线观看不卡一区二区三区| 亚洲精品在线视频免费| 7777精品伊人久久久大香线蕉经典版下载| 亚洲精品国产一区黑色丝袜| 五月婷婷免费视频| 欧美亚洲自拍偷拍| 精品一区二区在线看| 日本在线高清视频一区| 人与牲动交xxxxbbbb高清| 青青草视频在线观看免费| 亚洲男人天堂2023| 日韩一区在线播放| 亚洲AV无码国产精品午夜字幕| 亚洲欧美日本国产有色| 久久中文字幕二区| 久久不见久久见国语| 成人av一级片| 国产成人黄色片| 国产精品腿扒开做爽爽爽挤奶网站| 欧美日韩国产一级片| 国产精品午夜国产小视频| 国产一区二区成人久久免费影院| 一级毛片视频| 91精品国产99久久久久久红楼| 成人免费看吃奶视频网站| 日日天天久久| av中文天堂在线| 国产亚洲精品久久久久久打不开| 成人午夜在线| 欧美综合在线视频观看| www在线视频| 99久久免费观看| 亚洲综合激情另类专区老铁性| 久久99精品视频一区97| 污视频在线看网站| 国产日韩一区二区| 久久国产精品高清一区二区三区| 2018亚洲男人天堂| 伊人精品综合| 亚洲伊人成综合成人网| 欧美久久久久久一卡四| 美女网站黄页| 亚洲精选在线视频| 成人午夜电影小说| 一本二本三本亚洲码| 欧美两根一起进3p做受视频| 成人性生交大免费看| 韩漫成人漫画| 青娱乐国产在线视频| 黑人久久a级毛片免费观看| 成人av网站免费观看| 精品一区精品二区高清| 日本高清久久久| 波多野结衣视频一区二区| 久操久操久操| 免费在线毛片| 成人网视频在线观看| 69精品无码成人久久久久久| 色综合久综合久久综合久鬼88| 亚洲欧美国产va在线影院| 动漫h在线观看| 五月婷婷深爱五月| 亚洲激情二区| 成人免费毛片在线观看| 亚洲韩国日本中文字幕| 久久av一区二区| 香蕉久久久久久久| 国产精品伦一区二区| 亚洲一区区二区| 成人欧美视频在线| 国产精品区一区| 国产91色在线观看| 国产欧美亚洲日本| 色就是色亚洲色图| 中文字幕国产在线观看| 日韩在线一区二区三区| 2017欧美狠狠色| 一区二区免费av| 做爰视频毛片视频| 中文字幕资源网| 伊人再见免费在线观看高清版| 一级片中文字幕| 免费观看黄网站| 国产成+人+综合+亚洲欧美| 天干天干啦夜天天天视频| 99国产精品久久久久久久成人| 国产精品久久久久久久久电影网| 97夜夜澡人人双人人人喊| 色综合久久六月婷婷中文字幕| 免费尤物视频| 欧美一区二区公司| 一区二区冒白浆视频| 国产成人一区二区精品非洲| 国产中文字幕日韩| 一本高清dvd不卡在线观看| 亚洲精品激情视频| 小草在线视频免费播放| 一二三级黄色片| 国产精品一二三在线观看| 欧美视频不卡中文| 色8久久人人97超碰香蕉987| 成人av网站在线| 黄色大片在线免费观看| 99re免费99re在线视频手机版| 蜜桃av色综合| 国产极品美女高潮无套嗷嗷叫酒店| 在线观看亚洲一区二区| 红桃av在线播放| 日av在线不卡| 欧美丰满一区二区免费视频| 大香一本蕉伊线亚洲网| 韩国精品久久久| 久久精品国产69国产精品亚洲| 国产一在线精品一区在线观看| 欧美日韩免费电影| 亚洲欧美激情另类| 国产真乱mangent| 三级在线视频| 黄色片免费在线观看| baoyu135国产精品免费| 亚洲国产一区视频| 欧美日韩人人澡狠狠躁视频| 欧美色婷婷天堂网站| 欧美成人午夜精品免费| 在线日韩中文字幕| 亚洲精品国产片| 亚洲人成毛片在线播放女女| 欧美亚洲日本在线| 国模无码视频一区| 久久精品国产亚洲av高清色欲| 欧美午夜精品一区二区| 男人的天堂一区| 比比资源先锋| 51自拍视频在线观看| 国产午夜精品理论片| 日韩三级影视| 国产中年熟女高潮大集合| 糖心vlog在线免费观看| 亚洲国产一区在线观看| 在线观看黄色片| 91传媒视频免费| 国产av 一区二区三区| 亚洲图片你懂的| brazzers在线观看| 国产传媒久久久| 欧美日本不卡| 男女啪啪999亚洲精品| 人妻精品无码一区二区三区| 一区二区视频观看| 性欧美free| 国产一区二区三区不卡av| 久久久国产精品麻豆| 亚洲第一成肉网| 草草久久久无码国产专区| 人妻aⅴ无码一区二区三区| 色香色香欲天天天影视综合网| 一个人看的www视频免费在线观看| 欧美精品www| 久久一区二区三区电影| 欧美亚州一区二区三区| 天堂在线中文字幕| 精品久久99| 日本天堂网在线观看| 中国女人特级毛片| 最近2019中文字幕一页二页| 国产99在线观看| 亚洲精品一区二区三区福利| 一区二区三区欧美激情| 日本中文字幕在线视频| 可以免费在线观看的av| 97影院秋霞午夜在线观看| 黄网站免费在线播放| 青青草国产成人99久久| 91在线观看免费观看| 成人在线小说| 天天操天天射天天爽| 尤物视频在线看| 欧美精品自拍偷拍动漫精品| 欧美爆操老女人| 国产麻豆视频一区二区| jizz视频播放器| 女同视频在线观看| 亚洲一区二区av电影| 日日噜噜噜夜夜爽亚洲精品| 亚洲欧美伊人| 久久国产精品成人免费观看的软件| 91精品人妻一区二区| 日韩精品黄色网| 国产婷婷一区二区三区| 在线日韩av| 久久在线精品视频| 日本精品二区| 一个色在线综合| 国产视频在线观看一区| 在线国产中文字幕| 中文字幕免费播放| av在线观看地址| 无码少妇一区二区三区芒果| 国产厕所精品在线观看| 97超级在线观看免费高清完整版电视剧| 日韩欧美第二区在线观看| 欧美男男video| 亚洲精品20p| 性猛交ⅹ×××乱大交| 久久丫精品国产亚洲av不卡| 欧美夜福利tv在线| 三上悠亚作品在线观看| 91精品啪在线观看国产60岁| 精品国产18久久久久久洗澡| 欧美 日韩 国产 成人 在线观看|