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

Oracle構(gòu)造序列的方法分析對比

數(shù)據(jù)庫 Oracle
關(guān)于Oracle的序列,相信大家并不陌生,但很多人平時只用到connect by 的方式來構(gòu)造序列,今天一起來學習更多的構(gòu)造序列的方法及每個方法的優(yōu)缺點。

[[196263]]

關(guān)于Oracle的序列,相信大家并不陌生,但很多人平時只用到connect by 的方式來構(gòu)造序列,今天一起來學習更多的構(gòu)造序列的方法及每個方法的優(yōu)缺點。

Oracle構(gòu)造序列的方法隨著版本一直在變化。在9i之前的版本,常用的方法是:

  1. select rownum rn from all_objects where rownum<=xx; 

從all_objects等系統(tǒng)視圖中去獲取序列的方式,雖然簡單,但有一個致命的弱點是該視圖的sql非常復(fù)雜,嵌套層數(shù)很多,一旦應(yīng)用到真實案例中,極有可能碰到Oracle自身的bug,所以這種方式不考慮,直接pass掉。

2、9i之后,我們用connect by

  1. select rownum rn from dual connect by rownum<=xx; 

3、自從10g開始支持XML后,還可以使用以下方式:

  1. select rownum rn from xmltable(‘1 to xx’); 

接下來我們從序列大小,構(gòu)造時間等方面對比分析這兩種方式。

1、先看connect by的方法

  1. lastwinner@lw> select count(*) from (select rownum rn from dual connect by rownum<=power(2,19)); 
  2.  
  3. COUNT(*) 
  4.  
  5. ———- 
  6.  
  7. 524288 
  8.  
  9. 已用時間: 00: 00: 00.20 
  10.  
  11. lastwinner@lw> select count(*) from (select rownum rn from dual connect by rownum<=power(2,20)); 
  12.  
  13. select count(*) from (select rownum rn from dual connect by rownum<=power(2,20)) 
  14.  
  15.  
  16. 第 1 行出現(xiàn)錯誤: 
  17.  
  18. ORA-30009: CONNECT BY 操作內(nèi)存不足 

可見直接用connect by去構(gòu)造較大的序列時,消耗的資源很多,速度也快不到哪兒去。實際上2^20并不是一個很大的數(shù)字,就是1M而已。

但xmltable方式就不會耗這么多資源

  1. lastwinner@lw> select count(*) from (select rownum rn from xmltable(‘1 to 1048576’)); 
  2.  
  3. COUNT(*) 
  4.  
  5. ———- 
  6.  
  7. 1048576 
  8.  
  9. 已用時間: 00: 00: 00.95 

其實除了上述三種辦法,我們還可以使用笛卡爾積來構(gòu)造序列。如果換成笛卡爾連接的方式,那么構(gòu)造2^20時,connect by也ok

  1. lastwinner@lw> with a as (select rownum rn from dual connect by rownum<=power(2,10)) 
  2.  
  3. select count(*) from (select rownum rn from a, a); 
  4.  
  5. COUNT(*) 
  6.  
  7. ———- 
  8.  
  9. 1048576 
  10.  
  11. 已用時間: 00: 00: 00.09 

我們試著將1M加大到1G,在connect by方式下

  1. lastwinner@lw> with a as (select rownum rn from dual connect by rownum<=power(2,10)) 
  2.  
  3. select count(*) from (select rownum rn from a, a, a); 
  4.  
  5. COUNT(*) 
  6.  
  7. ———- 
  8.  
  9. 1073741824 
  10.  
  11. 已用時間: 00: 01: 07.37 

耗時高達1分鐘還多,再看看xmltable方式,考慮到1M的時候耗時就達到0.95秒,因此這里只測試1/16*1G,即64M的情況

  1. lastwinner@lw> select count(*) from (select rownum rn from xmltable(‘1 to 67108864’)); 
  2.  
  3. COUNT(*) 
  4.  
  5. ———- 
  6.  
  7. 67108864 
  8.  
  9. 已用時間: 00: 00: 37.00 

