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

如何鎖住數(shù)據(jù)庫(kù)中幾十億小姐姐?

運(yùn)維 數(shù)據(jù)庫(kù)運(yùn)維 開(kāi)發(fā)工具
數(shù)據(jù)庫(kù)中有一張叫后宮佳麗的表,每天都有幾百萬(wàn)新的小姐姐插到表中,光陰荏苒,夜以繼日,日久生情,時(shí)間長(zhǎng)了,表中就有了幾十億的小姐姐數(shù)據(jù)。

 數(shù)據(jù)庫(kù)中有一張叫后宮佳麗的表,每天都有幾百萬(wàn)新的小姐姐插到表中,光陰荏苒,夜以繼日,日久生情,時(shí)間長(zhǎng)了,表中就有了幾十億的小姐姐數(shù)據(jù)。

[[344492]]


圖片來(lái)自 Pexels

 

看到幾十億的小姐姐,每到晚上,我可愁死了,這么多小姐姐,我翻張牌呢?

辦法當(dāng)然是精兵簡(jiǎn)政,刪除那些 age>18 的,給年輕的小姐姐們留位置...

于是我在數(shù)據(jù)庫(kù)中添加了一個(gè)定時(shí)執(zhí)行的小程序,每到周日,就自動(dòng)運(yùn)行如下的腳本:

  1. delete from `后宮佳麗` where age>18 

一開(kāi)始還自我感覺(jué)良好,后面我就發(fā)現(xiàn)不對(duì)了,每到周日,這個(gè)腳本一執(zhí)行就是一整天。

運(yùn)行的時(shí)間有點(diǎn)長(zhǎng)是小事,重點(diǎn)是這大好周日,我再想讀這張表的數(shù)據(jù),怎么也讀不出來(lái)了,怎是一句空虛了得,我好難啊......

[[344493]]

 

為什么?編不下去了,真實(shí)背景是公司中遇到的一張有海量數(shù)據(jù)表,每次一旦執(zhí)行歷史數(shù)據(jù)的清理,我們的程序就因?yàn)樽x不到這張表的數(shù)據(jù),瘋狂地報(bào)錯(cuò)。

后面一查了解到,原來(lái)是因?yàn)槎〞r(shí)刪除的語(yǔ)句設(shè)計(jì)不合理,導(dǎo)致數(shù)據(jù)庫(kù)中數(shù)據(jù)由行鎖(Row lock)升級(jí)為表鎖(Table lock)了!😂

解決這個(gè)問(wèn)題的過(guò)程中把數(shù)據(jù)庫(kù)鎖相關(guān)的學(xué)習(xí)了一下,這里把學(xué)習(xí)成果,分享給大家,希望對(duì)大家有所幫助。

我將討論 SQL Server 鎖機(jī)制以及如何使用 SQL Server 標(biāo)準(zhǔn)動(dòng)態(tài)管理視圖監(jiān)視 SQL Server 中的鎖,相信其他數(shù)據(jù)的鎖也大同小異,具有一定參考意義。

鋪墊知識(shí)

在我開(kāi)始解釋 SQL Server 鎖定體系結(jié)構(gòu)之前,讓我們花點(diǎn)時(shí)間來(lái)描述ACID(原子性,一致性,隔離性和持久性)是什么。

ACID 是指數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)在寫(xiě)入或更新資料的過(guò)程中,為保證事務(wù)(transaction)是正確可靠的,所必須具備的四個(gè)特性:

  • 原子性(atomicity,或稱(chēng)不可分割性)
  • 一致性(consistency)
  • 隔離性(isolation,又稱(chēng)獨(dú)立性)
  • 持久性(durability)

ACID

①原子性(Atomicity)

一個(gè)事務(wù)(transaction)中的所有操作,或者全部完成,或者全部不完成,不會(huì)結(jié)束在中間某個(gè)環(huán)節(jié)。

