校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > 淺析Mongodb性能優(yōu)化的相關(guān)問(wèn)題

淺析Mongodb性能優(yōu)化的相關(guān)問(wèn)題

熱門標(biāo)簽:杭州人工電銷機(jī)器人價(jià)格 呼和浩特電銷外呼系統(tǒng)加盟 廣州長(zhǎng)安公司怎樣申請(qǐng)400電話 電銷機(jī)器人是什么軟件 怎么投訴地圖標(biāo)注 蘋果汽車租賃店地圖標(biāo)注 濟(jì)南電銷機(jī)器人加盟公司 老虎洗衣店地圖標(biāo)注 云南外呼系統(tǒng)

前言

如何能讓軟件擁有更高的性能?我想這是一個(gè)大部分開(kāi)發(fā)者都思考過(guò)的問(wèn)題。性能往往決定了一個(gè)軟件的質(zhì)量,如果你開(kāi)發(fā)的是一個(gè)互聯(lián)網(wǎng)產(chǎn)品,那么你的產(chǎn)品性能將更加受到考驗(yàn),因?yàn)槟忝鎸?duì)的是廣大的互聯(lián)網(wǎng)用戶,他們可不是那么有耐心的。嚴(yán)重點(diǎn)說(shuō),頁(yè)面的加載速度每增加一秒也許都會(huì)使你失去一部分用戶,也就是說(shuō),加載速度和用戶量是成反比的。那么用戶能夠接受的加載速度到底是多少呢?

如圖,如果頁(yè)面加載時(shí)間超過(guò)10s那么用戶就會(huì)離開(kāi),如果1s–10s的話就需要有提示,但如果我們的頁(yè)面沒(méi)有提示的話需要多快的加載速度呢?是的,1s 。

當(dāng)然,這是站在一個(gè)產(chǎn)品經(jīng)理的角度來(lái)說(shuō)的,但如果站在一個(gè)技術(shù)人員的角度來(lái)說(shuō)呢?加載速度和用戶量就是成正比的,你的用戶數(shù)量越多需要處理的數(shù)據(jù)當(dāng)然也就越多,加載速度當(dāng)然也就越慢。這是一件很有趣的事,所以如果你的產(chǎn)品如果是一件激動(dòng)人心的產(chǎn)品,那么作為技術(shù)人員你需要做的事就是讓軟件的性能和用戶的數(shù)量同時(shí)增長(zhǎng),甚至性能增長(zhǎng)要快于用戶量的增長(zhǎng)。

Mongodb性能優(yōu)化

數(shù)據(jù)庫(kù)性能對(duì)軟件整體性能有著至關(guān)重要的影響,對(duì)于Mongodb數(shù)據(jù)庫(kù)常用的性能優(yōu)化方法主要有:

      1、范式化與反范式化;

      2、填充因子的使用;

      3、索引的使用;

一. 范式化與反范式化

范式是為了消除重復(fù)數(shù)據(jù)減少冗余數(shù)據(jù),從而讓數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)更好的組織,讓磁盤空間得到更有效利用的一種標(biāo)準(zhǔn)化標(biāo)準(zhǔn),滿足高等級(jí)的范式的先決條件是滿足低等級(jí)范式。在數(shù)據(jù)庫(kù)設(shè)計(jì)階段,明確集合的用途是對(duì)mongodb數(shù)據(jù)庫(kù)性能調(diào)優(yōu)非常重要的一步。根據(jù)集合中數(shù)據(jù)最常用的操作,對(duì)于頻繁更新和頻繁查詢的集合,我們最需要關(guān)注的重點(diǎn)是他們的范式化程度。