如果直接構(gòu)造到1G,那么時間差不多是16*37s這個級別。

但如果通過笛卡爾積+xmltable的方式來構(gòu)造。

  1. lastwinner@lw> select count(*) from (select rownum rn from xmltable(‘1 to 67108864’)); 
  2.  
  3. COUNT(*) 
  4.  
  5. ———- 
  6.  
  7. 67108864 
  8.  
  9. 已用時間:  00: 00: 37.00 

這時間和connect by的差不多。以上測試,總的可見,在構(gòu)造較大序列時,笛卡爾積的方式是***的,單純使用connect by會遭遇內(nèi)存不足,而單獨使用xmltable則會耗費較多的時間。

現(xiàn)在再看看基本用純表連接的方式來構(gòu)造同樣大小的序列,先來1M的

  1. lastwinner@lw> with b as (select 1 r from dual union all select 2 from dual), 
  2.  
  3. 2  c as (select rownum r from b,b,b,b,b, 
  4.  
  5. 3  b,b,b,b,b, 
  6.  
  7. 4  b,b,b,b,b, 
  8.  
  9. 5  b,b,b,b,b) 
  10.  
  11. 6  select count(*) from c; 
  12.  
  13. COUNT(*) 
  14.  
  15. ———- 
  16.  
  17. 1048576 
  18.  
  19. 已用時間:  00: 00: 00.33 

再來64M的

  1. lastwinner@lw> ed 
  2.  
  3. 已寫入 file afiedt.buf 
  4.  
  5. 1  with b as (select 1 r from dual union all select 2 from dual), 
  6.  
  7. 2  c as (select rownum r from b,b,b,b,b, 
  8.  
  9. 3  b,b,b,b,b, 
  10.  
  11. 4  b,b,b,b,b, 
  12.  
  13. 5  b,b,b,b,b, 
  14.  
  15. 6  b,b,b,b,b,b) 
  16.  
  17. 7* select count(*) from c 
  18.  
  19. lastwinner@lw> / 
  20.  
  21. COUNT(*) 
  22.  
  23. ———- 
  24.  
  25. 67108864 
  26.  
  27. 已用時間:  00: 00: 16.62 

這個速度并不快,但已經(jīng)比直接xmltable快了。

其實64M,即64*2^20可以表示為(2^5)^5*2,那我們來改寫一下64M的sql

  1. lastwinner@lw> with b as (select 1 r from dual union all select 2 from dual), 
  2.  
  3. 2  c as (select rownum r from b,b,b,b,b), 
  4.  
  5. 3  d as (select rownum r from c,c,c,c,c,b) 
  6.  
  7. 4  select count(*) from d; 
  8.  
  9. COUNT(*) 
  10.  
  11. ———- 
  12.  
  13. 67108864 
  14.  
  15. 已用時間:  00: 00: 04.53 

可以看到,從16s到4s,已經(jīng)快了很多。這個示例告訴我們,中間表c 在提高速度方面起到了很好的作用。

但在構(gòu)造到1G時,還是要慢一些

  1. lastwinner@lw> ed 
  2.  
  3. 已寫入 file afiedt.buf 
  4.  
  5. 1  with b as (select 1 r from dual union all select 2 from dual), 
  6.  
  7. 2  c as (select rownum r from b,b,b,b,b), 
  8.  
  9. 3  d as (select rownum r from c,c,c,c,c,c) 
  10.  
  11. 4* select count(*) from d 
  12.  
  13. lastwinner@lw> / 
  14.  
  15. COUNT(*) 
  16.  
  17. ———- 
  18.  
  19. 1073741824 
  20.  
  21. 已用時間:  00: 01: 11.48 