事務(wù)在執(zhí)行過(guò)程中發(fā)生錯(cuò)誤,會(huì)被回滾(Rollback)到事務(wù)開(kāi)始前的狀態(tài),就像這個(gè)事務(wù)從來(lái)沒(méi)有執(zhí)行過(guò)一樣。即,事務(wù)不可分割、不可約簡(jiǎn)。

②一致性(Consistency)

在事務(wù)開(kāi)始之前和事務(wù)結(jié)束以后,數(shù)據(jù)庫(kù)的完整性沒(méi)有被破壞。這表示寫(xiě)入的資料必須完全符合所有的預(yù)設(shè)約束、觸發(fā)器、級(jí)聯(lián)回滾等。

③隔離性(Isolation)

數(shù)據(jù)庫(kù)允許多個(gè)并發(fā)事務(wù)同時(shí)對(duì)其數(shù)據(jù)進(jìn)行讀寫(xiě)和修改的能力,隔離性可以防止多個(gè)事務(wù)并發(fā)執(zhí)行時(shí)由于交叉執(zhí)行而導(dǎo)致數(shù)據(jù)的不一致。

事務(wù)隔離分為不同級(jí)別,包括未提交讀(Read uncommitted)、提交讀(read committed)、可重復(fù)讀(repeatable read)和串行化(Serializable)。

④持久性(Durability)

事務(wù)處理結(jié)束后,對(duì)數(shù)據(jù)的修改就是永久的,即便系統(tǒng)故障也不會(huì)丟失。

來(lái)源維基百科:

  1. https://zh.wikipedia.org/wiki/ACID 

事務(wù)(Transaction)

事務(wù)是進(jìn)程中最小的堆棧,不能分成更小的部分。

此外,某些事務(wù)處理組可以按順序執(zhí)行,但正如我們?cè)谠有栽瓌t中所解釋的那樣,即使其中一個(gè)事務(wù)失敗,所有事務(wù)塊也將失敗。

鎖定(Lock)

鎖定是一種確保數(shù)據(jù)一致性的機(jī)制。SQL Server 在事務(wù)啟動(dòng)時(shí)鎖定對(duì)象。事務(wù)完成后,SQL Server 將釋放鎖定的對(duì)象。可以根據(jù) SQL Server 進(jìn)程類(lèi)型和隔離級(jí)別更改此鎖定模式。

這些鎖定模式是:

①鎖定層次結(jié)構(gòu)

SQL Server 具有鎖定層次結(jié)構(gòu),用于獲取此層次結(jié)構(gòu)中的鎖定對(duì)象。數(shù)據(jù)庫(kù)位于層次結(jié)構(gòu)的頂部,行位于底部。

下圖說(shuō)明了 SQL Server 的鎖層次結(jié)構(gòu):


 

 

②共享(S)鎖(Shared (S) Locks)

當(dāng)需要讀取對(duì)象時(shí),會(huì)發(fā)生此鎖定類(lèi)型。這種鎖定類(lèi)型不會(huì)造成太大問(wèn)題。

③獨(dú)占(X)鎖定(Exclusive (X) Locks)

發(fā)生此鎖定類(lèi)型時(shí),會(huì)發(fā)生以防止其他事務(wù)修改或訪問(wèn)鎖定對(duì)象。

④更新(U)鎖(Update (U) Locks)

此鎖類(lèi)型與獨(dú)占鎖類(lèi)似,但它有一些差異。我們可以將更新操作劃分為不同的階段:讀取階段和寫(xiě)入階段。

在讀取階段,SQL Server 不希望其他事務(wù)有權(quán)訪問(wèn)此對(duì)象以進(jìn)行更改,因此,SQL Server 使用更新鎖。

⑤意圖鎖定(Intent Locks)

當(dāng) SQL Server 想要在鎖定層次結(jié)構(gòu)中較低的某些資源上獲取共享(S)鎖定或獨(dú)占(X)鎖定時(shí),會(huì)發(fā)生意圖鎖定。