1.1 范式化

   1.1.1 范式化的優(yōu)點(diǎn):

       1、范式化的數(shù)據(jù)庫(kù)更新起來(lái)更加快;

       2、范式化之后,只有很少的重復(fù)數(shù)據(jù),只需要修改更少的數(shù)據(jù);

       3、范式化的表更小,可以在內(nèi)存中執(zhí)行;

       4、很少的冗余數(shù)據(jù),在查詢的時(shí)候需要更少的distinct或者group by語(yǔ)句。

   1.1.2 范式化的缺點(diǎn):

       1、范式化的表,在查詢的時(shí)候經(jīng)常需要很多的關(guān)聯(lián),因?yàn)閱为?dú)一個(gè)表內(nèi)不存在冗余和重復(fù)數(shù)據(jù)。這導(dǎo)致,稍微復(fù)雜一些的查詢語(yǔ)句在查詢范式的schema上都可能需要較多次的關(guān)聯(lián)。這會(huì)增加讓查詢的代價(jià),也可能使一些索引策略無(wú)效。因?yàn)榉妒交瘜⒘写娣旁诓煌谋碇校@些列在一個(gè)表中本可以屬于同一個(gè)索引。

     1.1.3 范式化設(shè)計(jì)的例子:

       以存儲(chǔ)一篇圖書(shū)及其作者為例,作者的信息包括作者的姓名,年齡,國(guó)籍。使用范式化的設(shè)計(jì)如下:

“`
{
"_id" : ObjectId("5124b5d86041c7dca81917"),
"title" : "如何使用MongoDB",
"author" : [
ObjectId("144b5d83041c7dca84416"),
ObjectId("144b5d83041c7dca84418"),
ObjectId("144b5d83041c7dca84420"),
]
}

將作者(comment) 的id數(shù)組作為一個(gè)字段添加到了圖書(shū)中去。這樣的設(shè)計(jì)方式是在非關(guān)系型數(shù)據(jù)庫(kù)中常用的。在MongoDB中我們將與主鍵沒(méi)有直接關(guān)系的作者詳細(xì)信息單獨(dú)提取到另一個(gè)集合,用存儲(chǔ)主鍵的方式進(jìn)行關(guān)聯(lián)查詢。當(dāng)我們要查詢文章和作者時(shí)需要先查詢到所需的文章,再?gòu)奈恼伦髡咧蝎@取作者id,最后獲得的完整的文章及其作者詳細(xì)信息。

在這種情況下查詢性能顯然是不理想的,因?yàn)樾枰M(jìn)行較多的關(guān)聯(lián)查詢。但當(dāng)某位作者的信息需要修改時(shí),范式化的維護(hù)優(yōu)勢(shì)就凸顯出來(lái)了,我們無(wú)需考慮此作者關(guān)聯(lián)的圖書(shū),直接進(jìn)行修改此作者的字段即可。

1.2. 反范式化

   1.2.1 反范式化的優(yōu)點(diǎn):

        1. 可以避免關(guān)聯(lián),因?yàn)樗械臄?shù)據(jù)幾乎都可以在一張表上顯示;

        2. 可以設(shè)計(jì)有效的索引;

    1.2.2 反范式化的缺點(diǎn):

       1. 表格內(nèi)的冗余較多,刪除數(shù)據(jù)時(shí)候會(huì)造成表有些有用的信息丟失。

    1.2.3 反范式化設(shè)計(jì)的例子:

       以存儲(chǔ)一篇圖書(shū)及其作者為例,作者的信息包括作者的姓名,年齡,國(guó)籍。使用反范式化的設(shè)計(jì)如下:

{
  "_id" : ObjectId("5124b5d86041c7dca81917"),
  "title" : "如何使用MongoDB",
  "author" : [
    {
          "name" : "丁磊"
          "age" : 40,
          "nationality" : "china",
    },
    {
          "name" : "馬云"
          "age" : 49,
          "nationality" : "china",
    },
    {
          "name" : "張召忠"
          "age" : 59,
          "nationality" : "china",
    },
  ]
 }

在這個(gè)示例中我們將作者的字段完全嵌入到了圖書(shū)中去,在查詢的時(shí)候直接查詢圖書(shū)即可獲得所對(duì)應(yīng)作者的全部信息,但因一個(gè)作者可能有多本著作,當(dāng)修改某位作者的信息時(shí),我們需要遍歷所有圖書(shū)以找到該作者,將其修改。

1.3 范式化與反范式化混用

為了兼顧范式化與反范式化的優(yōu)缺點(diǎn),通常較常采用范式化與反范式化混合使用的方法,混合范式化與反范式化的設(shè)計(jì)如下:

“`
{
"_id" : ObjectId("5124b5d86041c7dca81917"),
"title" : "如何使用MongoDB",
"author" : [
{
    "_id" : ObjectId("144b5d83041c7dca84416"),
     "name" : "丁磊"
},
{
     "_id" : ObjectId("144b5d83041c7dca84418"),
     "name" : "馬云"
},
{
     "_id" : ObjectId("144b5d83041c7dca84420"),
     "name" : "張召忠"
},
]
}