嘗試相對較快的寫法,多一層中間表

  1. lastwinner@lw> ed 
  2.  
  3. 已寫入 file afiedt.buf 
  4.  
  5. 1  with b as (select 1 r from dual union all select 2 from dual), 
  6.  
  7. 2  c as (select rownum r from b,b,b), 
  8.  
  9. 3  d as (select rownum r from c,c,c), 
  10.  
  11. 4  e as (select rownum r from d,d,d,c) 
  12.  
  13. 5* select count(*) from e 
  14.  
  15. lastwinner@lw> / 
  16.  
  17. COUNT(*) 
  18.  
  19. ———- 
  20.  
  21. 1073741824 
  22.  
  23. 已用時間:  00: 01: 06.89 

更快一點(思路,32^2=1024, 1G=2^30=(2^5)^6=((2^5)^2)^3 。)

  1. lastwinner@lw> ed 
  2.  
  3. 已寫入 file afiedt.buf 
  4.  
  5. 1  with b as (select 1 r from dual union all select 2 from dual), 
  6.  
  7. 2  c as (select rownum r from b,b,b,b,b), 
  8.  
  9. 3  d as (select rownum r from c,c), 
  10.  
  11. 4  e as (select rownum r from d,d,d) 
  12.  
  13. 5* select count(*) from e 
  14.  
  15. lastwinner@lw> / 
  16.  
  17. COUNT(*) 
  18.  
  19. ———- 
  20.  
  21. 1073741824 
  22.  
  23. 已用時間:  00: 01: 05.21 

這時候我們將2^5=32換成直接構(gòu)造出來的方式

  1. lastwinner@lw> ed 
  2.  
  3. 已寫入 file afiedt.buf 
  4.  
  5. 1  with b as (select rownum r from dual connect by rownum<=power(2,5)), 
  6.  
  7. 2  c as (select rownum r from b,b), 
  8.  
  9. 3  d as (select rownum r from c,c,c) 
  10.  
  11. 4* select count(*) from d 
  12.  
  13. lastwinner@lw> / 
  14.  
  15. COUNT(*) 
  16.  
  17. ———- 
  18.  
  19. 1073741824 
  20.  
  21. 已用時間:  00: 01: 05.07 

可見所耗費的時間差不多。

由此我們還可以得出,表連接的代價其實也是昂貴的,適當?shù)臏p少表連接的次數(shù),適當?shù)氖褂脀ith里的中間表,能有效提高系統(tǒng)性能。

再重復(fù)一下剛才構(gòu)造64M(2^26)的場景

  1. lastwinner@lw> ed 
  2.  
  3. 已寫入 file afiedt.buf 
  4.  
  5. 1  with b as (select 1 r from dual union all select 2 from dual), 
  6.  
  7. 2  c as (select rownum r from b,b,b,b,b, 
  8.  
  9. 3  b,b,b,b,b, 
  10.  
  11. 4  b,b,b,b,b, 
  12.  
  13. 5  b,b,b,b,b, 
  14.  
  15. 6  b,b,b,b,b,b) 
  16.  
  17. 7* select count(*) from c 
  18.  
  19. lastwinner@lw> / 
  20.  
  21. COUNT(*) 
  22.  
  23. ———- 
  24.  
  25. 67108864 
  26.  
  27. 已用時間:  00: 00: 16.62 

總共25次的表連接,1層嵌套,讓速度非常慢。提高一下(26=4*3*2+2*2),總共8次表連接,3層嵌套。

  1. lastwinner@lw> ed 
  2.  
  3. 已寫入 file afiedt.buf 
  4.  
  5. 1  with b as (select 1 r from dual union all select 2 from dual), 
  6.  
  7. 2  c as (select rownum r from b,b,b,b), 
  8.  
  9. 3  d as (select rownum r from c,c,c), 
  10.  
  11. 4  e as (select rownum r from d,d,b,b) 
  12.  
  13. 5* select count(*) from e 
  14.  
  15. lastwinner@lw> / 
  16.  
  17. COUNT(*) 
  18.  
  19. ———- 
  20.  
  21. 67108864 
  22.  
  23. 已用時間:  00: 00: 04.00 

