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

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

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

[[178973]]

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

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

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

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

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

2、 統(tǒng)一SQL語句的寫法

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

select*from dual

select*From dual

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

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

我經(jīng)常看到,從數(shù)據(jù)庫中捕捉到的一條SQL語句打印出來有2張A4紙這么長。一般來說這么復(fù)雜的語句通常都是有問題的。我拿著這2頁長的SQL語句去請教原作者,結(jié)果他說時間太長,他一時也看不懂了。可想而知,連原作者都有可能看糊涂的SQL語句,數(shù)據(jù)庫也一樣會看糊涂。

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

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

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

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

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

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

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

select*from orderheader where changetime >@chgtime

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

6、 綁定變量窺測

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

重建聚集索引后情況改變了,因為重建聚集索引就是把表中的數(shù)據(jù)重新排列一遍,原來的空位沒有了,而頁的填充率又很高,插入數(shù)據(jù)經(jīng)常要發(fā)生頁分裂,所以性能大幅下降。

對于聚集索引沒有建在順序字段上的表,是否要給與比較低的頁填充率?是否要避免重建聚集索引?是一個值得考慮的問題!

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

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

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

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

有的時候會需要進行一些模糊查詢比如

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

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

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

sql server2000的數(shù)據(jù)庫,我們的程序在提交sql語句的時候,沒有使用強類型提交這個字段的值,由sql server 2000自動轉(zhuǎn)換數(shù)據(jù)類型,會導(dǎo)致傳入的參數(shù)與主鍵字段類型不一致,這個時候sql server 2000可能就會使用全表掃描。Sql2005上沒有發(fā)現(xià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ù)相當(dāng)于A結(jié)果集行數(shù)x B結(jié)果集行數(shù)。所以如果兩個結(jié)果集都很大,那Join的結(jié)果很糟糕。

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

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

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

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

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

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

責(zé)任編輯:張燕妮 來源: 一棵樹
相關(guān)推薦

2017-07-12 13:04:23

數(shù)據(jù)庫SQL查詢執(zhí)行計劃

2011-02-13 10:12:24

SQL語句

2011-08-29 16:05:07

高性能SQL語句SQL Server

2017-03-15 13:41:16

數(shù)據(jù)庫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ù)庫

2018-09-20 11:54:31

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

2018-07-12 14:20:33

SQLSQL查詢編寫

2009-04-28 09:38:53

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

2017-05-26 09:50:19

PythonGIL線程安全

2018-03-30 14:30:10

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

2018-03-30 13:59:22

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

2011-03-31 11:14:51

Sql語句優(yōu)化

2022-02-07 19:17:56

SQL系統(tǒng)MySQL

2017-09-07 16:20:39

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

2019-12-17 10:16:34

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

2018-03-29 19:45:47

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

2013-09-26 14:11:23

SQL性能優(yōu)化

2016-10-21 16:05:44

SQLSQL SERVER技巧
點贊
收藏

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