實(shí)際上,當(dāng) SQL Server 獲取頁(yè)面或行上的鎖時(shí),表中需要設(shè)置意圖鎖。

SQL Server locking

了解了這些背景知識(shí)后,我們嘗試再 SQL Server 找到這些鎖。SQL Server 提供了許多動(dòng)態(tài)管理視圖來(lái)訪問(wèn)指標(biāo)。

要識(shí)別 SQL Server 鎖,我們可以使用 sys.dm_tran_locks 視圖。在此視圖中,我們可以找到有關(guān)當(dāng)前活動(dòng)鎖管理的大量信息。

在第一個(gè)示例中,我們將創(chuàng)建一個(gè)不包含任何索引的演示表,并嘗試更新此演示表:

  1. CREATE TABLE TestBlock 
  2. (Id INT , 
  3. Nm VARCHAR(100)) 
  4.  
  5. INSERT INTO TestBlock 
  6. values(1,'CodingSight'
  7. In this step, we will create an open transaction and analyze the locked resources. 
  8. BEGIN TRAN 
  9. UPDATE TestBlock SET   Nm='NewValue_CodingSight' where Id=1 
  10. select @@SPID 

 

再獲取到了 SPID 后,我們來(lái)看看 sys.dm_tran_lock 視圖里有什么:

  1. select * from sys.dm_tran_locks WHERE request_session_id=74 

 

此視圖返回有關(guān)活動(dòng)鎖資源的大量信息,但是是一些我們難以理解的一些數(shù)據(jù)。

因此,我們必須將 sys.dm_tran_locks join 一些其他表:

  1. SELECT dm_tran_locks.request_session_id, 
  2.        dm_tran_locks.resource_database_id, 
  3.        DB_NAME(dm_tran_locks.resource_database_id) AS dbname, 
  4.        CASE 
  5.            WHEN resource_type = 'OBJECT' 
  6.                THEN OBJECT_NAME(dm_tran_locks.resource_associated_entity_id) 
  7.            ELSE OBJECT_NAME(partitions.OBJECT_ID) 
  8.        END AS ObjectName, 
  9.        partitions.index_id, 
  10.        indexes.name AS index_name, 
  11.        dm_tran_locks.resource_type, 
  12.        dm_tran_locks.resource_description, 
  13.        dm_tran_locks.resource_associated_entity_id, 
  14.        dm_tran_locks.request_mode, 
  15.        dm_tran_locks.request_status 
  16. FROM sys.dm_tran_locks 
  17. LEFT JOIN sys.partitions ON partitions.hobt_id = dm_tran_locks.resource_associated_entity_id 
  18. LEFT JOIN sys.indexes ON indexes.OBJECT_ID = partitions.OBJECT_ID AND indexes.index_id = partitions.index_id 
  19. WHERE resource_associated_entity_id > 0 
  20.   AND resource_database_id = DB_ID() 
  21.  and request_session_id=74 
  22. ORDER BY request_session_id, resource_associated_entity_id 

 

在上圖中,您可以看到鎖定的資源。SQL Server 獲取該行中的獨(dú)占鎖。(RID:用于鎖定堆中單個(gè)行的行標(biāo)識(shí)符)同時(shí),SQL Server 獲取頁(yè)中的獨(dú)占鎖和 TestBlock 表意向鎖。

這意味著在 SQL Server 釋放鎖之前,任何其他進(jìn)程都無(wú)法讀取此資源,這是 SQL Server 中的基本鎖定機(jī)制。

現(xiàn)在,我們將在測(cè)試表上填充一些合成數(shù)據(jù):

  1. TRUNCATE TABLE       TestBlock 
  2. DECLARE @K AS INT=0 
  3. WHILE @K <8000 
  4. BEGIN 
  5. INSERT TestBlock VALUES(@K, CAST(@K AS varchar(10)) + ' Value' ) 
  6. SET @K=@K+1 
  7.  END 
  8. --After completing this step, we will run two queries and check the sys.dm_tran_locks view. 
  9. BEGIN TRAN 
  10.  UPDATE TestBlock  set Nm ='New_Value' where Id<5000 

 

 


在上面的查詢(xún)中,SQL Server 獲取每一行的獨(dú)占鎖。現(xiàn)在,我們將運(yùn)行另一個(gè)查詢(xún):

 

  1. BEGIN TRAN 
  2.  UPDATE TestBlock  set Nm ='New_Value' where Id<7000 

 

在上面的查詢(xún)中,SQL Server 在表上創(chuàng)建了獨(dú)占鎖,因?yàn)?SQL Server 嘗試為這些將要更新的行獲取大量 RID 鎖。