這次我們將作者字段中的最常用的一部分提取出來(lái)。當(dāng)我們只需要獲得圖書(shū)和作者名時(shí),無(wú)需再次進(jìn)入作者集合進(jìn)行查詢,僅在圖書(shū)集合查詢即可獲得。

這種方式是一種相對(duì)折中的方式,既保證了查詢效率,也保證的更新效率。但這樣的方式顯然要比前兩種較難以掌握,難點(diǎn)在于需要與實(shí)際業(yè)務(wù)進(jìn)行結(jié)合來(lái)尋找合適的提取字段。如同示例3所述,名字顯然不是一個(gè)經(jīng)常修改的字段,這樣的字段如果提取出來(lái)是沒(méi)問(wèn)題的,但如果提取出來(lái)的字段是一個(gè)經(jīng)常修改的字段(比如age)的話,我們依舊在更新這個(gè)字段時(shí)需要大范圍的尋找并依此進(jìn)行更新。

在上面三個(gè)示例中,第一個(gè)示例的更新效率是最高的,但查詢效率是最低的,而第二個(gè)示例的查詢效率最高,但更新效率最低。所以在實(shí)際的工作中我們需要根據(jù)自己實(shí)際的需要來(lái)設(shè)計(jì)表中的字段,以獲得最高的效率。

2.理解填充因子

何為填充因子?

填充因子(padding factor)是MongoDB為文檔的擴(kuò)展而預(yù)留的增長(zhǎng)空間,因?yàn)镸ongoDB的文檔是以順序表的方式存儲(chǔ)的,每個(gè)文檔之間會(huì)非常緊湊,如圖所示。

(注:圖片出處:《MongoDB The Definitive Guide》)

1.元素之間沒(méi)有多余的可增長(zhǎng)空間。

2.當(dāng)我們對(duì)順序表中某個(gè)元素的大小進(jìn)行增長(zhǎng)的時(shí)候,就會(huì)導(dǎo)致原來(lái)分配的空間不足,只能要求其向后移動(dòng)。

3.當(dāng)修改元素移動(dòng)后,后續(xù)插入的文檔都會(huì)提供一定的填充因子,以便于文檔頻繁的修改,如果沒(méi)有不再有文檔因增大而移動(dòng)的話,后續(xù)插入的文檔的填充因子會(huì)依此減小。

填充因子的理解之所以重要,是因?yàn)槲臋n的移動(dòng)非常消耗性能,頻繁的移動(dòng)會(huì)大大增加系統(tǒng)的負(fù)擔(dān),在實(shí)際開(kāi)發(fā)中最有可能會(huì)讓文檔體積變大的因素是數(shù)組,所以如果我們的文檔會(huì)頻繁修改并增大空間的話,則一定要充分考慮填充因子。

那么如果我們的文檔是個(gè)常常會(huì)擴(kuò)展的話,應(yīng)該如何提高性能?

兩種方案

1.增加初始分配空間。在集合的屬性中包含一個(gè) usePowerOf2Sizes 屬性,當(dāng)這個(gè)選項(xiàng)為true時(shí),系統(tǒng)會(huì)將后續(xù)插入的文檔,初始空間都分配為2的N次方。這種分配機(jī)制適用于一個(gè)數(shù)據(jù)會(huì)頻繁變更的集合使用,他會(huì)給每個(gè)文檔留有更大的空間,但因此空間的分配不會(huì)像原來(lái)那樣高效,如果你的集合在更新時(shí)不會(huì)頻繁的出現(xiàn)移動(dòng)現(xiàn)象,這種分配方式會(huì)導(dǎo)致寫入速度相對(duì)變慢。

2.我們可以利用數(shù)據(jù)強(qiáng)行將初始分配空間擴(kuò)大。

