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

優(yōu)化SQL查詢:如何寫(xiě)出高性能SQL語(yǔ)句

數(shù)據(jù)庫(kù)
簡(jiǎn)化SQL語(yǔ)句的重要方法就是采用臨時(shí)表暫存中間結(jié)果,但是,臨時(shí)表的好處遠(yuǎn)遠(yuǎn)不止這些,將臨時(shí)結(jié)果暫存在臨時(shí)表,后面的查詢就在tempdb中了,這可以避免程序中多次掃描主表,也大大減少了程序執(zhí)行中“共享鎖”阻塞“更新鎖”,減少了阻塞,提高了并發(fā)性能。

[[196622]]

1、 首先要搞明白什么叫執(zhí)行計(jì)劃?

執(zhí)行計(jì)劃是數(shù)據(jù)庫(kù)根據(jù)SQL語(yǔ)句和相關(guān)表的統(tǒng)計(jì)信息作出的一個(gè)查詢方案,這個(gè)方案是由查詢優(yōu)化器自動(dòng)分析產(chǎn)生的,比如一條SQL語(yǔ)句如果用來(lái)從一個(gè) 10萬(wàn)條記錄的表中查1條記錄,那查詢優(yōu)化器會(huì)選擇“索引查找”方式,如果該表進(jìn)行了歸檔,當(dāng)前只剩下5000條記錄了,那查詢優(yōu)化器就會(huì)改變方案,采用 “全表掃描”方式。

可見(jiàn),執(zhí)行計(jì)劃并不是固定的,它是“個(gè)性化的”。產(chǎn)生一個(gè)正確的“執(zhí)行計(jì)劃”有兩點(diǎn)很重要:

(1) SQL語(yǔ)句是否清晰地告訴查詢優(yōu)化器它想干什么?

(2) 查詢優(yōu)化器得到的數(shù)據(jù)庫(kù)統(tǒng)計(jì)信息是否是***的、正確的?

2、 統(tǒng)一SQL語(yǔ)句的寫(xiě)法

對(duì)于以下兩句SQL語(yǔ)句,程序員認(rèn)為是相同的,數(shù)據(jù)庫(kù)查詢優(yōu)化器認(rèn)為是不同的。

  1. select*from dual 
  2.  
  3. select*From dual 

 

其實(shí)就是大小寫(xiě)不同,查詢分析器就認(rèn)為是兩句不同的SQL語(yǔ)句,必須進(jìn)行兩次解析。生成2個(gè)執(zhí)行計(jì)劃。所以作為程序員,應(yīng)該保證相同的查詢語(yǔ)句在任何地方都一致,多一個(gè)空格都不行!

3、 不要把SQL語(yǔ)句寫(xiě)得太復(fù)雜

我經(jīng)??吹?,從數(shù)據(jù)庫(kù)中捕捉到的一條SQL語(yǔ)句打印出來(lái)有2張A4紙這么長(zhǎng)。一般來(lái)說(shuō)這么復(fù)雜的語(yǔ)句通常都是有問(wèn)題的。我拿著這2頁(yè)長(zhǎng)的SQL語(yǔ)句去請(qǐng)教原作者,結(jié)果他說(shuō)時(shí)間太長(zhǎng),他一時(shí)也看不懂了??上攵?,連原作者都有可能看糊涂的SQL語(yǔ)句,數(shù)據(jù)庫(kù)也一樣會(huì)看糊涂。

一般,將一個(gè)Select語(yǔ)句的結(jié)果作為子集,然后從該子集中再進(jìn)行查詢,這種一層嵌套語(yǔ)句還是比較常見(jiàn)的,但是根據(jù)經(jīng)驗(yàn),超過(guò)3層嵌套,查詢優(yōu)化器就很容易給出錯(cuò)誤的執(zhí)行計(jì)劃。因?yàn)樗焕@暈了。像這種類(lèi)似人工智能的東西,終究比人的分辨力要差些,如果人都看暈了,我可以保證數(shù)據(jù)庫(kù)也會(huì)暈的。