黄色一级视频免费看| 日本一区二区动态图| 亚洲影院免费观看| 欧美系列一区二区| 大波视频国产精品久久| 少妇太紧太爽又黄又硬又爽小说| 黄网av在线| 欧美亚洲国产激情| 香蕉av福利精品导航| 成人免费自拍视频| 国产精品亚洲无码| 嗯啊主人调教在线播放视频| 国产一区二区三区久久久| 亚洲色图美腿丝袜| 国产一区二区网| av网站在线免费看| 国产精品成人av| 欧美亚洲图片小说| 欧美极品少妇无套实战| 国产欧美日韩综合精品一区二区三区| 欧美日韩在线播放视频| 一本久久a久久免费精品不卡| 国产精品日韩二区| 国产在线拍揄自揄拍| 日韩中文字幕在线一区| 亚洲品质自拍视频| 亚洲va久久久噜噜噜| 黑人操日本美女| 国产高清亚洲| 亚洲男人的天堂一区二区| 91网在线免费观看| 免费一级片在线观看| 欧美午夜网站| 亚洲在线免费播放| 亚洲欧洲精品一区二区| 中文字幕在线视频免费| jvid福利在线一区二区| 亚洲第一国产精品| 欧美日韩中文在线视频| 毛片免费在线播放| 青青草国产成人av片免费| 在线性视频日韩欧美| 狠狠干狠狠操视频| av香蕉成人| 国产成人午夜99999| 久久久久久久久久久国产| 久久久久9999| 国产亚洲精彩久久| 一区二区三区在线观看网站| 韩国一区二区三区美女美女秀| 亚洲精品男人的天堂| 成人羞羞在线观看网站| 日韩精品欧美激情| 777视频在线| 欧美理论电影| 久久免费看少妇高潮| 国产欧美在线播放| 国产1区2区3区4区| 日韩在线影视| 欧美久久一区二区| 免费av手机在线观看| 欧美xxx黑人xxx水蜜桃| 洋洋av久久久久久久一区| 男女啪啪免费观看| 日本中文字幕电影在线观看| 久久9热精品视频| 久久久影视精品| 日本一卡二卡在线播放| 在线视频亚洲欧美中文| 在线观看日韩电影| 国产精品自拍合集| 毛片大全在线观看| 午夜精品久久一牛影视| 男女啪啪免费视频网站| 日本免费中文字幕在线| av中文字幕一区| 国产日韩欧美日韩大片| 国产精品九九九九| 久久av一区| 久久99国产精品自在自在app| 9.1成人看片免费版| 国产精品麻豆| 日韩欧美亚洲国产另类| 天天综合网日韩| 少妇视频一区| 天堂av在线免费| 香港欧美日韩三级黄色一级电影网站| 精品国产欧美一区二区| 无码人妻精品一区二区三区66| 51xtv成人影院| 中文在线一区二区| 亚洲精品中文综合第一页| 免费av网站在线看| 国产日产欧美精品一区二区三区| 春色成人在线视频| 深夜福利视频一区| 中文字幕在线一区| 五月天亚洲综合情| 麻豆国产在线播放| 中文字幕一区二区三区不卡 | 欧美第一黄色网| 国产亚洲精品熟女国产成人| 欧美尿孔扩张虐视频| 欧美成人精精品一区二区频| 成人亚洲免费视频| 国产第一亚洲| 在线视频国产一区| 日本黄色一级网站| 欧洲精品99毛片免费高清观看| 亚洲国产成人精品电影| 香蕉成人在线视频| 国产成人久久久久| 久久精品福利| 亚洲成色999久久网站| 精品欧美一区二区久久久| 亚洲精品a级片| 欧美在线中文字幕| 在线能看的av| 国产一区二区中文字幕| 鲁丝片一区二区三区| 偷拍自拍在线| 91麻豆精品秘密| 欧美国产一二三区| 你懂的在线视频| 亚洲综合在线五月| 色综合五月婷婷| 欧美视频三区| 中文字幕在线国产精品| 成人午夜视频在线播放| 国产成人自拍在线| 日本免费在线视频观看| 成人免费网址| 欧美色手机在线观看| 亚洲第一色av| 日韩精品不卡一区二区| 精品国产视频在线| 欧美黑吊大战白妞| 久久精品国产精品青草| av免费精品一区二区三区| 日本高清视频免费看| 久久综合狠狠综合久久激情 | 色综合久久九月婷婷色综合| 成人欧美精品一区二区| 国产精品45p| 亚洲欧洲偷拍精品| 日本一区二区免费在线观看| 另类激情亚洲| 久久久久无码国产精品一区| www亚洲人| 亚洲一区二区美女| 国模大尺度视频| 精品影片在线观看的网站| 中文字幕一区二区三区电影| 精品久久久久久久久久久国产字幕| 99久久精品国产精品久久| 亚洲精品欧美精品| 精品日韩视频| 日韩久久久精品| 放荡的美妇在线播放| 国产精品亚洲第一区在线暖暖韩国| 久久久久高清| 日本蜜桃在线观看视频| 精品在线观看国产| 欧美xxxx黑人xyx性爽| 国产精品中文字幕一区二区三区| japanese在线视频| 精品国模一区二区三区欧美| 欧美黑人国产人伦爽爽爽| 日本精品久久久久久| 偷拍与自拍一区| 一区二区三区国产好的精华液| 亚洲a一区二区三区| 91嫩草免费看| 亚洲s色大片| 欧美久久久久中文字幕| 亚洲色婷婷一区二区三区| 成人av一区二区三区| 日韩第一页在线观看| 国产精品亚洲一区二区在线观看 | 日韩深夜视频| 中文字幕av一区二区三区谷原希美| 最近中文字幕av| proumb性欧美在线观看| 情侣黄网站免费看| 色天天综合网| 国产日韩欧美综合精品| 免费人成在线观看播放视频| 欧美一级欧美一级在线播放| 欧美a在线播放| 国产美女娇喘av呻吟久久| 欧美视频免费看欧美视频| 国产精品三级| 欧美一级大片视频| 秋霞网一区二区| 91国产免费看| 女人又爽又黄免费女仆| 精品一区二区三区在线播放视频| 精品无码国模私拍视频| 色一区二区三区四区| 国产综合 伊人色| 台湾天天综合人成在线| 在线精品国产欧美| 亚洲av无码精品一区二区| 亚洲三级视频在线观看| 国产又粗又猛又色| 激情都市一区二区| 中文字幕中文字幕在线中一区高清 | 久久综合九色综合97婷婷女人| 亚洲精品国产久| 日韩中文字幕麻豆| 欧美国产视频在线观看| 国产日本亚洲| 国产精品第1页| 成人午夜影视| 337p日本欧洲亚洲大胆精品| 一区二区视频网| 欧美日韩亚洲激情| 人妻大战黑人白浆狂泄| 国产高清成人在线| 亚洲这里只有精品| 久久精品1区| 青青青青草视频| 欧美国产先锋| 国产精品亚洲综合| 日韩免费在线电影| 日韩av成人在线观看| 国产鲁鲁视频在线观看免费| 欧美午夜精品一区二区蜜桃 | 欧美亚洲综合另类| 国产又色又爽又黄的| 91视频在线观看免费| 久草福利在线观看| 精品一区二区三区免费观看| www.xxx亚洲| 日韩精品午夜视频| 成人小视频在线看| 另类天堂av| 国产一级不卡毛片| 三级影片在线观看欧美日韩一区二区| 亚洲国产日韩综合一区| 久操国产精品| 久久国产精品一区二区三区| 国产一级成人av| 国产精品国产精品| 91国内精品| 国产91精品入口17c| 6080成人| 国产精品视频免费观看| 国产精品15p| 国产无套精品一区二区| 久久久久久久久久久久久久久久久久久久 | 亚洲天堂免费观看| 日韩欧美在线观看免费| 亚洲欧洲日韩在线| 88av在线播放| 久久国产夜色精品鲁鲁99| 五月婷婷六月丁香激情| 麻豆一区二区在线| 久久久久久久久久久久久久久国产| 精品一区二区三区欧美| 4438x全国最大成人| 成人动漫一区二区在线| 精品黑人一区二区三区观看时间| 久久精品久久99精品久久| 欧美日韩午夜爽爽| 羞羞答答成人影院www| 天堂v在线视频| 欧美成人日韩| 大陆极品少妇内射aaaaa| 久久黄色小视频| 亚洲免费观看高清完整版在线| 国产一区二区精彩视频| 久久夜色精品一区| 亚洲v国产v欧美v久久久久久| 国产三级久久久| 亚洲色图27p| 亚洲一卡二卡三卡四卡无卡久久| 日韩欧美一区二区一幕| 色婷婷精品久久二区二区蜜臀av| 中文字幕免费视频观看| 欧美精品亚洲一区二区在线播放| 精品美女www爽爽爽视频| 欧美性感一区二区三区| 91久久久久久久久久久久| 色综合视频在线观看| 中文字幕人妻一区二区三区视频| 欧美一区二区三区男人的天堂| 国产91精品看黄网站在线观看| 欧美日韩在线播放三区| 成人毛片在线免费观看| 91精品国产日韩91久久久久久| 亚洲国产精品视频在线| 欧美一区二区三区视频| 色哟哟国产精品色哟哟| 日韩在线视频一区| 国产h在线观看| 欧美国产精品日韩| 久久野战av| 国产99午夜精品一区二区三区| 亚洲天堂日韩在线| 久久精品日韩精品| 久久神马影院| 欧美性视频在线播放| 亚洲精品色图| 2022亚洲天堂| 久久国产福利| 亚洲精品成人无码毛片| 国产成a人亚洲精| 国产大尺度视频| 国产精品伦理在线| 999久久久国产| 欧美视频13p| 蜜臀尤物一区二区三区直播| 色先锋aa成人| 男人的天堂a在线| 久久婷婷国产麻豆91天堂| 黄色免费在线看| 精品国产欧美一区二区三区成人| 欧美一级鲁丝片| 99re视频在线观看| 久久看人人摘| 亚洲人成无码www久久久| 久久中文欧美| 又黄又爽的网站| 久久久久久免费毛片精品| 免费观看a级片| 亚洲人被黑人高潮完整版| 亚洲性猛交富婆| 亚洲欧美综合v| 桃色av一区二区| 国产精品免费小视频| 亚洲欧洲专区| 国产一区二区三区色淫影院| 91精品国产乱码久久久久久久| 亚洲综合在线网站| 亚洲一区二区成人| 一级在线免费视频| 久久老女人爱爱| 青草视频在线观看免费| 亚洲国产精品热久久| 国产片在线观看| 欧美中文在线观看国产| 日韩啪啪网站| 妺妺窝人体色www在线小说| 不卡的看片网站| 日韩黄色一级大片| 亚洲精品动漫100p| 裤袜国产欧美精品一区| 成人a在线观看| 国产精品99一区二区三| 又色又爽又黄视频| 亚洲美女在线一区| 亚洲第一视频在线播放| 欧美精品激情在线| 国产伦乱精品| 激情综合在线观看| 91在线视频网址| 性色av免费观看| 亚洲香蕉成人av网站在线观看 | 亚洲蜜臀av乱码久久精品| www国产在线| 97在线看免费观看视频在线观看| 色婷婷综合久久久中字幕精品久久 | ww国产内射精品后入国产| 91色视频在线| 欧美成人精品网站| 久久不射电影网| 国产91精品入| 黑森林福利视频导航| 中文字幕亚洲综合久久菠萝蜜| va婷婷在线免费观看| 韩剧1988免费观看全集| 亚洲免费观看高清完整版在线观| 牛夜精品久久久久久久| 亚洲另类中文字| 污视频在线免费| 另类天堂视频在线观看| 北条麻妃在线一区二区免费播放| 亚洲一区二区三区精品视频| 国产精品一二| 国产7777777| 精品国内二区三区| 男人皇宫亚洲男人2020| 国产精品国产精品| 鲁大师成人一区二区三区| 在线视频这里只有精品| 精品粉嫩超白一线天av| 亚洲一区二区三区四区| 久久国产精品免费观看| 91视频免费播放| 国产一区二区三区成人| 97在线视频免费| 99视频精品全部免费在线视频| 亚洲欧美综合视频| 欧美午夜理伦三级在线观看| ****av在线网毛片| 国产精品视频免费观看| 蜜臀av性久久久久av蜜臀妖精| 亚洲精品国产一区黑色丝袜| 日韩一级片网站|