db.book.insert({
 "name" : "MongoDB",
 "publishing" : "清華大學(xué)出版社",
 "author" : "john"
 "tags" : []
 "stuff" : "ggggggggggggggggggggggggggggggggggggg
    ggggggggggggggggggggggggggggggggggggg
    ggggggggggggggggggggggggggggggggggggg"
})

是的,這樣看起來(lái)可能不太優(yōu)雅…但有時(shí)卻很有效!當(dāng)我們對(duì)這個(gè)文檔進(jìn)行增長(zhǎng)式修改時(shí),只要將stuff字段刪掉即可。當(dāng)然,這個(gè)stuff字段隨便你怎么起名,包括里邊的填充字符當(dāng)然也是可以隨意添加的。

三. 索引的使用

索引對(duì)于一個(gè)數(shù)據(jù)庫(kù)的影響相信大家一定了解,如果一個(gè)查詢命令進(jìn)入到數(shù)據(jù)庫(kù)中后,查詢優(yōu)化器沒(méi)有找到合適的索引,那么數(shù)據(jù)庫(kù)會(huì)進(jìn)行全集合掃描(在RDBMS中也叫全表掃描),全集合查詢對(duì)于性能的影響是災(zāi)難性的。沒(méi)有索引的查詢就如同在詞典那毫無(wú)規(guī)律的海量詞匯中獲得某個(gè)你想要的詞匯,但這個(gè)詞典是沒(méi)有目錄的,只能通過(guò)逐頁(yè)來(lái)查找。這樣的查找可能會(huì)讓你耗費(fèi)幾個(gè)小時(shí)的時(shí)間,但如果要求你查詢?cè)~匯的頻率如同用戶訪問(wèn)的頻率一樣的話。。。嘿嘿,我相信你一定會(huì)大喊“老子不干了!”。顯然計(jì)算機(jī)不會(huì)這樣喊,它一直是一個(gè)勤勤懇懇的員工,不論多么苛刻的請(qǐng)求他都會(huì)完成。所以請(qǐng)通過(guò)索引善待你的計(jì)算機(jī)。但使用索引有兩點(diǎn)需要注意:1. 索引越少越好;2. 索引顆粒越少越好。

3.1 索引越少越好

索引可以極大地提高查詢性能,那么索引是不是越多越好?答案是否定的,并且索引并非越多越好,而是越少越好。每當(dāng)你建立一個(gè)索引時(shí),系統(tǒng)會(huì)為你添加一個(gè)索引表,用于索引指定的列,然而當(dāng)你對(duì)已建立索引的列進(jìn)行插入或修改時(shí),數(shù)據(jù)庫(kù)則需要對(duì)原來(lái)的索引表進(jìn)行重新排序,重新排序的過(guò)程非常消耗性能,但應(yīng)對(duì)少量的索引壓力并不是很大,但如果索引的數(shù)量較多的話對(duì)于性能的影響可想而知。所以在創(chuàng)建索引時(shí)需要謹(jǐn)慎建立索引,要把每個(gè)索引的功能都要發(fā)揮到極致,也就是說(shuō)在可以滿足索引需求的情況下,索引的數(shù)量越少越好。

隱式索引

//建立復(fù)合索引
db.test.ensureIndex({"age": 1,"no": 1,"name": 1 })

我們?cè)诓樵儠r(shí)可以迅速的將age,no字段進(jìn)行排序,隱式索引指的是如果我們想要排序的字段包含在已建立的復(fù)合索引中則無(wú)需重復(fù)建立索引。

db.test.find().sort("age": 1,"no": 1)
 
db.test.find().sort("age": 1)

如以上兩個(gè)排序查詢,均可使用上面的復(fù)合索引,而不需要重新建立索引。

翻轉(zhuǎn)索引

//建立復(fù)合索引
db.test.ensureIndex({"age": 1})