效率提升4倍。要注意在這個案例中并非表連接越少越好,嵌套層數(shù)也是需要關(guān)注的指標。執(zhí)行計劃有興趣的同學自己去看吧,我就不列了,上例中,系統(tǒng)生成的中間表有3個。

最終結(jié)論,構(gòu)造較大序列時,例如同樣是構(gòu)造出64M的序列,oracle在處理時,用表連接的方式明顯占優(yōu)。但考慮到書寫的便利性,因此在構(gòu)造較小序列的時候,比如不超過1K的序列,那么直接用connect by或xmltable的方式就好了。

附:newkid 回復(fù)方法,表示更靈活,有興趣的同學可以嘗試:

  1. create or replace function generator (n pls_integer) return sys.odcinumberlist pipelined is 
  2. m pls_integer := trunc(n / 10); 
  3. r pls_integer := n – 10 * m; 
  4. begin 
  5. for i in 1 .. m loop 
  6. pipe row (null); 
  7. pipe row (null); 
  8. pipe row (null); 
  9. pipe row (null); 
  10. pipe row (null); 
  11. pipe row (null); 
  12. pipe row (null); 
  13. pipe row (null); 
  14. pipe row (null); 
  15. pipe row (null); 
  16. end loop; 
  17. for i in 1 .. r loop 
  18. pipe row (null); 
  19. end loop; 
  20. end
  21. alter function generator compile plsql_code_type = native; 
  22.  
  23. SQL> select count(*) from table(generator(67108864)); 
  24.  
  25. COUNT(*) 
  26. ———- 
  27. 67108864 
  28.  
  29. Elapsed: 00:00:06.68 
  30.  
  31. SQL> with b as (select 1 r from dual union all select 2 from dual), 
  32. 2  c as (select rownum r from b,b,b,b), 
  33. 3  d as (select rownum r from c,c,c), 
  34. 4  e as (select rownum r from d,d,b,b) 
  35. 5  select count(*) from e; 
  36.  
  37. COUNT(*) 
  38. ———- 
  39. 67108864 
  40.  
  41. Elapsed: 00:00:06.32 
責任編輯:武曉燕 來源: 運維派
相關(guān)推薦

2009-09-17 18:56:22

CLR Via C#

2017-05-04 09:30:29

2010-11-16 11:02:56

Oracle創(chuàng)建序列

2010-05-04 14:02:53

Oracle同義詞

2024-04-26 12:29:36

2010-04-30 11:58:45

Oracle sequ

2020-11-18 09:33:03

數(shù)據(jù)分析業(yè)務(wù)問題

2024-10-14 17:24:32

2010-04-23 11:56:50

Oracle序列

2011-08-16 18:55:10

Oracle數(shù)據(jù)庫構(gòu)造過程

2018-01-19 12:33:17

數(shù)據(jù)庫OracleMySQL

2010-03-30 12:30:45

Oracle Hibe

2024-12-31 00:07:12

2010-12-03 09:55:31

PHP構(gòu)造方法

2017-03-09 13:11:48

Oracle分析函數(shù)

2010-10-26 16:33:54

創(chuàng)建Oracle索引

2010-04-01 16:17:37

Oracle復(fù)制

2010-04-09 14:57:29

學習Oracle

2018-01-26 14:29:01

框架

2018-01-21 14:11:22

人工智能PaddlePaddlTensorflow
點贊
收藏

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