另外,執(zhí)行計(jì)劃是可以被重用的,越簡(jiǎn)單的SQL語(yǔ)句被重用的可能性越高。而復(fù)雜的SQL語(yǔ)句只要有一個(gè)字符發(fā)生變化就必須重新解析,然后再把這一大堆垃圾塞在內(nèi)存里??上攵?,數(shù)據(jù)庫(kù)的效率會(huì)何等低下。

4、 使用“臨時(shí)表”暫存中間結(jié)果

簡(jiǎn)化SQL語(yǔ)句的重要方法就是采用臨時(shí)表暫存中間結(jié)果,但是,臨時(shí)表的好處遠(yuǎn)遠(yuǎn)不止這些,將臨時(shí)結(jié)果暫存在臨時(shí)表,后面的查詢就在tempdb中了,這可以避免程序中多次掃描主表,也大大減少了程序執(zhí)行中“共享鎖”阻塞“更新鎖”,減少了阻塞,提高了并發(fā)性能。

5、 OLTP系統(tǒng)SQL語(yǔ)句必須采用綁定變量

  1. select*from orderheader where changetime >'2010-10-20 00:00:01' 
  2.  
  3. select*from orderheader where changetime >'2010-09-22 00:00:01' 

 

以上兩句語(yǔ)句,查詢優(yōu)化器認(rèn)為是不同的SQL語(yǔ)句,需要解析兩次。如果采用綁定變量

  1. select*from orderheader where changetime >@chgtime 

@chgtime變量可以傳入任何值,這樣大量的類(lèi)似查詢可以重用該執(zhí)行計(jì)劃了,這可以大大降低數(shù)據(jù)庫(kù)解析SQL語(yǔ)句的負(fù)擔(dān)。一次解析,多次重用,是提高數(shù)據(jù)庫(kù)效率的原則。

6、 綁定變量窺測(cè)

事物都存在兩面性,綁定變量對(duì)大多數(shù)OLTP處理是適用的,但是也有例外。比如在where條件中的字段是“傾斜字段”的時(shí)候。

“傾斜字段”指該列中的絕大多數(shù)的值都是相同的,比如一張人口調(diào)查表,其中“民族”這列,90%以上都是漢族。那么如果一個(gè)SQL語(yǔ)句要查詢30歲的漢族人口有多少,那“民族”這列必然要被放在where條件中。這個(gè)時(shí)候如果采用綁定變量@nation會(huì)存在很大問(wèn)題。

試想如果@nation傳入的***個(gè)值是“漢族”,那整個(gè)執(zhí)行計(jì)劃必然會(huì)選擇表掃描。然后,第二個(gè)值傳入的是“布依族”,按理說(shuō)“布依族”占的比例可能只有萬(wàn)分之一,應(yīng)該采用索引查找。但是,由于重用了***次解析的“漢族”的那個(gè)執(zhí)行計(jì)劃,那么第二次也將采用表掃描方式。這個(gè)問(wèn)題就是著名的“綁定變量窺測(cè)”,建議對(duì)于“傾斜字段”不要采用綁定變量。

7、 只在必要的情況下才使用begin tran

SQL Server中一句SQL語(yǔ)句默認(rèn)就是一個(gè)事務(wù),在該語(yǔ)句執(zhí)行完成后也是默認(rèn)commit的。其實(shí),這就是begin tran的一個(gè)最小化的形式,好比在每句語(yǔ)句開(kāi)頭隱含了一個(gè)begin tran,結(jié)束時(shí)隱含了一個(gè)commit。

有些情況下,我們需要顯式聲明begin tran,比如做“插、刪、改”操作需要同時(shí)修改幾個(gè)表,要求要么幾個(gè)表都修改成功,要么都不成功。begin tran 可以起到這樣的作用,它可以把若干SQL語(yǔ)句套在一起執(zhí)行,***再一起commit。好處是保證了數(shù)據(jù)的一致性,但任何事情都不是***無(wú)缺的。Begin tran付出的代價(jià)是在提交之前,所有SQL語(yǔ)句鎖住的資源都不能釋放,直到commit掉。