翻轉(zhuǎn)索引很好理解,就是我們?cè)谂判虿樵儠r(shí)無(wú)需考慮索引列的方向,例如這個(gè)例子中我們?cè)诓樵儠r(shí)可以將排序條件寫為”{‘a(chǎn)ge': 0}”,依舊不會(huì)影響性能。

3.1 索引顆粒越少越好

什么叫顆粒越小越好?在索引列中每個(gè)數(shù)據(jù)的重復(fù)數(shù)量稱為顆粒,也叫作索引的基數(shù)。如果數(shù)據(jù)的顆粒過(guò)大,索引就無(wú)法發(fā)揮該有的性能。例如,我們擁有一個(gè)"age"列索引,如果在"age"列中,20歲占了50%,如果現(xiàn)在要查詢一個(gè)20歲,名叫"Tom"的人,我們則需要在表的50%的數(shù)據(jù)中查詢,索引的作用大大降低。所以,我們?cè)诮⑺饕龝r(shí)要盡量將數(shù)據(jù)顆粒小的列放在索引左側(cè),以保證索引發(fā)揮最大的作用。

四. 總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望這篇文章的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

您可能感興趣的文章:
  • MongoDB優(yōu)化心得分享
  • Mongodb索引的優(yōu)化
  • MongoDB查詢性能優(yōu)化驗(yàn)證及驗(yàn)證
  • MongoDB性能優(yōu)化及監(jiān)控
  • 如何對(duì) MongoDB 進(jìn)行性能優(yōu)化(五個(gè)簡(jiǎn)單步驟)
  • MongoDb優(yōu)化指南