這種情況會(huì)導(dǎo)致數(shù)據(jù)庫(kù)引擎中的大量資源消耗,因此,SQL Server 會(huì)自動(dòng)將此獨(dú)占鎖定移動(dòng)到鎖定層次結(jié)構(gòu)中的上級(jí)對(duì)象(Table)。

我們將此機(jī)制定義為 Lock Escalation,這就是我開(kāi)篇所說(shuō)的鎖升級(jí),它由行鎖升級(jí)成了表鎖。

根據(jù)官方文檔的描述存在以下任一條件,則會(huì)觸發(fā)鎖定升級(jí):

  • 單個(gè) Transact-SQL 語(yǔ)句在單個(gè)非分區(qū)表或索引上獲取至少 5,000 個(gè)鎖。
  • 單個(gè) Transact-SQL 語(yǔ)句在分區(qū)表的單個(gè)分區(qū)上獲取至少 5,000 個(gè)鎖,并且 ALTER TABLE SET LOCK_ESCALATION 選項(xiàng)設(shè)置為 AUTO。
  • 數(shù)據(jù)庫(kù)引擎實(shí)例中的鎖數(shù)超過(guò)了內(nèi)存或配置閾值。

鏈接如下:

  1. https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms184286(v=sql.105) 

如何避免鎖升級(jí)

防止鎖升級(jí)的最簡(jiǎn)單,最安全的方法是保持事務(wù)的簡(jiǎn)短,并減少昂貴查詢(xún)的鎖占用空間,以便不超過(guò)鎖升級(jí)閾值,有幾種方法可以實(shí)現(xiàn)這一目標(biāo)。

①將大批量操作分解為幾個(gè)較小的操作

例如,在我開(kāi)篇所說(shuō)的在幾十億條數(shù)據(jù)中刪除小姐姐的數(shù)據(jù):

  1. delete from `后宮佳麗` where age>18 

我們可以不要這么心急,一次只刪除 500 個(gè),可以顯著減少每個(gè)事務(wù)累積的鎖定數(shù)量并防止鎖定升級(jí)。

例如:

  1. SET ROWCOUNT 500 
  2. delete_more: 
  3.      delete from `后宮佳麗` where age>18 
  4. IF @@ROWCOUNT > 0 GOTO delete_more 
  5. SET ROWCOUNT 0 

②創(chuàng)建索引使查詢(xún)盡可能高效來(lái)減少查詢(xún)的鎖定占用空間

如果沒(méi)有索引會(huì)造成表掃描可能會(huì)增加鎖定升級(jí)的可能性,更可怕的是,它增加了死鎖的可能性,并且通常會(huì)對(duì)并發(fā)性和性能產(chǎn)生負(fù)面影響。

根據(jù)查詢(xún)條件創(chuàng)建合適的索引,最大化提升索引查找的效率,此優(yōu)化的一個(gè)目標(biāo)是使索引查找返回盡可能少的行,以最小化查詢(xún)的的成本。

③如果其他 SPID 當(dāng)前持有不兼容的表鎖,則不會(huì)發(fā)生鎖升級(jí)