可見(jiàn),如果Begin tran套住的SQL語(yǔ)句太多,那數(shù)據(jù)庫(kù)的性能就糟糕了。在該大事務(wù)提交之前,必然會(huì)阻塞別的語(yǔ)句,造成block很多。

Begin tran使用的原則是,在保證數(shù)據(jù)一致性的前提下,begin tran 套住的SQL語(yǔ)句越少越好!有些情況下可以采用觸發(fā)器同步數(shù)據(jù),不一定要用begin tran。

8、 一些SQL查詢語(yǔ)句應(yīng)加上nolock

在SQL語(yǔ)句中加nolock是提高SQL Server并發(fā)性能的重要手段,在oracle中并不需要這樣做,因?yàn)閛racle的結(jié)構(gòu)更為合理,有undo表空間保存“數(shù)據(jù)前影”,該數(shù)據(jù)如果在修改中還未commit,那么你讀到的是它修改之前的副本,該副本放在undo表空間中。這樣,oracle的讀、寫(xiě)可以做到互不影響,這也是oracle 廣受稱贊的地方。SQL Server 的讀、寫(xiě)是會(huì)相互阻塞的,為了提高并發(fā)性能,對(duì)于一些查詢,可以加上nolock,這樣讀的時(shí)候可以允許寫(xiě),但缺點(diǎn)是可能讀到未提交的臟數(shù)據(jù)。使用 nolock有3條原則。

(1) 查詢的結(jié)果用于“插、刪、改”的不能加nolock !

(2) 查詢的表屬于頻繁發(fā)生頁(yè)分裂的,慎用nolock !

(3) 使用臨時(shí)表一樣可以保存“數(shù)據(jù)前影”,起到類(lèi)似oracle的undo表空間的功能,

能采用臨時(shí)表提高并發(fā)性能的,不要用nolock 。

9、 聚集索引沒(méi)有建在表的順序字段上,該表容易發(fā)生頁(yè)分裂

比如訂單表,有訂單編號(hào)orderid,也有客戶編號(hào)contactid,那么聚集索引應(yīng)該加在哪個(gè)字段上呢?對(duì)于該表,訂單編號(hào)是順序添加的,如果在orderid上加聚集索引,新增的行都是添加在末尾,這樣不容易經(jīng)常產(chǎn)生頁(yè)分裂。然而,由于大多數(shù)查詢都是根據(jù)客戶編號(hào)來(lái)查的,因此,將聚集索引加在contactid上才有意義。而contactid對(duì)于訂單表而言,并非順序字段。

比如“張三”的“contactid”是001,那么“張三”的訂單信息必須都放在這張表的***個(gè)數(shù)據(jù)頁(yè)上,如果今天“張三”新下了一個(gè)訂單,那該訂單信息不能放在表的***一頁(yè),而是***頁(yè)!如果***頁(yè)放滿了呢?很抱歉,該表所有數(shù)據(jù)都要往后移動(dòng)為這條記錄騰地方。

SQL Server的索引和Oracle的索引是不同的,SQL Server的聚集索引實(shí)際上是對(duì)表按照聚集索引字段的順序進(jìn)行了排序,相當(dāng)于oracle的索引組織表。SQL Server的聚集索引就是表本身的一種組織形式,所以它的效率是非常高的。也正因?yàn)榇?,插入一條記錄,它的位置不是隨便放的,而是要按照順序放在該放的數(shù)據(jù)頁(yè),如果那個(gè)數(shù)據(jù)頁(yè)沒(méi)有空間了,就引起了頁(yè)分裂。所以很顯然,聚集索引沒(méi)有建在表的順序字段上,該表容易發(fā)生頁(yè)分裂。