成人亚洲激情网| 色阁综合伊人av| 日本一道本久久| 少妇性bbb搡bbb爽爽爽欧美| 日韩国产精品91| 久久精品在线播放| 精品人妻二区中文字幕| 偷拍视频一区二区三区| 亚洲欧洲日韩女同| 久久久久久久久久久久久久久久av | 久久精品国产精品| 中国一级特黄录像播放| 成人久久网站| 精品久久久久久国产| 天天综合狠狠精品| 欧美特级特黄aaaaaa在线看| 日韩精品一级中文字幕精品视频免费观看 | 欧美成人基地| 制服视频三区第一页精品| 你懂的av在线| 在线观看h网| 国产欧美日产一区| 黄色99视频| 国产女人18毛片18精品| 丝袜脚交一区二区| 97福利一区二区| 欧美18—19性高清hd4k| 色999韩欧美国产综合俺来也| 性欧美疯狂xxxxbbbb| 黄频视频在线观看| 福利片在线看| 久久这里都是精品| 国产一区二区不卡视频| 国产精品视频第一页| 日韩黄色免费网站| 欧美一级淫片播放口| 国产亚洲精品久久久久久无几年桃 | 99福利在线| 国产精品毛片久久久久久| 欧美日产一区二区三区在线观看| 国精品人妻无码一区二区三区喝尿| 免费的成人av| 国产99久久精品一区二区永久免费 | 91日韩精品视频| 亚洲电影有码| 色999日韩国产欧美一区二区| 99热亚洲精品| 黄页在线观看免费| 亚洲一级二级三级| 国产色一区二区三区| 欧美xxxx黑人又粗又长| 亚洲精品第一国产综合野| 国内精品国产三级国产99| 免费在线看黄网站| 亚洲视频图片小说| 欧美性受黑人性爽| 精品美女在线观看视频在线观看 | 老司机精品视频在线| 国产精品成人免费电影| 丰满人妻老熟妇伦人精品| 香蕉久久a毛片| 国产91色在线| 伊人久久国产精品| 激情亚洲综合在线| 亚洲综合色激情五月| 国产成人精品免费看视频| 国产黄色成人av| 3d蒂法精品啪啪一区二区免费| 99久久精品国产色欲| 国产成人免费在线观看| 国产精品乱码一区二区三区| 日本高清视频在线| 26uuu欧美| 深夜福利成人| 欧美jizzhd欧美| 亚洲女与黑人做爰| 国产精品专区在线| 欧美性猛交xxx高清大费中文| 欧美综合一区二区三区| 女人高潮一级片| 欧美成年网站| 亚洲国产精品999| 91视频在线网站| 999精品色在线播放| 九九精品在线观看| 国产做受高潮漫动| 日韩电影免费在线观看网站| 91精品国产综合久久香蕉最新版| 精品人妻一区二区三区浪潮在线| 成人午夜在线免费| 欧洲亚洲一区二区| av在线麻豆| 福利一区福利二区微拍刺激| 国产精品一区二区羞羞答答| 国产精品高清一区二区| 日韩电视剧免费观看网站| 亚洲图片第一页| 亚洲高清不卡| 国产欧美一区二区白浆黑人| 免费看国产片在线观看| 欧美国产禁国产网站cc| 隔壁人妻偷人bd中字| 国产成人精品亚洲日本在线观看| 欧美一区二区观看视频| 一本色道综合久久欧美日韩精品| 日韩毛片视频| 69国产精品成人在线播放| 一级成人免费视频| 2020国产精品久久精品美国| 麻豆映画在线观看| 久久久人成影片一区二区三区在哪下载| 7777精品伊人久久久大香线蕉的 | 亚洲图片小说视频| 99久久精品免费看国产免费软件| 天堂精品视频| 久草在线资源福利站| 欧美日韩国产在线观看| 亚洲精品乱码久久久久久久| 亚洲91视频| 国产成人欧美在线观看| www.日日夜夜| 国产精品国产a级| 黑鬼大战白妞高潮喷白浆| 亚洲乱码一区| 欧美成人精品xxx| 波多野结衣在线观看视频| 不卡一区二区中文字幕| 黄色一级片av| 亚洲日日夜夜| 伊人亚洲福利一区二区三区| 国产成人免费观看视频 | 亚乱亚乱亚洲乱妇| 在线一区二区观看| 在线观看日韩精品视频| 丁香六月婷婷综合| 91美女精品| 91麻豆精品国产自产在线| 成人在线一级片| 亚洲资源av| 国产视频不卡| 国产理论电影在线| 日韩欧美综合一区| 裸体武打性艳史| 久久精品免费看| 亚洲精品中文字幕在线 | 奇米成人av国产一区二区三区| 性生交生活影碟片| 亚洲精品中文在线| 爽爽爽在线观看| 91成人超碰| 成人福利网站在线观看11| 日本中文字幕视频在线| 欧美日韩精品高清| chinese全程对白| 免费视频最近日韩| 在线观看欧美激情| 一区二区三区日本视频| 久久久国产在线视频| 国产精品美女一区| 亚洲色图制服丝袜| 四虎成人在线播放| 亚洲一区二区三区无吗| 91在线免费看片| 欧美亚洲系列| 亚洲国产精品国自产拍av秋霞| 国产精品第九页| 91亚洲男人天堂| 男人的天堂日韩| 水蜜桃精品av一区二区| 91久久精品国产91久久性色| av网站在线免费看推荐| 欧美sm极限捆绑bd| 五月天婷婷久久| 中文一区二区在线观看| 欧美激情第一区| 亚洲国产精品一区| 日本在线观看一区二区三区| 国产精品诱惑| 欧美日本中文字幕| 天堂a√在线| 91成人免费电影| 男人在线观看视频| 成人国产免费视频| 国产激情在线观看视频| 91精品秘密在线观看| 国产欧美综合精品一区二区| 超碰超碰人人人人精品| 久久精品福利视频| 天堂中文在线8| 欧美日韩一区不卡| 久久久无码精品亚洲国产| 久久久久久久久伊人| 国产探花在线看| 日韩亚洲精品在线| 亚洲免费不卡| 免费看久久久| 国产精品无码专区在线观看| 欧美色图天堂| 国产亚洲一级高清| 性中国xxx极品hd| 欧美亚洲动漫制服丝袜| 久久免费视频播放| 国产精品理论在线观看| av在线播放网址| 蜜桃视频在线观看一区二区| 欧美成人三级在线视频| 久久久久国产| 日本福利一区二区三区| 7777精品| 国产中文字幕亚洲| 韩国美女久久| 久久久久久综合网天天| 日韩精品毛片| 亚洲欧洲日产国产网站| 亚洲精品久久久久久久久久| 欧美日韩三级一区二区| 日韩精品无码一区二区| 亚洲欧美日韩精品久久久久| 新91视频在线观看| 99久久综合色| 成人做爰69片免费| 国产在线国偷精品免费看| 成人在线免费播放视频| 亚洲精品日韩久久| 久久这里只有精品8| 欧美aaaa视频| 视频一区免费观看| 九九亚洲视频| 久久久久久久有限公司| 国产成人在线中文字幕| 亚洲一区二区中文| 免费成人高清在线视频| 国产精品99久久久久久久久久久久 | 国产色综合一区| 成人免费无码大片a毛片| 国产成人精品一区二区三区四区| 在线播放av中文字幕| 蜜桃视频免费观看一区| 久久精品网站视频| 日韩中文字幕1| 人妻内射一区二区在线视频| 亚洲免费观看| 日韩欧美亚洲天堂| 亚洲视频大全| 欧美 日韩 激情| 国产精品嫩草99av在线| 黄色免费福利视频| 国产一级一区二区| www黄色av| 日韩精品乱码av一区二区| 欧美少妇性生活视频| 日欧美一区二区| 爱情岛论坛vip永久入口| 日韩精品电影在线| www.国产视频.com| 精品一区二区三区在线观看| 8x8x成人免费视频| 国产一区二区三区四区五区入口| 午夜免费福利网站| 成人蜜臀av电影| aa片在线观看视频在线播放| 久久精品视频在线免费观看 | 校花撩起jk露出白色内裤国产精品| 精品综合久久| 国产永久精品大片wwwapp| 视频一区三区| 亚洲五月综合| 国产freexxxx性播放麻豆| 亚洲九九精品| 自拍偷拍 国产| 老汉av免费一区二区三区 | 成人av先锋影音| 粉嫩av懂色av蜜臀av分享| 久久久久久电影| 夫妻性生活毛片| 亚洲成精国产精品女| 亚洲成人第一网站| 欧美另类高清zo欧美| 亚洲精品成av人片天堂无码| 日韩黄在线观看| 91看片在线观看| 久久99久国产精品黄毛片入口| ririsao久久精品一区| 日本亚洲欧洲色α| 亚洲综合伊人| 精品人伦一区二区三区| 日韩激情在线| 欧美成人三级在线视频| 免费一区二区视频| 日韩少妇一区二区| 国产精品女同一区二区三区| 久久精品一级片| 欧美综合视频在线观看| 精品区在线观看| 亚洲男子天堂网| 超碰个人在线| 国产91免费观看| www.豆豆成人网.com| 日本一区二区久久精品| 国产精品黄色| 天天综合网久久| 97精品电影院| 欧美成人免费看| 欧美日韩久久一区| 亚洲色图狠狠干| 欧美美女操人视频| 日韩精品专区| 国产视色精品亚洲一区二区| 91日韩视频| 久久精品网站视频| 成人sese在线| 黄视频网站免费看| 在线观看亚洲a| 五月婷婷丁香花| 欧美国产日本高清在线| 日韩毛片免费看| 日韩国产欧美精品| 一区二区精品| 亚洲视频 中文字幕| 18成人在线观看| 中国一区二区视频| 亚洲欧美一区二区三区久久 | 香港一级纯黄大片| 欧美乱妇高清无乱码| 伊人久久大香| 亚洲无玛一区| 日韩不卡手机在线v区| 成人无码www在线看免费| 亚洲综合清纯丝袜自拍| 国产视频手机在线| 久久激情视频久久| 国产亚洲人成a在线v网站| 欧美日韩在线一区二区三区| 亚洲第一伊人| 黄色免费看视频| 香蕉成人啪国产精品视频综合网 | 福利视频网站一区二区三区| 日本爱爱小视频| 欧美剧情片在线观看| 91短视频版在线观看www免费| 国产精品国产自产拍高清av水多| 亚洲春色h网| 干日本少妇首页| 91免费看`日韩一区二区| 日韩久久精品视频| 亚洲精品久久久久久久久久久久| 91九色在线播放| 国产一区在线免费| 99综合视频| 真人bbbbbbbbb毛片| 欧美日韩一区二区在线| 精品一二三区视频| 国产成人激情视频| 郴州新闻综合频道在线直播| 亚州精品一二三区| 中文字幕在线一区免费| 国产乱码精品一区二区| 欧美大尺度激情区在线播放| 91综合精品国产丝袜长腿久久| www.亚洲成人网| 99久久免费国产| 国产精品久久久久久久久夜色| 国产一区二区日韩| 欧美成人福利| 九一免费在线观看| 99久久伊人精品| 免费观看日批视频| www.久久色.com| 亚洲成人影音| 免费成人午夜视频| 国产日本欧美一区二区| 国产乱码久久久久| 91精品国产99久久久久久| 九九视频精品全部免费播放| 中文字幕精品一区二区三区在线| 亚洲精品欧美激情| 五月婷婷激情在线| 国产剧情日韩欧美| 欧美视频亚洲视频| 日韩精品无码一区二区三区久久久| 在线视频综合导航| 中文字幕中文字幕在线十八区 | 亚洲天堂网一区| 尤物在线观看一区| 毛片在线播放网址| 91探花福利精品国产自产在线| 亚洲高清电影| 国产jizz18女人高潮| 亚洲第一色在线| 国产精品第一国产精品| 国产成人艳妇aa视频在线| 久久精品亚洲精品国产欧美| 精品乱子伦一区二区| 欧美综合一区第一页| 91精品啪在线观看国产18| 成人免费无码大片a毛片| 91精品国产综合久久小美女| 中文字幕乱码中文乱码51精品| 国产精品亚洲天堂| 久久看人人爽人人|