鎖定升級(jí)始總是升級(jí)成表鎖,而不會(huì)升級(jí)到頁(yè)面鎖定。

如果另一個(gè) SPID 持有與升級(jí)的表鎖沖突的 IX(intent exclusive)鎖定,則它會(huì)獲取更細(xì)粒度的級(jí)別(行,key 或頁(yè)面)鎖定,定期進(jìn)行額外的升級(jí)嘗試。

表級(jí)別的 IX(intent exclusive)鎖定不會(huì)鎖定任何行或頁(yè)面,但它仍然與升級(jí)的 S(共享)或 X(獨(dú)占)TAB 鎖定不兼容。

如下所示,如果有個(gè)操作始終在不到一小時(shí)內(nèi)完成,您可以創(chuàng)建包含以下代碼的 SQL,并安排在操作的前執(zhí)行:

BEGIN TRANSELECT * FROM mytable (UPDLOCK, HOLDLOCK) WHERE 1=0WAITFOR DELAY '1:00:00'COMMIT TRAN

此查詢(xún)?cè)?mytable 上獲取并保持 IX 鎖定一小時(shí),這可防止在此期間對(duì)表進(jìn)行鎖定升級(jí)。

Happy Ending

好了,不說(shuō)了,小姐姐們因?yàn)椴幌腚x我開(kāi)又打起來(lái)了(死鎖)。

[[344495]]

 

作者:阿宇

編輯:陶家龍

出處:https://www.cnblogs.com/CoderAyu/

責(zé)任編輯:武曉燕 來(lái)源: 博客園
相關(guān)推薦

2024-01-18 17:39:00

數(shù)據(jù)庫(kù)存儲(chǔ)索引

2019-10-21 10:01:58

Python素描技術(shù)

2012-06-18 09:29:38

2019-11-27 09:48:04

數(shù)據(jù)ESHBase

2018-09-11 17:13:23

MySQ數(shù)據(jù)庫(kù)重復(fù)記錄

2023-07-07 08:24:53

Python爬蟲(chóng)Flask

2021-10-05 21:03:54

BeautifulSo 爬蟲(chóng)

2018-02-05 15:52:06

硬盤(pán)故障損壞

2023-09-14 23:05:57

? ?MySQL數(shù)據(jù)庫(kù)

2023-09-13 14:52:11

MySQL數(shù)據(jù)庫(kù)

2023-12-05 13:49:00

AI模型

2022-02-23 14:21:20

Chrome插件瀏覽器

2023-09-05 08:40:57

刪除數(shù)據(jù)庫(kù)Oracle

2021-04-14 14:28:14

Python點(diǎn)攢抖音

2025-08-29 03:15:00

Python自動(dòng)化腳本

2022-11-22 17:15:55

高并發(fā)NameNode

2022-11-14 18:23:06

亞馬遜

2011-07-28 11:44:46

SQL Server數(shù)合并表格數(shù)據(jù)

2009-06-01 09:57:43

netbeans連接數(shù)netbeans數(shù)據(jù)庫(kù)netbeans連接m

2010-05-05 15:45:52

Oracle數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