曾經(jīng)碰到過(guò)一個(gè)情況,一位哥們的某張表重建索引后,插入的效率大幅下降了。估計(jì)情況大概是這樣的。該表的聚集索引可能沒(méi)有建在表的順序字段上,該表經(jīng)常被歸檔,所以該表的數(shù)據(jù)是以一種稀疏狀態(tài)存在的。比如張三下過(guò)20張訂單,而最近3個(gè)月的訂單只有5張,歸檔策略是保留3個(gè)月數(shù)據(jù),那么張三過(guò)去的 15張訂單已經(jīng)被歸檔,留下15個(gè)空位,可以在insert發(fā)生時(shí)重新被利用。在這種情況下由于有空位可以利用,就不會(huì)發(fā)生頁(yè)分裂。但是查詢性能會(huì)比較低,因?yàn)椴樵儠r(shí)必須掃描那些沒(méi)有數(shù)據(jù)的空位。

重建聚集索引后情況改變了,因?yàn)橹亟ň奂饕褪前驯碇械臄?shù)據(jù)重新排列一遍,原來(lái)的空位沒(méi)有了,而頁(yè)的填充率又很高,插入數(shù)據(jù)經(jīng)常要發(fā)生頁(yè)分裂,所以性能大幅下降。

對(duì)于聚集索引沒(méi)有建在順序字段上的表,是否要給與比較低的頁(yè)填充率?是否要避免重建聚集索引?是一個(gè)值得考慮的問(wèn)題!

10、加nolock后查詢經(jīng)常發(fā)生頁(yè)分裂的表,容易產(chǎn)生跳讀或重復(fù)讀

加nolock后可以在“插、刪、改”的同時(shí)進(jìn)行查詢,但是由于同時(shí)發(fā)生“插、刪、改”,在某些情況下,一旦該數(shù)據(jù)頁(yè)滿了,那么頁(yè)分裂不可避免,而此時(shí)nolock的查詢正在發(fā)生,比如在第100頁(yè)已經(jīng)讀過(guò)的記錄,可能會(huì)因?yàn)轫?yè)分裂而分到第101頁(yè),這有可能使得nolock查詢?cè)谧x101頁(yè)時(shí)重復(fù)讀到該條數(shù)據(jù),產(chǎn)生“重復(fù)讀”。同理,如果在100頁(yè)上的數(shù)據(jù)還沒(méi)被讀到就分到99頁(yè)去了,那nolock查詢有可能會(huì)漏過(guò)該記錄,產(chǎn)生“跳讀”。

上面提到的哥們,在加了nolock后一些操作出現(xiàn)報(bào)錯(cuò),估計(jì)有可能因?yàn)閚olock查詢產(chǎn)生了重復(fù)讀,2條相同的記錄去插入別的表,當(dāng)然會(huì)發(fā)生主鍵沖突。

11、使用like進(jìn)行模糊查詢時(shí)應(yīng)注意

有的時(shí)候會(huì)需要進(jìn)行一些模糊查詢比如

  1. select*from contact where username like ‘%yue%’ 

關(guān)鍵詞%yue%,由于yue前面用到了“%”,因此該查詢必然走全表掃描,除非必要,否則不要在關(guān)鍵詞前加%,

12、數(shù)據(jù)類(lèi)型的隱式轉(zhuǎn)換對(duì)查詢效率的影響

sql server2000的數(shù)據(jù)庫(kù),我們的程序在提交sql語(yǔ)句的時(shí)候,沒(méi)有使用強(qiáng)類(lèi)型提交這個(gè)字段的值,由sql server 2000自動(dòng)轉(zhuǎn)換數(shù)據(jù)類(lèi)型,會(huì)導(dǎo)致傳入的參數(shù)與主鍵字段類(lèi)型不一致,這個(gè)時(shí)候sql server 2000可能就會(huì)使用全表掃描。Sql2005上沒(méi)有發(fā)現(xiàn)這種問(wèn)題,但是還是應(yīng)該注意一下。

13、SQL Server 表連接的三種方式

(1) Merge Join

(2) Nested Loop Join

(3) Hash Join