標(biāo)簽:雞西 廈門 泰安 自貢 遼陽(yáng) 興安盟 玉林 無(wú)錫

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺析Mongodb性能優(yōu)化的相關(guān)問(wèn)題》,本文關(guān)鍵詞  淺析,Mongodb,性能,優(yōu)化,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺析Mongodb性能優(yōu)化的相關(guān)問(wèn)題》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于淺析Mongodb性能優(yōu)化的相關(guān)問(wèn)題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    99视频在线观看一区三区| 国产美女视频91| 亚洲一区二区美女| 亚洲电影视频在线| 日韩精品乱码免费| 免费久久精品视频| 成人天堂资源www在线| 99riav一区二区三区| 日本高清视频一区二区| 日韩午夜在线观看视频| 日韩免费观看高清完整版| 久久久久国产精品人| √…a在线天堂一区| 天使萌一区二区三区免费观看| 偷拍日韩校园综合在线| 夜夜嗨av一区二区三区中文字幕| 亚洲国产精品嫩草影院| 精品一区二区三区免费观看| 国产一区二区三区精品欧美日韩一区二区三区 | 国产清纯美女被跳蛋高潮一区二区久久w | 欧美日韩视频专区在线播放| 精品国产伦一区二区三区观看方式 | 中文字幕精品一区| 亚洲123区在线观看| 国产美女精品一区二区三区| 久久99精品国产麻豆不卡| 看国产成人h片视频| 色综合久久综合中文综合网| 欧美激情一区在线观看| 日本亚洲一区二区| 色噜噜狠狠色综合欧洲selulu| 日韩免费一区二区三区在线播放| 一区2区3区在线看| 成人免费高清在线观看| 欧美va亚洲va在线观看蝴蝶网| 亚洲女人的天堂| 成人在线视频一区二区| 欧美mv日韩mv国产| 日本最新不卡在线| 色综合视频一区二区三区高清| 久久久久久久久久电影| 精品无码三级在线观看视频| 欧美一区二区三级| 石原莉奈在线亚洲三区| 日韩三级在线观看| 激情伊人五月天久久综合| 欧美成人伊人久久综合网| 国产在线播放一区| 久久久久99精品国产片| 国产在线精品不卡| 国产精品成人免费精品自在线观看| 国产精品自产自拍| 国产精品成人免费在线| 色综合中文字幕| 亚洲成a人v欧美综合天堂下载| 717成人午夜免费福利电影| 久久精品久久久精品美女| 久久久噜噜噜久久中文字幕色伊伊| 国产成人精品三级| 亚洲国产中文字幕在线视频综合| 欧美一区二区三区色| 国产成人夜色高潮福利影视| 亚洲欧洲综合另类在线| 欧美一区二区三区免费在线看 | 91精彩视频在线观看| 久久精品国产99| 亚洲第一激情av| 国产精品国产成人国产三级| 欧美精品在欧美一区二区少妇| 国产乱码精品一区二区三 | 91蜜桃在线免费视频| 日av在线不卡| 五月综合激情网| 亚洲欧美在线视频观看| 欧美国产日韩亚洲一区| 欧美www视频| 91精品国产色综合久久不卡蜜臀 | 国产精品久久久久久户外露出| 欧美福利视频导航| 日本伦理一区二区| 国产 欧美在线| 国产最新精品精品你懂的| 免费久久99精品国产| 日韩av中文在线观看| 天天做天天摸天天爽国产一区| 亚洲日本在线a| 成人欧美一区二区三区白人| 国产精品亚洲视频| 国产精品久久久久一区二区三区共 | av中文字幕一区| 91丨porny丨最新| 91丨九色丨国产丨porny| 91视频免费观看| 91麻豆国产福利精品| 欧美日韩一区二区在线观看| 欧美午夜精品一区二区三区| 91精品蜜臀在线一区尤物| 91精品欧美综合在线观看最新| 91精品国产免费| 日本一区二区三区在线不卡| 国产精品久久国产精麻豆99网站| 国产清纯白嫩初高生在线观看91| 国产精品久久午夜| 亚洲午夜影视影院在线观看| 强制捆绑调教一区二区| 国产精品夜夜爽| 91官网在线观看| 精品国产乱码久久| 亚洲欧美另类图片小说| 久久99这里只有精品| jlzzjlzz国产精品久久| 91精品在线一区二区| 国产精品国产精品国产专区不片| 日韩精品91亚洲二区在线观看| 秋霞av亚洲一区二区三| 在线日韩av片| 国产精品青草久久| 美腿丝袜亚洲三区| 欧美日韩一区三区| 亚洲品质自拍视频网站| 精品一区二区三区影院在线午夜| 色婷婷一区二区| 亚洲精品久久7777| 色综合 综合色| 亚洲激情在线激情| 欧洲中文字幕精品| 亚洲少妇中出一区| av在线不卡免费看| 最新成人av在线| 99riav一区二区三区| 亚洲视频一区二区免费在线观看| 风间由美一区二区av101 | 一区二区三区在线看| 99国产精品久| 亚洲一区二区中文在线| 久久国内精品自在自线400部| 欧美电影一区二区三区| 洋洋av久久久久久久一区| 色妹子一区二区| 午夜一区二区三区在线观看| 在线播放中文一区| 久久99精品国产麻豆不卡| 亚洲国产精品高清| 在线视频国内自拍亚洲视频| 亚洲成人综合网站| 欧美日韩一区二区三区在线看| 秋霞av亚洲一区二区三| 国产日韩欧美高清| 欧美精三区欧美精三区| 国产一区二区不卡在线| 中文字幕一区二区三| 91精品国产综合久久小美女| 国产一区二区电影| 日本成人在线网站| 国产丝袜欧美中文另类| 欧美日韩和欧美的一区二区| 国产一区二区在线观看视频| 一区二区三区在线观看动漫| 欧美精品一区二区三区在线播放| 国产盗摄女厕一区二区三区| 日韩精品一区二区三区swag| 国产一区二区精品久久| 亚洲大型综合色站| 亚洲视频资源在线| 亚洲国产精品传媒在线观看| 7777精品伊人久久久大香线蕉 | 一区二区在线观看视频在线观看| 6080日韩午夜伦伦午夜伦| 91色porny蝌蚪| 成人sese在线| av成人动漫在线观看| 国产一区二区在线看| 国产乱子伦视频一区二区三区| 亚洲乱码国产乱码精品精小说| 国产精品传媒视频| 欧美国产日本韩| 欧美国产国产综合| 日本一区二区三区免费乱视频| 欧美精品一区二区高清在线观看 | 亚洲成av人综合在线观看| 一区二区三区四区视频精品免费 | 久久奇米777| 国产精品天美传媒| 亚洲精品国久久99热| 亚洲主播在线播放| 久久99精品久久久久久久久久久久| 天堂成人国产精品一区| 久久av中文字幕片| av电影一区二区| 91精品国产欧美日韩| 国产日韩在线不卡| 一区二区三区不卡在线观看| 亚洲va国产va欧美va观看| 精品伊人久久久久7777人| 国产成人8x视频一区二区| 欧美日韩国产精品成人| 国产三级精品三级在线专区| 亚州成人在线电影| 99这里都是精品| 91精品福利在线一区二区三区 |