精品久久久久久亚洲国产300 | 国产免费视频传媒| 国产午夜精品一区理论片| 麻豆一区二区三| 久99九色视频在线观看| 亚洲午夜久久久久久久久红桃| 福利一区和二区| 一区二区三区丝袜| 亚洲成人网上| 少妇高潮久久久| 美女国产一区二区| 午夜精品久久久久久久白皮肤| 俄罗斯毛片基地| 好吊妞视频这里有精品| 欧美日韩激情一区二区| 国产乱淫av片杨贵妃| 在线播放麻豆| av中文字幕一区| 成人中文字幕+乱码+中文字幕| 日本三级免费看| 97精品视频| 亚洲欧美三级在线| www国产视频| 国产一区二区在线观| 大桥未久av一区二区三区| 在线观看av的网址| 最新97超碰在线| 91热门视频在线观看| 亚洲xxx自由成熟| 在线视频欧美亚洲| 日韩黄色片在线观看| 国语自产精品视频在线看抢先版图片| 国产三级精品三级观看| 国产精品一区二区av交换| 欧美成人a∨高清免费观看| 中文字幕在线综合| 日韩电影免费观| 精品久久久久人成 | 久久不射网站| 国内揄拍国内精品少妇国语| 久久久久亚洲av成人片| 亚洲成人精选| 久久精品国产视频| 国产白丝一区二区三区| 国产一区二区三区91| 亚洲黄色av网站| 免费看毛片的网站| av自拍一区| 精品久久五月天| 永久免费看片在线观看| 精品视频一区二区三区在线观看| 欧美优质美女网站| 亚洲欧美在线精品| 精品国产美女a久久9999| 欧美亚洲日本国产| 亚洲高清免费在线观看| 99久久er| 欧美美女一区二区| 一区二区三区国产好的精华液| 国产精品亚洲成在人线| 欧美性猛交xxxx乱大交退制版| 国产精品欧美激情在线观看| 巨茎人妖videos另类| 色伊人久久综合中文字幕| 成人午夜视频免费在线观看| 欧美一级大片| 欧美日韩国产乱码电影| 加勒比av中文字幕| 国产精品色婷婷在线观看| 欧美一级黄色大片| www.四虎在线| 日韩大胆成人| 在线成人一区二区| 国语对白在线播放| 精品1区2区3区4区| 欧美资源在线观看| 久草热在线观看| 国产麻豆精品在线| 精品福利影视| 色综合成人av| 中文字幕成人av| 一级黄色片播放| 55av亚洲| 欧美三级欧美成人高清www| 天堂av在线网站| 成人豆花视频| 亚洲成色www8888| 中字幕一区二区三区乱码| 91欧美在线| 欧美精品电影免费在线观看| 69视频免费在线观看| 六月婷婷色综合| 岛国一区二区三区高清视频| 日本一区二区三区在线观看视频| 国产精品午夜春色av| 黄色特一级视频| 成人私拍视频| 日韩一区二区三区四区五区六区| 中文字幕一区二区三区人妻不卡| 亚洲成av人片乱码色午夜| 97超碰国产精品女人人人爽| 亚洲午夜激情视频| 不卡视频在线观看| 一本久道久久综合| 国产欧洲在线| 日韩欧美亚洲另类制服综合在线| 中文字幕一区二区三区人妻电影| 天天射天天综合网| 国产精品mp4| 黄色a在线观看| 国产精品久久久久一区| 青青艹视频在线| 精品一区二区三区视频在线播放| 精品调教chinesegay| 国产盗摄一区二区三区在线| 日韩经典中文字幕一区| 狠狠色噜噜狠狠色综合久| 麻豆视频在线观看免费| 日本乱人伦aⅴ精品| 精品无码人妻少妇久久久久久| 欧美高清视频手机在在线| 欧美主播福利视频| 色婷婷激情五月| 亚洲精品视频在线看| 欧美成年人视频在线观看| 日韩av三区| 久久久欧美一区二区| 性一交一乱一乱一视频| 国产精品毛片久久久久久| 欧美成人xxxxx| 久久av国产紧身裤| 欧美激情一级二级| 国产不卡精品视频| 亚洲免费观看高清完整版在线观看 | av电影在线观看一区二区三区| 精品毛片三在线观看| jjzz黄色片| 欧美伊人久久| 91免费国产网站| 米奇精品一区二区三区| 欧美日韩黄色一区二区| 亚洲色图 激情小说| 喷水一区二区三区| 台湾成人av| 91福利精品在线观看| 国产一区二区日韩精品欧美精品| xxxx.国产| av成人免费在线| 伊人成色综合网| 久久精品国产亚洲5555| 91地址最新发布| 视频国产在线观看| 色婷婷亚洲一区二区三区| 加勒比一区二区| 免费的国产精品| 一区二区精品在线| 国产一区二区高清在线| 欧美激情xxxx| 亚洲av毛片成人精品| 欧美日韩一区二区免费视频| 受虐m奴xxx在线观看| 久久精品日韩欧美| 亚洲精品永久www嫩草| 日本久久二区| 久久97精品久久久久久久不卡| 亚洲第一视频在线| 天天色综合成人网| 久操视频免费看| 日本一不卡视频| 成人性做爰片免费视频| 国产三级精品三级在线观看国产| 97色伦亚洲国产| 国产精品二线| 欧美精品第一页| 免费在线观看日韩| 久久亚洲一区二区三区明星换脸| 欧美性猛交久久久乱大交小说| 色777狠狠狠综合伊人| 91亚洲va在线va天堂va国| 91破解版在线观看| 国产一级揄自揄精品视频| 国产精品视频第一页| 亚洲成年人影院| 综合 欧美 亚洲日本| 国产高清不卡一区| 一本久道中文无码字幕av| 亚洲天堂免费| 欧美精品与人动性物交免费看| 粉嫩av一区二区三区四区五区| 欧美日本精品在线| 久久久久久久久亚洲精品| 91精品国产手机| 欧美另类一区二区| 亚洲日本va午夜在线影院| 欧美无人区码suv| 男女性色大片免费观看一区二区 | 欧美日韩国产综合一区二区三区 | av大大超碰在线| 日韩精品久久久久久久玫瑰园| 中文字幕黄色av| 香蕉乱码成人久久天堂爱免费| 久久中文字幕精品| 不卡一区二区三区四区| 欧美xxxxxbbbbb| 免费视频一区二区三区在线观看| 国产免费一区二区三区四在线播放| 日本福利一区| av蓝导航精品导航| 不卡亚洲精品| 欧美一级高清免费播放| gogo在线高清视频| 国产一区二区成人| 天天色综合av| 欧美tickling网站挠脚心| 影音先锋黄色网址| 色综合天天性综合| 国产精品第108页| 亚洲欧美日韩一区| 少妇精品无码一区二区免费视频| 国产99精品视频| 在线播放免费视频| 麻豆免费精品视频| 国产精品99久久免费黑人人妻| 在线电影一区| 大胆欧美熟妇xx| 亚洲字幕久久| 中文字幕欧美日韩一区二区| 成人av资源电影网站| 久久波多野结衣| 国产精品色在线网站| 99在线视频首页| 日韩08精品| 91在线色戒在线| 精品中文字幕一区二区三区| 国产精品永久在线| 日韩精品三区| 欧洲成人性视频| 女人让男人操自己视频在线观看| 欧美极品在线视频| 欧美78videosex性欧美| 久久国产视频网站| 自由的xxxx在线视频| 久久影视电视剧免费网站清宫辞电视| 3p视频在线观看| 自拍偷拍亚洲精品| √新版天堂资源在线资源| 中文字幕在线看视频国产欧美在线看完整 | 中文字幕九色91在线| 精品电影在线| 亚洲网站在线观看| 国产福利在线看| 这里只有精品视频| 香蕉视频网站在线观看| 日韩中文字幕精品| av观看在线| 久久久久中文字幕2018| 国产夫妻在线| 欧美一区二区视频97| 日韩精品三区| 成人有码视频在线播放| 日韩中文字幕在线一区| 国产精品12| 欧美**vk| 在线电影看在线一区二区三区| 久久久久久久久久久久久久| 成年丰满熟妇午夜免费视频| 亚洲黄网站黄| 国产欧美在线一区| 日韩电影在线看| 手机免费看av网站| 国产成人精品免费看| 天天插天天射天天干| 国产午夜精品久久久久久久| 人人干在线观看| 亚洲一区二区欧美日韩 | 欧美日韩中文另类| 国产绿帽一区二区三区| 亚洲第一视频网站| 国产日本在线视频| 久久99久久99精品中文字幕| 美女扒开腿让男人桶爽久久软| 国产精品扒开腿做爽爽爽男男| 四虎视频在线精品免费网址| 国产日韩二区| 日本一区二区三区视频| 成人一区二区av| 久久国产成人| 天天做天天干天天操| www.性欧美| 欧美性生交大片| 天天影视色香欲综合网老头| 中文字幕av久久爽| 欧美精品一区在线观看| 成人网视频在线观看| 欧美理论片在线观看| 黄色精品视频| 国产精品三区在线| 久久影院一区| 逼特逼视频在线| 国产一区999| a天堂中文字幕| 亚洲国产一区二区三区青草影视| 日本熟妇一区二区三区| 精品久久久久久久久久久久久久久| 国产玉足榨精视频在线观看| 久久久久久国产免费 | 国产精品毛片在线| 91精品国产三级| 亚洲国产精品成人综合 | 精品久久久三级| 亚洲第一偷拍| 日韩一级片播放| 99久久精品免费看国产免费软件| www.黄色com| 91福利视频久久久久| 后进极品白嫩翘臀在线视频| 久久九九热免费视频| 伊人久久高清| 久久久久久九九九九| 亚洲第一黄网| 熟妇女人妻丰满少妇中文字幕| 国产精品毛片大码女人| 91丝袜一区二区三区| 亚洲国产日韩一区| 欧美videosex性欧美黑吊| 亚洲自拍偷拍第一页| 婷婷亚洲五月| 成人黄色一级大片| 国产精品网站导航| 中文字幕在线观看视频免费| 日韩二区三区在线| 黄色软件视频在线观看| 精品国产乱码久久久久久蜜柚| 欧美午夜一区| 精品国产aⅴ一区二区三区东京热| ●精品国产综合乱码久久久久| 在线播放亚洲精品| 中文字幕综合一区| 欧美天堂一区| 操bbb操bbb| 国产精品一区久久久久| 97精品在线播放| 在线播放/欧美激情| 免费在线观看av| 91精品综合久久久久久五月天| 日韩精品诱惑一区?区三区| 最新中文字幕免费视频| 国产精品女同互慰在线看| 伊人久久中文字幕| 视频直播国产精品| 91国产精品| 精品无码av无码免费专区| 成人深夜在线观看| 国产成人精品片| 国产午夜精品理论片a级探花| 欧美电影网站| 亚洲一区二区三区色| 精品在线播放免费| 特级片在线观看| 亚洲国产精品热久久| 英国三级经典在线观看| 日韩欧美视频一区二区三区四区| 日本不卡一区二区三区| 日韩欧美国产成人精品免费| 日韩欧美黄色影院| 美女91在线看| 视频一区在线免费观看| 国产呦萝稀缺另类资源| 免费观看一级视频| 日韩精品在线电影| 99只有精品| 日本天堂免费a| 99久久99久久久精品齐齐| 波多野结衣在线观看一区| 久久精品这里热有精品| 国产欧美三级电影| wwww.国产| 亚洲午夜久久久久久久久久久| 青草久久伊人| 成人av色在线观看| 亚洲第一伊人| 欧美18—19性高清hd4k| 欧美一区二区三区视频免费| 国产在线88av| 成人短视频在线看| 99久久久无码国产精品| 一本到在线视频| 午夜精品在线观看| 久久香蕉国产| 欧美大片免费播放器| 5566中文字幕一区二区电影| 国产v日韩v欧美v| 一区二区在线观看网站| aaa国产一区| 国产视频在线观看免费| 欧美一区在线直播| 欧美在线资源| 黄色片网站免费| 日韩成人av在线| 国产高清日韩|