SQL Server 2000只有一種join方式——Nested Loop Join,如果A結(jié)果集較小,那就默認(rèn)作為外表,A中每條記錄都要去B中掃描一遍,實(shí)際掃過(guò)的行數(shù)相當(dāng)于A結(jié)果集行數(shù)x B結(jié)果集行數(shù)。所以如果兩個(gè)結(jié)果集都很大,那Join的結(jié)果很糟糕。

SQL Server 2005新增了Merge Join,如果A表和B表的連接字段正好是聚集索引所在字段,那么表的順序已經(jīng)排好,只要兩邊拼上去就行了,這種join的開(kāi)銷(xiāo)相當(dāng)于A表的結(jié)果集行數(shù)加上B表的結(jié)果集行數(shù),一個(gè)是加,一個(gè)是乘,可見(jiàn)merge join 的效果要比Nested Loop Join好多了。

如果連接的字段上沒(méi)有索引,那SQL2000的效率是相當(dāng)?shù)偷?,而SQL2005提供了Hash join,相當(dāng)于臨時(shí)給A,B表的結(jié)果集加上索引,因此SQL2005的效率比SQL2000有很大提高,我認(rèn)為,這是一個(gè)重要的原因。

總結(jié)一下,在表連接時(shí)要注意以下幾點(diǎn):

(1) 連接字段盡量選擇聚集索引所在的字段

(2) 仔細(xì)考慮where條件,盡量減小A、B表的結(jié)果集

(3) 如果很多join的連接字段都缺少索引,而你還在用SQL Server 2000,趕緊升級(jí)吧。 

責(zé)任編輯:龐桂玉 來(lái)源: 數(shù)據(jù)庫(kù)開(kāi)發(fā)
相關(guān)推薦

2016-12-15 09:58:26

優(yōu)化SQL高性能

2011-02-13 10:12:24

SQL語(yǔ)句

2011-08-29 16:05:07

高性能SQL語(yǔ)句SQL Server

2017-03-15 13:41:16

數(shù)據(jù)庫(kù)SQL調(diào)試

2022-10-24 08:10:21

SQL代碼業(yè)務(wù)

2025-05-12 08:27:25

2023-09-25 13:15:50

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

2018-09-20 11:54:31

數(shù)據(jù)庫(kù)MySQL性能優(yōu)化

2018-07-12 14:20:33

SQLSQL查詢編寫(xiě)

2009-04-28 09:38:53

SQL優(yōu)化物理查詢

2017-05-26 09:50:19

PythonGIL線程安全

2018-03-30 14:30:10

數(shù)據(jù)庫(kù)SQL語(yǔ)句性能優(yōu)化

2018-03-30 13:59:22

數(shù)據(jù)庫(kù)SQL語(yǔ)句性能優(yōu)化

2011-03-31 11:14:51

Sql語(yǔ)句優(yōu)化

2022-02-07 19:17:56

SQL系統(tǒng)MySQL

2017-09-07 16:20:39

SQL查詢語(yǔ)句查詢優(yōu)化

2019-12-17 10:16:34

MySQLSQL優(yōu)化數(shù)據(jù)庫(kù)

2018-03-29 19:45:47

數(shù)據(jù)庫(kù)MySQL查詢優(yōu)化

2013-09-26 14:11:23

SQL性能優(yōu)化

2016-10-21 16:05:44

SQLSQL SERVER技巧
點(diǎn)贊
收藏

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

日韩高清中文字幕| 国产69精品久久99不卡| 亚洲天堂开心观看| 日本激情综合网| 成人在线app| 波多野洁衣一区| 国产成+人+综合+亚洲欧洲| 337人体粉嫩噜噜噜| 国产精品久久久久久av公交车| 亚洲曰韩产成在线| 欧美日韩精品不卡| 国产免费叼嘿网站免费| 99精品国产在热久久| 中文字幕亚洲综合| 国产午夜在线一区二区三区| 制服诱惑亚洲| 亚洲午夜在线观看视频在线| 色狠狠久久av五月综合| 亚洲精品无码专区| 秋霞国产午夜精品免费视频| 久久男人资源视频| 性色国产成人久久久精品| 国产成人澳门| 欧美日韩另类国产亚洲欧美一级| 成人免费观看cn| 色哟哟免费在线观看| 91最新地址在线播放| 91精品视频播放| 无码人妻精品一区二区50| 国语精品一区| 久久黄色av网站| 在线观看日本中文字幕| 成人黄色av网址| 7878成人国产在线观看| 五月婷婷深爱五月| rebdb初裸写真在线观看| 一区二区中文字幕在线| 日韩精品久久一区二区三区| 欧美视频一二区| 激情综合色丁香一区二区| 国产成人jvid在线播放| 日干夜干天天干| 国内精品嫩模av私拍在线观看| 久久久国产在线视频| 成人在线手机视频| 免费一区二区| 亚洲精品永久免费| 精品无码在线视频| 日韩极品少妇| 亚洲成人久久一区| 91精品啪在线观看国产| 亚洲视频精选| 精品三级在线看| 丰满人妻一区二区三区大胸| 国产精品高清一区二区 | 久草视频免费在线播放| 婷婷亚洲综合| 日韩在线观看免费高清| 性色国产成人久久久精品| 成人情趣视频网站| 亚洲日韩中文字幕| av电影网站在线观看| 国产成人黄色| 中文字幕日韩免费视频| 少妇一级黄色片| 国产精品成人av| 久久夜色精品国产| 欧美黄色一区二区三区| 狠狠干成人综合网| 国产91|九色| 高潮毛片又色又爽免费| 秋霞电影网一区二区| 国产日韩欧美视频| 国产精品欧美综合亚洲| 国产福利视频一区二区三区| 96sao精品视频在线观看| av一区二区三| 99国产欧美另类久久久精品| 女人一区二区三区| av亚洲在线| 亚洲欧美福利一区二区| 福利在线一区二区| 亚洲永久av| 欧美剧在线免费观看网站| 精产国品一二三区| 欧美一级色片| www.亚洲人.com| 久久精品视频6| 玖玖国产精品视频| 91在线色戒在线| 婷婷色在线视频| 国产精品美女久久久久久2018 | 亚洲国产午夜| 国产99久久精品一区二区永久免费| 中文字幕有码视频| 大陆成人av片| 神马一区二区影院| 午夜av在线播放| 色国产精品一区在线观看| 国产精品嫩草影院8vv8| 久久a爱视频| www.亚洲成人| 亚洲乱码国产乱码精品| 国产精品资源在线| 色姑娘综合av| 免费毛片b在线观看| 欧美精品久久一区二区三区| avtt香蕉久久| 在线中文一区| 国产精品久久久久久av福利软件| 亚洲国产欧美另类| 国产精品拍天天在线| 国产精品12345| 91精品在线免费视频| 日韩精品中文字幕在线播放| 婷婷色中文字幕| 欧美aⅴ一区二区三区视频| eeuss一区二区三区| 大片免费播放在线视频| 天天影视色香欲综合网老头| 中文字幕剧情在线观看| 成人免费看片39| 欧美一二三视频| www.成人精品| 综合久久综合久久| 北条麻妃在线视频| 四虎5151久久欧美毛片| 欧美高清在线观看| 国产普通话bbwbbwbbw| 亚洲国产精品精华液ab| 欧美三级午夜理伦三级| 加勒比视频一区| 欧美第一页在线| 国产乱色精品成人免费视频| 亚洲国产精品t66y| 日韩精品一区二区三区不卡| 色婷婷av一区二区三区丝袜美腿| 欧美激情一区二区三级高清视频| 国产又粗又大又爽| 国产精品久久久久久久久免费樱桃| 日本在线观看a| 香蕉视频一区二区三区| 91成人福利在线| 婷婷在线免费视频| 亚洲天天做日日做天天谢日日欢 | 中文字幕久久综合| 久久精品国产福利| 中文字幕日韩av电影| www.五月婷婷.com| 国产丝袜在线精品| 日韩在线第三页| 欧美日韩性在线观看| 欧美一区视频在线| 你懂的视频在线播放| 欧美日韩中文字幕在线视频| 欧洲一级黄色片| 亚洲一区二区三区四区五区午夜| 精品999在线观看| 色老头在线一区二区三区| 亚洲国产欧美一区| 国产suv精品一区二区33| 久久精品一级爱片| 最新中文字幕2018| 希岛爱理av一区二区三区| 亚洲999一在线观看www| 好吊日av在线| 精品亚洲男同gayvideo网站 | 亚洲男同gay网站| 亚洲第一精品夜夜躁人人躁| 国产精品黄色网| 久久婷婷成人综合色| 精品久久久噜噜噜噜久久图片| 成人黄色av| 亚洲xxxx18| 午夜裸体女人视频网站在线观看| 亚洲欧洲日产国码av系列天堂| 一区二区乱子伦在线播放| 中文字幕在线不卡| 91视频在线免费| 三级久久三级久久久| 一区二区冒白浆视频| 日本亚洲视频| 国产成人精品视| 黄色网在线播放| 亚洲激情视频在线观看| 嫩草影院一区二区三区| 一区二区三区四区不卡在线 | 国产精品爽爽久久久久久| 亚洲在线中文字幕| 丁香激情五月少妇| 国产精品影视天天线| 免费在线观看亚洲视频| 欧美激情理论| 精品一区二区三区视频日产| 国产极品一区| 国语自产精品视频在线看一大j8| 女人偷人在线视频| 欧美一级欧美三级在线观看| 亚洲午夜18毛片在线看| 中文字幕中文字幕中文字幕亚洲无线| www.美色吧.com| 日本va欧美va精品| 久久国产精品网| 外国成人免费视频| 欧美一区观看| 国产成人精品亚洲线观看| 国产精品一区二区性色av| av影院在线免费观看| 日韩在线观看免费高清| 精品亚洲综合| 亚洲福利视频免费观看| 国产伦精品一区二区三区免.费| 精品露脸国产偷人在视频| 永久免费看片直接| 久久精品视频网| 人妻体内射精一区二区三区| 韩国理伦片一区二区三区在线播放| 国产美女网站在线观看| 久久久久久久久久久久久久| 日韩国产在线一区| 美国十次av导航亚洲入口| 亚洲中国色老太| 99riav视频一区二区| 98视频在线噜噜噜国产| 伊人电影在线观看| zzjj国产精品一区二区| 国产高清在线看| 亚洲女人被黑人巨大进入| 理论片中文字幕| 欧美成人女星排行榜| 夜夜嗨aⅴ一区二区三区| 在线视频你懂得一区| 久久精品欧美一区二区| 一区二区成人在线| 欧美日韩在线国产| 中文字幕在线不卡| 四虎永久免费地址| 国产精品嫩草久久久久| 中文字幕在线观看免费高清| 久久久午夜电影| 蜜桃传媒一区二区亚洲av | 国产精品18毛片一区二区| 国产高清精品二区| 国产欧美日韩中文字幕在线| 国产一区二区精品调教| 国产精品第一视频| 忘忧草在线www成人影院| 国产成人精品久久二区二区91 | 一道本成人在线| 在线观看日韩中文字幕| 精品久久久久久久大神国产| 国产一级做a爱片久久毛片a| 精品成人在线视频| 在线观看黄网站| 一本久道中文字幕精品亚洲嫩| 免费av网站在线| 色婷婷精品久久二区二区蜜臀av| 亚洲不卡视频在线观看| 色老汉av一区二区三区| 欧美性受xxx黑人xyx性爽| 欧美视频精品在线观看| 91资源在线视频| 日韩欧美一区二区三区在线| 亚洲精品视频91| 精品视频www| 高清av电影在线观看| 精品久久久91| hd国产人妖ts另类视频| 欧洲一区二区视频| www.精品国产| 亚洲最大av网| 牛牛影视久久网| 香蕉久久免费影视| 国产精品久久久久无码av| 2022中文字幕| 亚洲欧美日韩视频二区| the porn av| 国产黄色精品网站| 国产精品无码在线| 中文字幕国产精品一区二区| 婷婷在线精品视频| 婷婷综合在线观看| 中文字幕二区三区| 日韩欧美二区三区| 毛片在线免费| 欧美成年人视频网站| 美女91在线看| 国产欧美久久一区二区| 97视频一区| 亚洲国产一区二区三区在线| 欧美三级不卡| 激情内射人妻1区2区3区 | 色网站国产精品| 国产精品怡红院| 日韩不卡在线观看| 免费高清在线观看| 97香蕉超级碰碰久久免费的优势| 99欧美精品| 久久99精品久久久久久青青日本| 日韩dvd碟片| 欧美亚洲国产成人| 国产美女在线观看一区| 日本激情小视频| 一区二区三区四区亚洲| 中文字幕第315页| 精品亚洲男同gayvideo网站| 新版中文在线官网| 国产精品xxxxx| 久久香蕉网站| 亚洲美女自拍偷拍| 久久久精品性| 日本人妻一区二区三区| 国产精品青草久久| 欧美一级淫片免费视频黄| 欧美一卡2卡三卡4卡5免费| 国产在线一二三区| 性欧美办公室18xxxxhd| www999久久| 亚洲乱码一区二区三区 | 欧美一级在线播放| 天堂久久av| 樱花www成人免费视频| 久久一区激情| 变态另类丨国产精品| 亚洲尤物在线视频观看| 99精品在线看| 色老头一区二区三区| 欧美xx视频| 国产精品一区视频网站| 综合久久一区| 亚洲综合在线一区二区| 国产精品久久久久久久蜜臀| 波多野结衣在线电影| 日韩久久午夜影院| 爱啪啪综合导航| 国产日韩欧美精品| 韩日视频一区| 人妻换人妻仑乱| 亚洲人精品一区| 国产美女裸体无遮挡免费视频| www.亚洲一区| 国产精品xnxxcom| 2021国产视频| 国产成人自拍在线| 久久久一二三区| 欧美成人乱码一区二区三区| 日本在线视频中文有码| av噜噜色噜噜久久| 欧美久久九九| 娇妻高潮浓精白浆xxⅹ| 亚洲一级片在线观看| 欧美一级一区二区三区| 久久人91精品久久久久久不卡| 18国产精品| 国产极品尤物在线| 久久亚洲精华国产精华液 | 7777精品伊人久久久大香线蕉完整版| 老司机精品影院| 97se国产在线视频| 精品999日本| 黄色性生活一级片| 一本一道综合狠狠老| 超碰国产在线观看| 成人性生交大片免费看视频直播 | 色狼人综合干| 男女啪啪网站视频| 一区精品在线播放| 午夜精品久久久久久久99| 欧美劲爆第一页| 色狠狠久久av综合| 午夜激情av在线| 一区二区三区四区乱视频| 女人18毛片水真多18精品| 欧美中文字幕视频| 久久婷婷蜜乳一本欲蜜臀| 人妻巨大乳一二三区| 欧美日韩国产中字| 2019中文字幕在线视频| 99视频国产精品免费观看| 亚洲欧美日韩国产一区| 国产极品视频在线观看| 日韩三级视频在线看| 日本乱码一区二区三区不卡| 色一情一乱一伦一区二区三区丨| 韩国成人福利片在线播放| 日韩av在线电影| 中文字幕久热精品视频在线| 国产视频网站一区二区三区| 国产精品久久中文字幕| 欧美激情一区二区三区| 亚洲精选一区二区三区| 国产成人精品在线观看| 牛夜精品久久久久久久99黑人| 久久午夜夜伦鲁鲁片| 欧美日韩aaa| 日本不卡1234视频| 妞干网这里只有精品| 久久亚洲春色中文字幕久久久| 97国产精品久久久| 91av在线播放视频|