• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    查詢優(yōu)化器連接順序評(píng)估

    2022-09-26 13:06:06項(xiàng)兆坤徐金凱
    關(guān)鍵詞:環(huán)型枚舉星型

    陳 婷,項(xiàng)兆坤,徐金凱,張 蓉

    (華東師范大學(xué) 數(shù)據(jù)科學(xué)與工程學(xué)院,上海 200062)

    0 引 言

    分析型數(shù)據(jù)庫(kù)管理系統(tǒng)主要用于完成聯(lián)機(jī)分析處理 (Online Analytical Processing,OLAP) 任務(wù),這類系統(tǒng)被廣泛應(yīng)用于數(shù)智供應(yīng)鏈與物流科技、金融分析、銷售業(yè)務(wù)分析等數(shù)據(jù)管理領(lǐng)域,為這些領(lǐng)域提供復(fù)雜的分析處理服務(wù).在OLAP 負(fù)載中,查詢往往會(huì)涉及多個(gè)關(guān)系,即多表連接.數(shù)據(jù)庫(kù)查詢優(yōu)化器在處理多表連接查詢時(shí),會(huì)面對(duì)一個(gè)復(fù)雜的連接順序選擇 (Join Order Selection,JOS) 問(wèn)題,也稱為連接順序優(yōu)化問(wèn)題,即從連接順序搜索空間中選出性能最優(yōu)的連接順序.不同的連接順序在語(yǔ)義上等價(jià)(即能獲得相同的結(jié)果集),但是查詢效率有著顯著差異,在執(zhí)行時(shí)間上可能呈現(xiàn)幾個(gè)數(shù)量級(jí)的差異.因此,連接順序的選擇是一個(gè)十分關(guān)鍵的查詢優(yōu)化問(wèn)題[1].由于連接操作的交換性和結(jié)合性,隨著連接表數(shù)量的增加,搜索空間的大小會(huì)呈指數(shù)級(jí)增長(zhǎng),如考慮左深樹、右深樹和濃密樹時(shí),N個(gè)表連接的搜索空間高達(dá),無(wú)法在多項(xiàng)式時(shí)間內(nèi)解決.Ibaraki 等[2]證明了連接順序選擇是一個(gè)NP-hard 問(wèn)題.

    在研究連接順序優(yōu)化問(wèn)題時(shí),通常會(huì)以查詢中的表和連接關(guān)系作為結(jié)點(diǎn)和邊構(gòu)建連接圖,以圖的形式展現(xiàn)查詢中各表如何連接.在很大程度上,找到最優(yōu)連接順序的復(fù)雜度與連接圖的連接形狀有關(guān)[3].不同的連接形狀具有不同的優(yōu)化特性,對(duì)應(yīng)著不同的優(yōu)化策略及優(yōu)化難度,這為優(yōu)化器連接順序的選擇帶來(lái)很大的挑戰(zhàn).

    如果計(jì)算得到最優(yōu)連接順序,那么優(yōu)化算法本身將會(huì)耗費(fèi)大量時(shí)間,反而會(huì)降低查詢效率.因此,如何在優(yōu)化時(shí)間與優(yōu)化效果之間進(jìn)行權(quán)衡是連接順序優(yōu)化算法需要考慮的核心問(wèn)題.傳統(tǒng)的連接順序優(yōu)化算法會(huì)對(duì)連接順序的搜索空間進(jìn)行剪枝,如基于動(dòng)態(tài)規(guī)劃的方法[4-5]和基于啟發(fā)式算法的方法[6-8].隨著機(jī)器學(xué)習(xí)的發(fā)展,目前深度學(xué)習(xí)[9]和強(qiáng)化學(xué)習(xí)[10-13]也被運(yùn)用于處理連接順序優(yōu)化問(wèn)題.因?yàn)?連接順序的選擇,在很大程度上決定了數(shù)據(jù)庫(kù)分析處理的性能,所以,連接順序選擇問(wèn)題備受相關(guān)領(lǐng)域研究者的關(guān)注.然而,面對(duì)眾多連接順序選擇策略,如何評(píng)估它們的優(yōu)劣還是一個(gè)難點(diǎn)問(wèn)題.評(píng)估連接順序選擇策略就是計(jì)算優(yōu)化器所選連接順序的執(zhí)行時(shí)間與最優(yōu)連接順序執(zhí)行時(shí)間的相對(duì)差距.文獻(xiàn)[14]對(duì)已有基于學(xué)習(xí)的基數(shù)預(yù)估算法進(jìn)行評(píng)估,分析現(xiàn)有基于學(xué)習(xí)的方法是否適用于基數(shù)預(yù)估問(wèn)題.現(xiàn)有工作沒(méi)有一整套通用的評(píng)估連接順序選擇策略的方法,無(wú)法有效評(píng)估各種連接順序選擇策略的優(yōu)劣.同時(shí),目前已有的評(píng)測(cè)基準(zhǔn)和評(píng)測(cè)工具的數(shù)據(jù)大多缺乏真實(shí)應(yīng)用數(shù)據(jù)特征 (如多樣的傾斜度),且負(fù)載中往往只涉及鏈?zhǔn)健⑿切?、樹型等?jiǎn)單連接形狀,不能覆蓋所有連接形狀,無(wú)法針對(duì)不同連接形狀進(jìn)行有效評(píng)測(cè).

    為了有效評(píng)測(cè)優(yōu)化器在連接順序選擇上的優(yōu)化效果,本文設(shè)計(jì)了面向不同連接形狀的連接順序選擇策略評(píng)測(cè)工具.本文提出了基于主鍵的確定性數(shù)據(jù)生成方法、適用于不同連接形狀的連接模板生成算法、基于結(jié)果導(dǎo)向的參數(shù)實(shí)例化與過(guò)濾謂詞生成方法,實(shí)現(xiàn)對(duì)優(yōu)化器查詢處理性能的評(píng)估.

    1 相關(guān)工作

    常見的評(píng)測(cè)基準(zhǔn),比如,Star Schema Benchmark[15]、TPC-H[16]、TPC-DS[17]主要用于數(shù)據(jù)庫(kù)查詢執(zhí)行的整體性能評(píng)測(cè),其數(shù)據(jù)分布為均勻分布,而真實(shí)應(yīng)用場(chǎng)景中的數(shù)據(jù)往往為非均勻分布,有較大的數(shù)據(jù)傾斜度,并且其負(fù)載僅涉及鏈?zhǔn)?、樹型以及星型的?jiǎn)單連接形狀.因此,這些評(píng)測(cè)基準(zhǔn)無(wú)法對(duì)查詢優(yōu)化器的連接順序選擇進(jìn)行針對(duì)性評(píng)測(cè).

    基于網(wǎng)絡(luò)電影數(shù)據(jù)集(Internet Movie Data Base,IMDB)的Join Order Benchmark (JOB)[18]可用于評(píng)測(cè)基數(shù)預(yù)估、連接順序選擇,但是其數(shù)據(jù)集不可擴(kuò)展,數(shù)據(jù)傾斜度固定.同時(shí),雖然它提供了相對(duì)復(fù)雜的連接,單個(gè)查詢最大連接數(shù)為16 (平均值為8),但連接形狀均為含環(huán)型,因此,無(wú)法針對(duì)某一特定連接形狀進(jìn)行專項(xiàng)評(píng)測(cè),且缺乏連接順序選擇的評(píng)測(cè)指標(biāo).JOB 共有33 個(gè)查詢模板,每個(gè)模板只有2~ 5 個(gè)查詢,若要評(píng)測(cè)深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的連接順序優(yōu)化方法,JOB 作為訓(xùn)練數(shù)據(jù)來(lái)說(shuō)不夠充足.許多工作[19-21]會(huì)使用JOB 的子集JOB-LIGHT 進(jìn)行基數(shù)預(yù)估的評(píng)測(cè),它基于簡(jiǎn)化的IMDB 數(shù)據(jù)集,僅包含70 個(gè)查詢,且均為連接數(shù)小于或等于5 的星型負(fù)載.針對(duì)基數(shù)預(yù)估的評(píng)測(cè)基準(zhǔn)有STATSCEB[22]和IMDB-CEB[23],分別采用真實(shí)的數(shù)據(jù)集STATS 和IMDB,人工構(gòu)建查詢負(fù)載.它們?nèi)狈﹄S機(jī)可控的連接數(shù)目和豐富的連接形狀.

    目前有許多工作基于現(xiàn)有評(píng)測(cè)基準(zhǔn)的數(shù)據(jù)集與負(fù)載設(shè)計(jì)針對(duì)查詢優(yōu)化器的評(píng)測(cè)工具,它們大致分為兩類.第一類是面向查詢優(yōu)化器的某個(gè)特定部分的評(píng)測(cè).Gu 等[24]針對(duì)查詢優(yōu)化器的代價(jià)模型設(shè)計(jì)了評(píng)測(cè)工具TAQO,對(duì)優(yōu)化器候選執(zhí)行計(jì)劃列表的預(yù)估代價(jià)排名和真實(shí)代價(jià)排名進(jìn)行比較,得到優(yōu)化器所選執(zhí)行計(jì)劃的排名指標(biāo),以計(jì)算優(yōu)化器代價(jià)模型的準(zhǔn)確性.TAQO 只提出了評(píng)測(cè)方法與評(píng)測(cè)指標(biāo),沒(méi)有設(shè)計(jì)數(shù)據(jù)集與負(fù)載,在實(shí)驗(yàn)時(shí)使用TPC-H 作為測(cè)試負(fù)載.Qin 等[25]計(jì)算代價(jià)模型中磁盤代價(jià)估計(jì)的準(zhǔn)確性,實(shí)現(xiàn)細(xì)粒度的評(píng)測(cè)方法.

    第二類是面向查詢優(yōu)化器整體的評(píng)測(cè).Li 等[26]提出了評(píng)測(cè)查詢優(yōu)化器的工具OptMark,他們利用TPC-DS 的數(shù)據(jù)與負(fù)載,設(shè)計(jì)了基于質(zhì)量與效率的評(píng)價(jià)指標(biāo),用以評(píng)測(cè)整體優(yōu)化器的端到端性能.OptMark 關(guān)注優(yōu)化器選擇的最終物理執(zhí)行計(jì)劃的有效性.對(duì)于一個(gè)查詢,在其可遍歷的執(zhí)行計(jì)劃搜索空間中,優(yōu)化器所選出的默認(rèn)執(zhí)行計(jì)劃比其他執(zhí)行計(jì)劃耗時(shí)短,則稱該查詢?yōu)橛行Р樵?有效性是指有效查詢?cè)谒胁樵冎兴嫉谋壤?由于不同物理執(zhí)行計(jì)劃可能擁有相同的連接順序,該有效性指標(biāo)不能直觀反映連接順序的優(yōu)劣.TiDB 參考OptMark 的有效性指標(biāo),使用TPC-H 和JOB 的數(shù)據(jù)集和負(fù)載,實(shí)現(xiàn)了Horoscope 工具,以評(píng)估TiDB 的查詢優(yōu)化器性能.

    綜上所述,現(xiàn)有的評(píng)測(cè)基準(zhǔn)與評(píng)測(cè)工具有3 點(diǎn)不足: ①數(shù)據(jù)缺乏真實(shí)應(yīng)用數(shù)據(jù)特征,如多樣的傾斜度;② 負(fù)載缺乏隨機(jī)可控的連接數(shù)目和豐富的連接形狀;③缺乏有效的連接順序評(píng)測(cè)指標(biāo).因此,它們無(wú)法充分評(píng)測(cè)優(yōu)化器的連接順序選擇問(wèn)題,無(wú)法得到可靠的評(píng)測(cè)結(jié)果.

    2 連接形狀

    連接圖是以表為結(jié)點(diǎn),連接關(guān)系為邊的無(wú)向圖,展示查詢中各表之間的連接關(guān)系.示例1 中查詢包含4 張表(表A、表B、表C、表D)和4 個(gè)連接謂詞,該查詢的連接圖 (圖1),具有4 個(gè)頂點(diǎn)和4 條邊.

    圖1 示例1 的連接圖Fig.1 Join graph of example 1

    示例1SELECT COUNT(*) FROM A,B,C,D WHERE A.pk=B.fk1AND A.pk=C.fk1AND C.pk=B.fk2AND D.pk=B.fk3AND A.col1> 100 AND B.col2<=2000 AND C.col1+C.col2> 300 AND D.col1=400;

    連接圖根據(jù)連接形狀的不同,可以分為7 類 (圖2),分別為鏈?zhǔn)?、星型、樹型、環(huán)型、含環(huán)型、網(wǎng)格型和集團(tuán)型.

    圖2(a)是簡(jiǎn)單的鏈?zhǔn)竭B接形狀,查詢中的表按順序連接,在實(shí)際應(yīng)用中很常見,同時(shí)也較容易優(yōu)化.圖2(b)星型連接常見于數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用中,此類查詢中的表分為一張事實(shí)表和多張維度表.事實(shí)表是數(shù)據(jù)倉(cāng)庫(kù)中的中央表,存儲(chǔ)有事實(shí)記錄的表,如交易記錄、銷售明細(xì)、系統(tǒng)日志等;維度表用于保存維度的屬性值,即事實(shí)表中屬性的相關(guān)詳細(xì)信息,如日期維度表、產(chǎn)品維度表、用戶維度表等.星型可以看成將多張維度表連接到中央事實(shí)表.圖2(c)樹型可以看成是鏈?zhǔn)胶托切偷幕旌项愋?連接形式更加隨機(jī),會(huì)產(chǎn)生更大的連接順序搜索空間.圖2(d)環(huán)型中的所有表通過(guò)依賴關(guān)系連接形成一條環(huán)路,處理環(huán)路的復(fù)雜度高,給某些連接順序選擇策略帶來(lái)極大挑戰(zhàn).圖2(e)含環(huán)型的連接圖中至少存在一條環(huán)路,即可能存在多條環(huán)路,增大搜索空間以及延長(zhǎng)優(yōu)化時(shí)間.示例1 的連接形狀即含環(huán)型.圖2(f)網(wǎng)格型的連接圖呈現(xiàn)網(wǎng)格形狀,每張表至少與另外兩張表存在依賴關(guān)系.網(wǎng)格型由于存在大量的環(huán)而難以優(yōu)化.圖2(g)集團(tuán)型查詢中的任意兩張表之間都存在一個(gè)連接謂詞,是連接順序優(yōu)化的最壞情況.

    圖2 連接圖的不同形狀Fig.2 Shapes of join graphs

    連接形狀越復(fù)雜,對(duì)其優(yōu)化的時(shí)間復(fù)雜度和空間復(fù)雜度就越高.同時(shí),由于不同連接形狀的特性,適合一種連接形狀的連接順序優(yōu)化算法可能不適合另一種連接形狀,健壯的優(yōu)化器需針對(duì)不同的連接形狀采用不同的優(yōu)化策略.

    3 評(píng)測(cè)系統(tǒng)整體架構(gòu)

    評(píng)測(cè)系統(tǒng)整體架構(gòu)如圖3 所示,分為兩個(gè)部分: 測(cè)試場(chǎng)景生成器和連接順序評(píng)估器.測(cè)試場(chǎng)景生成器由模式生成、數(shù)據(jù)生成和負(fù)載生成3 個(gè)部分組成,連接順序評(píng)估器由查詢計(jì)劃解析、連接順序枚舉、連接順序評(píng)估3 個(gè)部分組成.

    圖3 系統(tǒng)整體架構(gòu)Fig.3 System architecture

    首先,系統(tǒng)讀入用戶定義的配置文件,配置文件的內(nèi)容包括: 數(shù)據(jù)庫(kù)配置、模式配置 (如生成表數(shù)量及規(guī)模、各表的屬性列數(shù)目、各表的屬性列數(shù)據(jù)分布、參與連接的表數(shù)量、查詢連接圖形狀等)、輸出文件保存路徑、其他自定義配置.測(cè)試場(chǎng)景生成器根據(jù)配置文件中的定義模式進(jìn)行模式生成,生成每張表的規(guī)模、每張表的屬性列數(shù)目及數(shù)據(jù)類型、屬性列的數(shù)據(jù)傾斜度、每張表的參照關(guān)系等.

    然后,數(shù)據(jù)生成模塊采用基于主鍵的確定性數(shù)據(jù)生成機(jī)制生成各屬性數(shù)據(jù).負(fù)載生成模塊包括連接圖生成和過(guò)濾謂詞生成兩部分,該模塊先基于各表的參照關(guān)系采樣生成具有不同連接形式的負(fù)載模版,再通過(guò)結(jié)果導(dǎo)向的參數(shù)實(shí)例化方法生成過(guò)濾謂詞.

    最后,測(cè)試場(chǎng)景生成器將所生成的數(shù)據(jù)和負(fù)載通過(guò)Java 數(shù)據(jù)庫(kù)連接 (Java Database Connectivity,JDBC) 接口導(dǎo)入數(shù)據(jù)庫(kù),將數(shù)據(jù)庫(kù)查詢優(yōu)化器所選擇的查詢計(jì)劃 (通過(guò)“EXPLAIN”關(guān)鍵字得到) 返回給連接順序評(píng)估器.由連接順序評(píng)估器對(duì)查詢計(jì)劃進(jìn)行解析以獲得優(yōu)化器選擇的連接順序,再將該連接順序與評(píng)估器采樣的連接順序共同放入評(píng)估池,對(duì)評(píng)估池中所有連接順序的性能進(jìn)行對(duì)比,最終輸出連接順序評(píng)估結(jié)果.

    4 測(cè)試場(chǎng)景生成器

    4.1 數(shù)據(jù)生成

    本文采用基于主鍵的確定性數(shù)據(jù)生成方式[27-28]進(jìn)行數(shù)據(jù)生成.數(shù)據(jù)生成器為每個(gè)屬性列指定生成函數(shù),屬性列的值以主鍵為自變量通過(guò)生成函數(shù)映射得到.數(shù)據(jù)生成器規(guī)定生成函數(shù)必須為滿射函數(shù),若滿射函數(shù)F:X →Y,則Y中的所有元素在X中都能找到原像.假設(shè)某張表的主鍵x∈[0,n],其屬性列c的生成函數(shù)為F(x) ,則主鍵x對(duì)應(yīng)屬性列c的值為y=F(x) ,其中y∈{y|y=F(x),x ∈[0,n]}.需要注意的是,非數(shù)字類型的數(shù)據(jù)類型 (如Varchar) 需要進(jìn)行類型轉(zhuǎn)化.通過(guò)定義符合分布的生成函數(shù)即可保證屬性列數(shù)據(jù)的分布,如高斯分布和ZipFian 分布.

    基于主鍵的數(shù)據(jù)映射 (生成) 實(shí)現(xiàn)了數(shù)據(jù)感知的參數(shù)實(shí)例化.在生成過(guò)濾謂詞時(shí),通過(guò)求解各屬性與主鍵的關(guān)聯(lián)關(guān)系的滿足性約束,即可感知可供采樣的數(shù)據(jù)范圍,故而保證查詢結(jié)果不為空,生成有效的查詢.

    4.2 負(fù)載生成

    為了實(shí)現(xiàn)對(duì)查詢優(yōu)化器連接順序選擇的質(zhì)量評(píng)測(cè),負(fù)載需要擁有不同的連接形狀、豐富的連接數(shù)量以及多樣的謂詞基數(shù).無(wú)論是現(xiàn)有的評(píng)測(cè)基準(zhǔn)負(fù)載,還是某現(xiàn)實(shí)應(yīng)用負(fù)載都不能包含所有負(fù)載特征,代表所有負(fù)載.本文的可配置負(fù)載生成能夠根據(jù)配置文件,生成滿足特定需求的負(fù)載,對(duì)負(fù)載的覆蓋面更廣,能更好地評(píng)估優(yōu)化器的優(yōu)化能力.

    負(fù)載生成階段按照給定配置文件從模式中選取規(guī)定數(shù)量的表以及各表之間的主外鍵參照關(guān)系,進(jìn)行連接圖的生成,接著通過(guò)結(jié)果導(dǎo)向的參數(shù)實(shí)例化生成基數(shù)不同 (且不為零) 的過(guò)濾謂詞.

    4.2.1 連接圖生成

    連接圖生成器生成連接圖G=(V,E) ,其中V是參與連接的表的集合,E是邊的集合,E中的每一條邊是連接兩張表的連接謂詞,表的連接關(guān)系由主外鍵參照關(guān)系決定.G的初始狀態(tài)為空集 (G=?),連接圖生成器依次對(duì)G進(jìn)行加點(diǎn)操作 (定義1) 或加邊操作 (定義2),直至得到符合配置要求的連接圖.

    定義1(加點(diǎn)操作) 向連接圖G=(V,E)中添加一個(gè)結(jié)點(diǎn)v,v要滿足以下條件:

    (1)vV;

    (2)存在連接謂詞使得v與集合中的某一結(jié)點(diǎn)u相連,即存在e=(u,v) ;

    (3)若連接形狀為樹型,則u∈V;若連接形狀為鏈?zhǔn)交颦h(huán)型,則u∈V且u的度為1;若連接形狀為星型,則u∈V且u為中央事實(shí)表.

    定義2(加邊操作) 向連接圖G=(V,E)中添加一條邊e=(u,v),u,v為兩個(gè)結(jié)點(diǎn),e滿足以下條件:

    2.2 治療前后兩組MAP、HR、SVV水平對(duì)比 治療后觀察組HR水平明顯高于對(duì)照組,而MAP、SVV水平均明顯低于對(duì)照組,差異有統(tǒng)計(jì)學(xué)意義(均P<0.05)。見表2。

    (1)eE;

    (2)u∈V且v∈V.

    適用于不同連接形狀的連接模板生成算法的基本思路是: 分別通過(guò)加點(diǎn)操作和加邊操作為連接圖添加新表和新的連接關(guān)系 (邊) 以生成高質(zhì)量的多表連接模板,使模板中的連接均為有效的主外鍵連接,且連接形狀與連接數(shù)目符合要求,如算法1 所示.

    首先,初始化連接圖G和度為1 的結(jié)點(diǎn)集合D為空集 (行1—2).接著加入第一張表,若生成星型連接,則選擇規(guī)模最大的表作為中央事實(shí)表加入連接圖G;若生成其他類型,則從所有表中隨機(jī)選擇一張表加入連接圖G(行3—7).然后,根據(jù)目標(biāo)連接形狀不斷向G中添加結(jié)點(diǎn)和邊直至結(jié)點(diǎn)數(shù)量滿足規(guī)定表數(shù)量為止 (行9—23).第9 行|V|表示集合V中元素的個(gè)數(shù),即當(dāng)前G中的結(jié)點(diǎn)數(shù)量.樹型連接的生成,規(guī)定每次向連接圖G中添加一個(gè)結(jié)點(diǎn)v與一條邊e,即進(jìn)行一次加點(diǎn)操作和一次加邊操作(行10—12).鏈?zhǔn)竭B接同樣進(jìn)行一次加點(diǎn)操作和一次加邊操作,且邊e需要連接結(jié)點(diǎn)v和度為1 的結(jié)點(diǎn)u.在鏈?zhǔn)竭B接生成過(guò)程中 (從加入第二張表起),需要同步更新度為1 的結(jié)點(diǎn)集合D,確保始終存在兩個(gè)度為1 的結(jié)點(diǎn),即首尾結(jié)點(diǎn) (行15—19).環(huán)型與鏈?zhǔn)较啾?相同的是所有表都處于一條鏈上,不同的是環(huán)型的首尾兩張表間存在一條邊.最后,環(huán)型的生成需要進(jìn)行一次額外加邊操作 (行24—27).星型連接生成將模式中規(guī)模最大的表作為中央事實(shí)表,隨機(jī)選擇其余表作為維度表.在選擇維度表時(shí),每次對(duì)連接圖進(jìn)行一次加點(diǎn)操作和一次加邊操作,且要求新加入的結(jié)點(diǎn)v與事實(shí)表存在依賴關(guān)系,新加入的邊e需要連接維度表v和事實(shí)表 (行21).當(dāng)參與連接的表數(shù)量為N時(shí),則算法循環(huán)N次,每次向連接圖中加入一張表,時(shí)間復(fù)雜度為O(N) .觀察常用的OLAP 評(píng)測(cè)基準(zhǔn)如TPC-H、TPC-DS、SSB、JOB 等,它們單個(gè)查詢的最大連接數(shù)為18,因此,N通常不是很大.

    4.2.2 過(guò)濾謂詞生成

    基數(shù)預(yù)估的結(jié)果影響代價(jià)模型,從而決定連接順序的選擇.而基數(shù)預(yù)估分為對(duì)基表過(guò)濾算子的預(yù)估和對(duì)連接算子的預(yù)估,4.2.1 節(jié)已由連接圖確定參與連接的關(guān)系以及連接條件,本節(jié)將在連接圖的基礎(chǔ)上生成基于單個(gè)表的標(biāo)準(zhǔn)過(guò)濾謂詞.

    參數(shù)實(shí)例化是過(guò)濾謂詞生成過(guò)程中不可或缺的部分,它控制算子的中間結(jié)果集大小,從而使得查詢優(yōu)化器選擇代價(jià)不同的查詢執(zhí)行計(jì)劃,直接影響查詢性能.本文采用基于結(jié)果導(dǎo)向的參數(shù)實(shí)例化算法[28],實(shí)現(xiàn)有效的查詢參數(shù)實(shí)例化.謂詞參數(shù)的取值范圍可由主鍵到屬性列的映射函數(shù)以及連接條件確定性得到,該算法根據(jù)取值范圍選擇合理的參數(shù),確保經(jīng)過(guò)參數(shù)實(shí)例化的過(guò)濾謂詞與連接謂詞有效,即無(wú)空值返回.

    5 連接順序評(píng)估器

    首先,連接順序評(píng)估器通過(guò)“EXPLAIN”關(guān)鍵字獲得查詢優(yōu)化器選擇的執(zhí)行計(jì)劃,從中提取出選定連接順序;其次,枚舉適當(dāng)數(shù)量的連接順序 (稱為枚舉空間),將優(yōu)化器選擇的連接順序與枚舉的連接順序共同放入同個(gè)評(píng)估池;再次,強(qiáng)制數(shù)據(jù)庫(kù)依次按照評(píng)估池中的連接順序執(zhí)行,得到各自的執(zhí)行時(shí)間;最后,利用兩個(gè)評(píng)估指標(biāo)對(duì)優(yōu)化器連接順序的選擇進(jìn)行評(píng)估.

    5.1 枚舉空間

    表1 連接順序的搜索空間Tab.1 Search space of join order

    執(zhí)行搜索空間中所有連接順序是十分耗時(shí)的,本節(jié)采用式 (1),以一定誤差和置信水平下的最小樣本數(shù)量作為枚舉空間大小[29].

    式(1)中:n是所需要枚舉空間大小;Z是置信水平的Z統(tǒng)計(jì)量,如95%置信水平的Z統(tǒng)計(jì)量為1.96;p是總體的估計(jì)差異性,該值一般未知,設(shè)定為0.5;e是相對(duì)誤差.

    在實(shí)驗(yàn)中設(shè)定置信水平為95%,相對(duì)誤差為10%,即Z=1.96,e=0.1,根據(jù)式 (1) 得到枚舉空間大小約為97 個(gè) (向上取整).

    5.2 評(píng)估指標(biāo)

    為了評(píng)價(jià)查詢優(yōu)化器的連接順序優(yōu)劣,本節(jié)引入兩個(gè)評(píng)估指標(biāo): MRR (Mean Reciprocal Rank)和偏差.MRR 著重于查詢優(yōu)化器所選連接順序的排名,偏差對(duì)比查詢優(yōu)化器所選連接順序的執(zhí)行時(shí)間與枚舉空間中所有連接順序的執(zhí)行時(shí)間最小值,計(jì)算它們之間的相對(duì)偏離程度.同時(shí),為了分析基數(shù)預(yù)估對(duì)連接順序選擇的影響,本文使用Q-error 計(jì)算基數(shù)預(yù)估的誤差.

    (1) MRR

    MRR 值常用于檢索系統(tǒng)中評(píng)估系統(tǒng)的性能,表示正確檢索結(jié)果在全體檢索結(jié)果中的排名.其公式為,其中Q代表查詢的個(gè)數(shù),ri是對(duì)于第i個(gè)查詢,將查詢優(yōu)化器選擇的連接順序和枚舉的連接順序的執(zhí)行時(shí)間從小到大排序,查詢優(yōu)化器選擇的連接順序的執(zhí)行時(shí)間的排名.

    若有3 個(gè)查詢,查詢優(yōu)化器選擇的連接順序排名分別為1、3、5,則可得

    (2) 偏差

    偏差計(jì)算優(yōu)化器所選連接順序的執(zhí)行時(shí)間與最優(yōu) (最短) 執(zhí)行時(shí)間之間的偏差.其公式為,其中D表示偏差,t表示優(yōu)化器所選連接順序的執(zhí)行時(shí)間,tb表示枚舉的連接順序搜索空間中最優(yōu) (最短) 的執(zhí)行時(shí)間.

    通過(guò)MRR 值的排名情況可以判斷連接順序的優(yōu)劣,但有時(shí)雖然優(yōu)化器選擇的連接順序排名較低,其與最優(yōu)連接順序的執(zhí)行時(shí)間卻相差不大.因此,MRR 值低并不一定表明連接順序選擇效果差;MRR 值低且執(zhí)行時(shí)間偏差大則說(shuō)明連接順序選擇較差.本文通過(guò)結(jié)合MRR 與偏差,對(duì)連接順序選擇性能進(jìn)行有效評(píng)估.

    (3) Q-error

    Q-error 計(jì)算優(yōu)化器的預(yù)估基數(shù)與真實(shí)基數(shù)的誤差,用以評(píng)估基數(shù)預(yù)估的準(zhǔn)確性.其公式為,其中e表示優(yōu)化器預(yù)估的基數(shù),a表示真實(shí)的基數(shù),Qe=1 表示預(yù)估準(zhǔn)確.

    6 實(shí)驗(yàn)分析

    6.1 實(shí)驗(yàn)環(huán)境和測(cè)試場(chǎng)景

    本文在OceanBase (v3.1.2)和PostgreSQL (v14)上進(jìn)行實(shí)驗(yàn),其中OceanBase 為單機(jī)版本.數(shù)據(jù)庫(kù)分別部署在兩臺(tái)8 核CPU、32 GB 內(nèi)存的機(jī)器上,本文的評(píng)測(cè)工具部署在一臺(tái)4 核CPU、16 GB 內(nèi)存的機(jī)器上.

    為生成盡可能豐富多變的多表連接負(fù)載,測(cè)試場(chǎng)景生成器生成20 張不同的表,規(guī)模最小為千行(約245 kB)、最大為千萬(wàn)行 (約3.6 GB).每張表?yè)碛袛?shù)量不等的屬性列與外鍵約束.實(shí)驗(yàn)負(fù)載包含3~ 9張表的多表連接查詢,連接形狀包括鏈?zhǔn)?、星型、樹型和環(huán)型.

    6.2 實(shí)驗(yàn)結(jié)果

    本節(jié)評(píng)估OceanBase 和PostgreSQL 在4 種連接形狀 (鏈?zhǔn)?、星型、樹型和環(huán)型) 下選定連接順序的性能.測(cè)試場(chǎng)景生成器為每種連接形狀隨機(jī)生成50 個(gè)查詢.連接順序評(píng)估器為每個(gè)查詢枚舉除優(yōu)化器選擇的連接順序之外的97 個(gè)不同的連接順序,共98 個(gè)連接順序構(gòu)成評(píng)估池,強(qiáng)制待測(cè)試數(shù)據(jù)庫(kù)以評(píng)估池中的規(guī)定連接順序運(yùn)行查詢,從而得到執(zhí)行時(shí)間.具體地,OceanBase 通過(guò)“HINT LEADING”關(guān)鍵字實(shí)現(xiàn)規(guī)定連接順序,PostgreSQL 通過(guò)“SET join_collapse_limit=1” 語(yǔ)句實(shí)現(xiàn)規(guī)定連接順序.OceanBase 和PostgreSQL 的評(píng)估池是相同的,即二者的評(píng)估池包含98 個(gè)相同的連接順序.為了消除執(zhí)行計(jì)劃緩存對(duì)實(shí)驗(yàn)的影響,實(shí)驗(yàn)設(shè)置關(guān)閉數(shù)據(jù)庫(kù)的執(zhí)行計(jì)劃緩存.注意實(shí)驗(yàn)設(shè)置3 張表參與連接時(shí)只產(chǎn)生鏈?zhǔn)胶铜h(huán)型.

    表2 展示了OceanBase 和PostgreSQL 執(zhí)行4 種連接形狀的多表連接查詢時(shí)的MRR 結(jié)果.如表2 所示,對(duì)于鏈?zhǔn)?、樹型和環(huán)型的多表連接,PostgreSQL 的MRR 值均高于OceanBase,表明PostgreSQL 的連接順序排名整體優(yōu)于OceanBase,而兩者對(duì)星型的排名無(wú)明顯差異.先由MRR 值觀察到兩數(shù)據(jù)庫(kù)的整體連接順序排名情況,下文結(jié)合偏差分布對(duì)評(píng)估結(jié)果進(jìn)行分析.

    表2 OceanBase 和PostgreSQL 執(zhí)行4 種連接形狀的多表連接查詢時(shí)的MRR 結(jié)果Tab.2 MRR results for OceanBase and PostgreSQL when processing multi-table-join queries with four join shapes

    圖4—6 為箱型圖,展示了目標(biāo)數(shù)據(jù)的最小值、上四分位數(shù)、中位數(shù)、下四分位數(shù)與最大值,是常用的表示目標(biāo)數(shù)據(jù)分布的一種統(tǒng)計(jì)圖.圖4 展示了OceanBase 執(zhí)行4 種連接形狀的多表連接查詢時(shí)的偏差分布情況,橫坐標(biāo)表示參與連接的表數(shù)量,縱坐標(biāo)表示優(yōu)化器所選擇的連接順序的執(zhí)行時(shí)間與最優(yōu)執(zhí)行時(shí)間的偏差.圖4(a)展示了OceanBase 處理鏈?zhǔn)降亩啾磉B接的結(jié)果分布,當(dāng)參與連接表的數(shù)量為3 時(shí),偏差的中位數(shù)為1.3%,偏差的均值為8.9%,位于數(shù)據(jù)序列25% (下四分位) 至75% (上四分位) 位置的偏差的范圍為0~ 11.5%,3 個(gè)偏差分布中的異常值 (離群點(diǎn)) 分別為37.7%、39.1%和40.7%.IQR (Inter-Quartile Range) 為內(nèi)距,又稱為四分位差,1.5IQR 的上邊緣表示偏離上四分位數(shù)1.5 倍距離內(nèi)的最大極值點(diǎn),如圖4(a)中表數(shù)量為5 時(shí)的1.5IQR 上邊緣為49.7%;1.5IQR 的下邊緣表示偏離下四分位數(shù)1.5 倍距離的最小極值點(diǎn),如圖4(a)中表數(shù)量為5 時(shí)的1.5IQR 下邊緣為0.當(dāng)參與連接表的數(shù)量小于或等于5 時(shí),偏差大部分低于20%.當(dāng)參與連接的表數(shù)量從3 增長(zhǎng)到6 時(shí),偏差整體呈現(xiàn)增長(zhǎng)趨勢(shì),這表明隨著參與連接的表數(shù)量的增大,OceanBase 選擇的連接順序與最優(yōu)連接順序之間的執(zhí)行時(shí)間偏差越來(lái)越大.優(yōu)化器從連接順序搜索空間中選擇出最優(yōu)連接順序的效果降低.圖4(b)展示了OceanBase 在處理星型連接時(shí)的平均偏差均低于10%,除了當(dāng)參與連接的表數(shù)量為9 時(shí),有一偏差的異常值為73%外,其余偏差的異常值均低于20%,該結(jié)果表明OceanBase 對(duì)星型連接的處理效果較好,且優(yōu)化性能穩(wěn)定.然而經(jīng)統(tǒng)計(jì),OceanBase 對(duì)星型連接的平均執(zhí)行時(shí)間為27 s,而PostgreSQL處理相同查詢的平均執(zhí)行時(shí)間只需1.5 s,因此,OceanBase 仍需提升對(duì)大數(shù)據(jù)量負(fù)載的優(yōu)化能力.將圖4(c)和圖4(a)對(duì)比可知,OceanBase 處理樹型連接的偏差均值全都高于鏈?zhǔn)?尤其當(dāng)表數(shù)量為8 和9 時(shí),樹型的偏差明顯比鏈?zhǔn)降钠畲?這說(shuō)明隨著連接形狀復(fù)雜度的增大,優(yōu)化器的連接順序優(yōu)化效果降低.圖4(d)的結(jié)果展示了OceanBase 處理環(huán)型連接的偏差分布變化趨勢(shì)與處理鏈?zhǔn)竭B接的偏差分布變化趨勢(shì)相似,不同的是其處理鏈?zhǔn)竭B接時(shí),圖4(a)中異常值的偏差都低于80%,而處理環(huán)型時(shí)存在偏差高于100%的異常值,這說(shuō)明存在多表連接負(fù)載的實(shí)際執(zhí)行時(shí)間比最優(yōu)執(zhí)行時(shí)間長(zhǎng)2 倍以上.觀察圖4(d)上偏差的最大異常值,OceanBase 選擇的連接順序執(zhí)行時(shí)間為5 484 ms,最優(yōu)執(zhí)行時(shí)間為2 442 ms,兩者相差約3 s,這在實(shí)際應(yīng)用中難以接受.OceanBase 在處理鏈?zhǔn)脚c環(huán)型連接時(shí),在偏差的異常值上的差異表明存在環(huán)路復(fù)雜連接會(huì)對(duì)優(yōu)化器帶來(lái)挑戰(zhàn).

    圖4 OceanBase 執(zhí)行4 種連接形狀的多表連接查詢時(shí)的偏差分布情況Fig.4 Distribution of deviation on OceanBase when processing multi-table-join queries with four join shapes

    為了進(jìn)一步分析優(yōu)化器何時(shí)錯(cuò)誤選擇的連接順序,本節(jié)通過(guò)查看異常值查詢的執(zhí)行計(jì)劃,發(fā)現(xiàn)此類查詢的算子預(yù)估基數(shù)與真實(shí)基數(shù)相差較大.異常值查詢的單表過(guò)濾算子的基數(shù)預(yù)估Qe的平均值為2.9,連接算子的基數(shù)預(yù)估Qe的平均值為51.6.OceanBase 通過(guò)最值統(tǒng)計(jì)、distinct 值統(tǒng)計(jì)等統(tǒng)計(jì)信息進(jìn)行基數(shù)預(yù)估,3.2 版本以上增加直方圖統(tǒng)計(jì).在聯(lián)合謂詞和連接謂詞的基數(shù)預(yù)估時(shí),OceanBase 假設(shè)數(shù)據(jù)均勻分布和謂詞相互獨(dú)立,這些假設(shè)會(huì)導(dǎo)致基數(shù)預(yù)估存在誤差.隨著謂詞之間的相互交叉增多以及連接層次的深入,基數(shù)預(yù)估的誤差會(huì)越來(lái)越大.錯(cuò)誤的基數(shù)估計(jì)使得優(yōu)化器代價(jià)模型在計(jì)算算子代價(jià)時(shí)會(huì)產(chǎn)生較大誤差,最終令優(yōu)化器選擇了性能較差的連接順序.由此可見,連接順序選擇效果受到錯(cuò)誤預(yù)估基數(shù)的影響較大.

    圖4(a)中當(dāng)表數(shù)量增加到7 時(shí),偏差整體呈現(xiàn)下降趨勢(shì).這是因?yàn)楸緦?shí)驗(yàn)設(shè)置置信水平為95%、相對(duì)誤差為10%的枚舉空間大小為97 個(gè),該枚舉空間與龐大的多表連接搜索空間對(duì)比相對(duì)較小.連接順序評(píng)估器很可能沒(méi)有隨機(jī)選到最優(yōu)的連接順序.圖5 以O(shè)ceanBase 為例展示了枚舉空間大小對(duì)評(píng)估結(jié)果的影響.當(dāng)式 (1) 中置信水平為95%、相對(duì)誤差為10%時(shí),枚舉空間大小為385 個(gè).圖5 對(duì)比了枚舉空間為97 個(gè)和385 個(gè)時(shí),OceanBase 執(zhí)行鏈?zhǔn)?、星型、樹型和環(huán)型負(fù)載時(shí)選擇的連接順序執(zhí)行時(shí)間與最優(yōu)執(zhí)行時(shí)間的偏差結(jié)果,實(shí)驗(yàn)設(shè)置參與連接的表數(shù)量為5.圖5 的橫坐標(biāo)分別為4 種類型的枚舉空間大小,縱坐標(biāo)為優(yōu)化器選擇的連接順序的執(zhí)行時(shí)間與最優(yōu)執(zhí)行時(shí)間的偏差.從圖5 中可以看出,當(dāng)枚舉空間增大時(shí),4 種形狀的偏差整體呈現(xiàn)增長(zhǎng)趨勢(shì),枚舉空間為385 個(gè)的中位線和均值比枚舉空間為97 個(gè)的中位線與均值分別平均增長(zhǎng)了26.7%和27.1%.結(jié)果表明,圖4(a)的下降趨勢(shì)與枚舉空間的大小有關(guān).盡管相對(duì)較小的枚舉空間會(huì)影響最終的評(píng)估結(jié)果,但本文的工具依舊能夠發(fā)現(xiàn)優(yōu)化器的不足,如圖4 所示,當(dāng)參與連接的表數(shù)量越多,偏差的異常值的數(shù)目越多,而偏差的異常值意味著優(yōu)化器對(duì)某些多表連接負(fù)載的優(yōu)化效果很差,使其執(zhí)行時(shí)間明顯長(zhǎng)于最優(yōu)時(shí)間 (偏差高于50%).

    圖5 枚舉空間大小對(duì)評(píng)估結(jié)果的影響Fig.5 Influence of enumeration space on evaluation results

    圖6 展示了PostgreSQL 執(zhí)行4 種連接形狀的多表連接查詢時(shí)的偏差分布情況,橫坐標(biāo)表示參與連接的表數(shù)量,縱坐標(biāo)表示優(yōu)化器選擇的連接順序的執(zhí)行時(shí)間與最優(yōu)執(zhí)行時(shí)間的偏差.圖6(a)—(d)4 種連接形狀平均偏差大部分都低于15%,且4 種連接形狀的執(zhí)行性能沒(méi)有明顯差異,這表明PostgreSQL 優(yōu)化器的連接順序選擇策略較健壯.但圖6(b)展示星型負(fù)載的偏差均值皆高于圖5(b),且存在更多的偏差異常值,這表明PostgreSQL 對(duì)星型連接的連接順序選擇策略有待改進(jìn).計(jì)算圖6 中偏差異常值對(duì)應(yīng)的執(zhí)行計(jì)劃的算子基數(shù)預(yù)估準(zhǔn)確度,得到單表過(guò)濾算子的Qe平均值為4.6,連接算子的Qe平均值為180.1,與OceanBase 不同的是,PostgreSQL 在大多數(shù)情況下低估了算子的基數(shù).PostgreSQL 通過(guò)直方圖、最頻值和distinct 值等統(tǒng)計(jì)信息進(jìn)行基數(shù)估計(jì).PostgreSQL 的基數(shù)預(yù)估基于3 條假設(shè): ①均勻性,所有值 (除了頻率最高的項(xiàng)) 都是均勻分布的;②獨(dú)立性,所有謂詞都是相互獨(dú)立的;③包含原則,連接鍵的值域有重合.基于以上假設(shè),PostgreSQL 對(duì)聯(lián)合謂詞和連接謂詞的基數(shù)預(yù)估同樣會(huì)存在較大誤差.由此可見,PostgreSQL 的連接順序選擇策略也會(huì)受糟糕基數(shù)預(yù)估的影響而產(chǎn)生巨大偏差.由于枚舉空間的影響,多表連接的評(píng)估池中包含更優(yōu)連接順序的概率較低,因此,圖6 中當(dāng)參與連接的表數(shù)量為8 和9 時(shí),鏈?zhǔn)?、樹型、環(huán)型的偏差較低,并且表2 中當(dāng)參與連接的表數(shù)量為8 和9 時(shí),PostgreSQL 運(yùn)行這3 類形狀的負(fù)載時(shí)MRR 值較高.

    圖6 PostgreSQL 執(zhí)行4 種連接形狀的多表連接查詢時(shí)的偏差分布情況Fig.6 Distribution of deviation on PostgreSQL when processing multi-table-join queries with four join shapes

    以上實(shí)驗(yàn)表明,PostgreSQL 在處理鏈?zhǔn)?、樹型、環(huán)型連接時(shí)的整體連接順序選擇效果優(yōu)于OceanBase,但在星型連接上的優(yōu)化效果不如OceanBase.PostgreSQL 在處理4 種連接形狀時(shí)性能較穩(wěn)定;OceanBase 除對(duì)星型有穩(wěn)定的優(yōu)化效果外,在處理其余類型時(shí),隨著表數(shù)量的增大,優(yōu)化效果降低,并且受連接形狀復(fù)雜度的影響,其在處理樹型和環(huán)型連接時(shí)的優(yōu)化效果劣于鏈?zhǔn)?

    7 結(jié)論和未來(lái)工作

    針對(duì)優(yōu)化器的連接順序選擇問(wèn)題,本文實(shí)現(xiàn)了一個(gè)通用的評(píng)估工具,有效評(píng)測(cè)優(yōu)化器在連接順序選擇上的優(yōu)化效果.本文使用基于主鍵的確定性數(shù)據(jù)生成方法生成測(cè)試場(chǎng)景數(shù)據(jù);使用適用于不同連接形狀的連接模板生成算法以及基于結(jié)果導(dǎo)向的參數(shù)實(shí)例化方法生成測(cè)試場(chǎng)景負(fù)載;使用連接順序評(píng)估器實(shí)現(xiàn)執(zhí)行計(jì)劃的解析與連接順序的枚舉,實(shí)現(xiàn)對(duì)優(yōu)化器連接順序優(yōu)劣的評(píng)估.經(jīng)過(guò)對(duì)OceanBase 和PostgreSQL 的評(píng)估,發(fā)現(xiàn)了兩者在連接順序選擇效果上的差異與各自的不足之處.

    目前,本文評(píng)估工具只支持內(nèi)連接,不支持外連接;支持主鍵-外鍵連接、外鍵-外鍵連接,不支持非主外鍵連接.在未來(lái)工作中,將擴(kuò)展本文工具生成負(fù)載的連接模式,使其覆蓋更全面的負(fù)載類型.

    猜你喜歡
    環(huán)型枚舉星型
    后裝治療系統(tǒng)中使用環(huán)型施源器放射源駐留位置偏差值驗(yàn)證
    基于理解性教學(xué)的信息技術(shù)教學(xué)案例研究
    速讀·上旬(2022年2期)2022-04-10 16:42:14
    一種高效的概率圖上Top-K極大團(tuán)枚舉算法
    增加斷電連鎖 減少絞傷風(fēng)險(xiǎn)
    一種環(huán)型橡膠條防凍測(cè)試用拉伸定位治具
    金銀點(diǎn)綴
    環(huán)型混凝土電桿生產(chǎn)工藝控制及關(guān)鍵技術(shù)
    基于太陽(yáng)影子定位枚舉法模型的研究
    D-π-A星型分子的合成及非線性光學(xué)性質(zhì)
    波環(huán)型面滑片壓縮機(jī)的結(jié)構(gòu)特征和工作機(jī)理研究
    河南科技(2014年16期)2014-02-27 14:13:17
    美女脱内裤让男人舔精品视频| 国产成人精品福利久久| 美女脱内裤让男人舔精品视频| 亚洲欧美日韩东京热| 99热这里只有精品一区| 久久精品久久久久久久性| 简卡轻食公司| av在线天堂中文字幕| 日日撸夜夜添| 国产精品综合久久久久久久免费| 久久久久久久久久久免费av| 国产精品福利在线免费观看| 色5月婷婷丁香| 日韩在线高清观看一区二区三区| 大香蕉久久网| 大香蕉久久网| 欧美+日韩+精品| 中文字幕免费在线视频6| 精品人妻偷拍中文字幕| 最近最新中文字幕大全电影3| 免费黄色在线免费观看| 老司机影院成人| 午夜精品在线福利| 日韩人妻高清精品专区| 性插视频无遮挡在线免费观看| 精品久久久久久电影网| 国产乱人视频| 黄色一级大片看看| 真实男女啪啪啪动态图| 在线免费观看不下载黄p国产| 亚洲欧美日韩卡通动漫| 国产视频首页在线观看| 日本wwww免费看| 亚洲成人中文字幕在线播放| 在线观看av片永久免费下载| 欧美不卡视频在线免费观看| 一个人观看的视频www高清免费观看| 亚洲av日韩在线播放| 精品国产露脸久久av麻豆 | 99热6这里只有精品| 韩国高清视频一区二区三区| 亚洲精品成人av观看孕妇| 亚洲欧美中文字幕日韩二区| 免费看美女性在线毛片视频| 成人毛片60女人毛片免费| 亚洲av二区三区四区| 网址你懂的国产日韩在线| 少妇高潮的动态图| 精品国产一区二区三区久久久樱花 | 观看免费一级毛片| 女人被狂操c到高潮| 日韩欧美精品免费久久| 性插视频无遮挡在线免费观看| 欧美成人a在线观看| 天堂俺去俺来也www色官网 | 成人欧美大片| 日韩视频在线欧美| 看黄色毛片网站| 黄色日韩在线| 美女脱内裤让男人舔精品视频| .国产精品久久| 肉色欧美久久久久久久蜜桃 | 欧美一级a爱片免费观看看| 国产伦理片在线播放av一区| 国产91av在线免费观看| 中文字幕人妻熟人妻熟丝袜美| 精品久久久久久久久久久久久| 丝瓜视频免费看黄片| 蜜桃亚洲精品一区二区三区| 欧美 日韩 精品 国产| 干丝袜人妻中文字幕| 最后的刺客免费高清国语| 成人午夜高清在线视频| 亚洲国产欧美人成| 亚洲av成人av| 97超视频在线观看视频| 日韩伦理黄色片| 99久久中文字幕三级久久日本| 一区二区三区四区激情视频| 51国产日韩欧美| 中文字幕人妻熟人妻熟丝袜美| 美女被艹到高潮喷水动态| 精品不卡国产一区二区三区| 日韩制服骚丝袜av| 中国国产av一级| 99热这里只有是精品在线观看| 久久久久久久亚洲中文字幕| 国产午夜福利久久久久久| 我的女老师完整版在线观看| 欧美xxxx黑人xx丫x性爽| 国产精品一区www在线观看| 久久韩国三级中文字幕| 精品国产一区二区三区久久久樱花 | 三级男女做爰猛烈吃奶摸视频| 亚洲欧美成人精品一区二区| 免费黄频网站在线观看国产| 亚洲成人一二三区av| 欧美xxxx黑人xx丫x性爽| 禁无遮挡网站| 午夜激情福利司机影院| 精品少妇黑人巨大在线播放| 国产精品福利在线免费观看| 一级毛片久久久久久久久女| 人妻系列 视频| 久久久a久久爽久久v久久| 看免费成人av毛片| 日本免费在线观看一区| 99久久精品热视频| 亚洲欧美日韩卡通动漫| 亚洲不卡免费看| 99re6热这里在线精品视频| 亚洲精品乱码久久久久久按摩| 免费av毛片视频| 99re6热这里在线精品视频| 久久久亚洲精品成人影院| 一边亲一边摸免费视频| 亚洲精品日本国产第一区| 欧美成人一区二区免费高清观看| 三级国产精品欧美在线观看| av线在线观看网站| 亚洲国产成人一精品久久久| 性插视频无遮挡在线免费观看| 美女内射精品一级片tv| 天天躁日日操中文字幕| 久久韩国三级中文字幕| 日本av手机在线免费观看| 乱人视频在线观看| 一级毛片我不卡| 亚洲精品国产av蜜桃| 亚洲色图av天堂| 日韩av不卡免费在线播放| 亚洲国产av新网站| 欧美xxxx黑人xx丫x性爽| 熟女人妻精品中文字幕| 日韩欧美国产在线观看| 寂寞人妻少妇视频99o| 亚洲av男天堂| 成人av在线播放网站| 国产高清三级在线| 色网站视频免费| 日产精品乱码卡一卡2卡三| 国产精品av视频在线免费观看| 一本久久精品| 观看免费一级毛片| 国产老妇女一区| 国产国拍精品亚洲av在线观看| 一级毛片我不卡| 丝瓜视频免费看黄片| 国产免费福利视频在线观看| 一级a做视频免费观看| 99久国产av精品国产电影| av黄色大香蕉| 十八禁国产超污无遮挡网站| 2022亚洲国产成人精品| 偷拍熟女少妇极品色| 久99久视频精品免费| 国产伦在线观看视频一区| 久久久午夜欧美精品| 综合色av麻豆| 欧美xxxx性猛交bbbb| 十八禁网站网址无遮挡 | 精品一区在线观看国产| 久久久色成人| 亚洲不卡免费看| 麻豆久久精品国产亚洲av| 日韩制服骚丝袜av| 亚洲四区av| 午夜久久久久精精品| 久久久亚洲精品成人影院| 国产精品日韩av在线免费观看| 亚洲四区av| 国产一区有黄有色的免费视频 | 色综合站精品国产| 能在线免费看毛片的网站| 日本黄色片子视频| 亚洲电影在线观看av| 国产成年人精品一区二区| 美女内射精品一级片tv| 成人一区二区视频在线观看| 午夜福利在线在线| 国产亚洲91精品色在线| 韩国高清视频一区二区三区| 久久久久久久久久久免费av| 人妻夜夜爽99麻豆av| 一级毛片 在线播放| 色综合色国产| 九九爱精品视频在线观看| 成人一区二区视频在线观看| 80岁老熟妇乱子伦牲交| 欧美97在线视频| 伊人久久精品亚洲午夜| 亚洲av二区三区四区| 久久久久久九九精品二区国产| 3wmmmm亚洲av在线观看| 亚洲国产欧美人成| 69av精品久久久久久| 国产高清三级在线| 日韩欧美 国产精品| 日韩不卡一区二区三区视频在线| 亚洲精品久久午夜乱码| 亚洲在线观看片| 国内精品美女久久久久久| 成人漫画全彩无遮挡| 精品一区在线观看国产| 麻豆乱淫一区二区| 久久久久国产网址| 淫秽高清视频在线观看| 特大巨黑吊av在线直播| 人妻制服诱惑在线中文字幕| 蜜臀久久99精品久久宅男| 天堂√8在线中文| 又爽又黄无遮挡网站| 国产探花极品一区二区| ponron亚洲| 黄片wwwwww| 免费电影在线观看免费观看| 中国国产av一级| 久久精品国产亚洲网站| 亚洲成人久久爱视频| 欧美3d第一页| 久久久欧美国产精品| 高清午夜精品一区二区三区| 五月伊人婷婷丁香| 国产一区二区亚洲精品在线观看| 免费看美女性在线毛片视频| av国产久精品久网站免费入址| 亚洲国产色片| 国产人妻一区二区三区在| 精品一区二区三区视频在线| 18禁动态无遮挡网站| 成人综合一区亚洲| 免费观看av网站的网址| 久久久亚洲精品成人影院| 久久久国产一区二区| 99九九线精品视频在线观看视频| 成人无遮挡网站| 免费看日本二区| 国产精品久久久久久久久免| 狂野欧美激情性xxxx在线观看| 亚洲最大成人av| 国产片特级美女逼逼视频| 高清毛片免费看| 91精品一卡2卡3卡4卡| 一级毛片黄色毛片免费观看视频| 日本熟妇午夜| 街头女战士在线观看网站| 一级a做视频免费观看| 午夜老司机福利剧场| 国产日韩欧美在线精品| 国产有黄有色有爽视频| 一级毛片 在线播放| videossex国产| 国产精品伦人一区二区| 内射极品少妇av片p| 中文字幕av在线有码专区| 天堂中文最新版在线下载 | 2021少妇久久久久久久久久久| 美女内射精品一级片tv| 日韩一区二区三区影片| 免费观看a级毛片全部| 国产午夜福利久久久久久| 亚洲怡红院男人天堂| 天天躁日日操中文字幕| 丝袜喷水一区| 午夜福利在线观看免费完整高清在| 噜噜噜噜噜久久久久久91| 美女高潮的动态| 国产毛片a区久久久久| 亚洲av免费在线观看| 亚洲精品456在线播放app| 国产老妇女一区| 舔av片在线| 日日啪夜夜爽| 亚洲av国产av综合av卡| av卡一久久| 大又大粗又爽又黄少妇毛片口| 全区人妻精品视频| 一级二级三级毛片免费看| 国产乱人偷精品视频| 久久久久久九九精品二区国产| 卡戴珊不雅视频在线播放| 久久精品国产亚洲av天美| av在线蜜桃| 日韩成人av中文字幕在线观看| 美女高潮的动态| 色综合色国产| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 国产黄色免费在线视频| 26uuu在线亚洲综合色| 精品久久久久久久久亚洲| 日本免费a在线| 最近视频中文字幕2019在线8| 最近手机中文字幕大全| 精品99又大又爽又粗少妇毛片| 80岁老熟妇乱子伦牲交| 91精品伊人久久大香线蕉| 成人鲁丝片一二三区免费| 国产精品伦人一区二区| 女人被狂操c到高潮| 久久99热6这里只有精品| 欧美潮喷喷水| 久久人人爽人人片av| 99热这里只有是精品在线观看| 国产免费又黄又爽又色| 国产伦理片在线播放av一区| 99re6热这里在线精品视频| 纵有疾风起免费观看全集完整版 | 国产高清三级在线| 伦精品一区二区三区| 寂寞人妻少妇视频99o| 亚洲国产欧美人成| 在线 av 中文字幕| 色哟哟·www| 少妇人妻一区二区三区视频| 亚洲怡红院男人天堂| 日本av手机在线免费观看| 久久精品久久久久久久性| 国产探花在线观看一区二区| 精品国产露脸久久av麻豆 | 国产一区二区三区综合在线观看 | 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 白带黄色成豆腐渣| 天天躁夜夜躁狠狠久久av| 国产一区亚洲一区在线观看| 91精品伊人久久大香线蕉| 国产在视频线精品| 国产一级毛片在线| 天天一区二区日本电影三级| 亚洲精华国产精华液的使用体验| 欧美日韩精品成人综合77777| 777米奇影视久久| 男插女下体视频免费在线播放| 嘟嘟电影网在线观看| 伦理电影大哥的女人| av免费观看日本| 日本猛色少妇xxxxx猛交久久| 最近手机中文字幕大全| 中文字幕免费在线视频6| 99久久九九国产精品国产免费| 欧美激情久久久久久爽电影| 国产黄频视频在线观看| 国产亚洲午夜精品一区二区久久 | 淫秽高清视频在线观看| 国模一区二区三区四区视频| 观看免费一级毛片| 三级男女做爰猛烈吃奶摸视频| 久久人人爽人人爽人人片va| 在现免费观看毛片| 午夜视频国产福利| 婷婷六月久久综合丁香| 舔av片在线| 狂野欧美白嫩少妇大欣赏| av黄色大香蕉| 夜夜看夜夜爽夜夜摸| 亚洲成人中文字幕在线播放| 女人十人毛片免费观看3o分钟| 日韩一区二区三区影片| 日日啪夜夜爽| 国产乱人偷精品视频| 国产精品99久久久久久久久| 国产老妇女一区| 亚洲乱码一区二区免费版| 我的女老师完整版在线观看| 久久久精品欧美日韩精品| 亚洲va在线va天堂va国产| 亚洲国产成人一精品久久久| 秋霞伦理黄片| 久久国产乱子免费精品| 青春草亚洲视频在线观看| 少妇熟女欧美另类| 国产成人午夜福利电影在线观看| 大话2 男鬼变身卡| 亚洲乱码一区二区免费版| 美女主播在线视频| 国产精品一区二区三区四区久久| 男女下面进入的视频免费午夜| 日韩av免费高清视频| 日本一二三区视频观看| videos熟女内射| 亚洲精品成人av观看孕妇| 热99在线观看视频| 成人特级av手机在线观看| 欧美xxxx性猛交bbbb| 天堂影院成人在线观看| 黄色日韩在线| 欧美另类一区| 精品国内亚洲2022精品成人| 人人妻人人澡欧美一区二区| 国产成人91sexporn| 欧美日韩视频高清一区二区三区二| 久99久视频精品免费| 国产精品伦人一区二区| 十八禁网站网址无遮挡 | 亚洲一级一片aⅴ在线观看| 一本久久精品| 六月丁香七月| 国产成人精品一,二区| av网站免费在线观看视频 | freevideosex欧美| 国产亚洲91精品色在线| 久久人人爽人人片av| 青春草视频在线免费观看| 国产男女超爽视频在线观看| 狂野欧美白嫩少妇大欣赏| 国产黄片视频在线免费观看| 国产精品一区www在线观看| av专区在线播放| www.av在线官网国产| 免费av毛片视频| 久久精品综合一区二区三区| 国产乱来视频区| 精品一区二区三区人妻视频| 青春草亚洲视频在线观看| 亚洲美女搞黄在线观看| 亚洲欧美一区二区三区黑人 | 日韩三级伦理在线观看| 麻豆成人午夜福利视频| 亚洲欧美一区二区三区黑人 | 久久综合国产亚洲精品| 国产综合懂色| 亚洲av电影不卡..在线观看| 三级男女做爰猛烈吃奶摸视频| 美女国产视频在线观看| 日韩大片免费观看网站| 国产成人aa在线观看| 精品不卡国产一区二区三区| 我要看日韩黄色一级片| 波多野结衣巨乳人妻| 欧美精品国产亚洲| 亚洲人成网站在线播| 日产精品乱码卡一卡2卡三| 成人性生交大片免费视频hd| 一级毛片黄色毛片免费观看视频| 美女内射精品一级片tv| 成年版毛片免费区| 我要看日韩黄色一级片| 国产色婷婷99| 国产精品一及| 中文字幕免费在线视频6| 人人妻人人澡欧美一区二区| 国内精品宾馆在线| h日本视频在线播放| 男女国产视频网站| 亚洲av在线观看美女高潮| 亚洲欧美日韩无卡精品| 亚洲精品日本国产第一区| 亚洲色图av天堂| 亚洲av福利一区| 一级爰片在线观看| 中文欧美无线码| 日韩欧美精品免费久久| 成年女人在线观看亚洲视频 | 1000部很黄的大片| 国产老妇伦熟女老妇高清| 国产单亲对白刺激| 久久亚洲国产成人精品v| 一区二区三区高清视频在线| 免费高清在线观看视频在线观看| 久久久精品94久久精品| 午夜福利在线观看免费完整高清在| 亚洲自拍偷在线| 最近视频中文字幕2019在线8| 亚洲欧洲日产国产| 插阴视频在线观看视频| 男女那种视频在线观看| 看免费成人av毛片| 久久精品夜夜夜夜夜久久蜜豆| 亚洲精品国产成人久久av| 国产精品一二三区在线看| 国产精品.久久久| 亚洲国产最新在线播放| 亚洲av不卡在线观看| 三级国产精品欧美在线观看| 噜噜噜噜噜久久久久久91| 免费黄色在线免费观看| 欧美+日韩+精品| 日韩精品有码人妻一区| 男人爽女人下面视频在线观看| 网址你懂的国产日韩在线| 国产精品一及| 精品欧美国产一区二区三| 亚洲在线自拍视频| ponron亚洲| 午夜福利视频精品| 黄色欧美视频在线观看| 久久99蜜桃精品久久| 日韩av在线大香蕉| av黄色大香蕉| 午夜亚洲福利在线播放| 精品午夜福利在线看| 成人午夜高清在线视频| 亚洲精品456在线播放app| 亚洲人成网站高清观看| 永久免费av网站大全| 国产成人福利小说| 国产亚洲精品久久久com| 日本wwww免费看| 久久精品综合一区二区三区| 女的被弄到高潮叫床怎么办| 亚洲精品aⅴ在线观看| 淫秽高清视频在线观看| 又爽又黄a免费视频| 婷婷色麻豆天堂久久| 国产综合精华液| 亚洲国产成人一精品久久久| 国产成人精品福利久久| 日本色播在线视频| 亚洲一级一片aⅴ在线观看| 天堂俺去俺来也www色官网 | 亚洲精品国产成人久久av| 99热这里只有精品一区| 国产精品一区二区性色av| 嫩草影院入口| 18+在线观看网站| 边亲边吃奶的免费视频| 一区二区三区四区激情视频| 欧美极品一区二区三区四区| 国产老妇女一区| 国产高清国产精品国产三级 | av一本久久久久| 久久精品夜色国产| 嘟嘟电影网在线观看| 免费观看在线日韩| 男女国产视频网站| 国产伦精品一区二区三区四那| 少妇人妻一区二区三区视频| 亚洲综合精品二区| 免费大片黄手机在线观看| 久久久久久久久久人人人人人人| 免费av毛片视频| 日韩成人av中文字幕在线观看| 内射极品少妇av片p| 国产探花在线观看一区二区| 亚洲激情五月婷婷啪啪| 一区二区三区四区激情视频| 成人综合一区亚洲| 久久99精品国语久久久| 一区二区三区免费毛片| 丝袜喷水一区| 日韩欧美精品v在线| 亚洲综合精品二区| 欧美激情国产日韩精品一区| 日韩不卡一区二区三区视频在线| 五月天丁香电影| 色5月婷婷丁香| 色视频www国产| 成人鲁丝片一二三区免费| www.av在线官网国产| 夫妻午夜视频| 亚洲国产精品国产精品| 国产熟女欧美一区二区| av一本久久久久| 中文字幕人妻熟人妻熟丝袜美| 成人亚洲精品一区在线观看 | 久久久精品免费免费高清| 亚洲欧洲国产日韩| 免费黄色在线免费观看| 熟女电影av网| 亚洲欧美日韩卡通动漫| 国产成人精品一,二区| 国内少妇人妻偷人精品xxx网站| 男女国产视频网站| 亚洲av不卡在线观看| 你懂的网址亚洲精品在线观看| 亚洲熟妇中文字幕五十中出| 久久99热6这里只有精品| 国产 一区精品| 久热久热在线精品观看| 亚洲色图av天堂| 亚洲18禁久久av| 日本三级黄在线观看| 亚洲怡红院男人天堂| av黄色大香蕉| 床上黄色一级片| 亚洲在久久综合| 日日摸夜夜添夜夜爱| 大香蕉久久网| 卡戴珊不雅视频在线播放| 精品熟女少妇av免费看| 好男人在线观看高清免费视频| 国产熟女欧美一区二区| 国产人妻一区二区三区在| 午夜福利在线在线| 韩国av在线不卡| 久久热精品热| 午夜福利视频1000在线观看| 午夜激情福利司机影院| 韩国av在线不卡| 亚洲成人精品中文字幕电影| 久久人人爽人人片av| 少妇被粗大猛烈的视频| 国产久久久一区二区三区| 亚洲国产av新网站| 免费人成在线观看视频色| 亚洲熟妇中文字幕五十中出| 精品国内亚洲2022精品成人| 国产黄色小视频在线观看| 国产av码专区亚洲av| 亚洲欧美中文字幕日韩二区| 亚洲精品日韩av片在线观看| 精品人妻一区二区三区麻豆| 九色成人免费人妻av| 午夜免费男女啪啪视频观看| av在线播放精品| 欧美日韩一区二区视频在线观看视频在线 | 欧美潮喷喷水| 观看美女的网站| 国产有黄有色有爽视频| 秋霞在线观看毛片| 久久这里只有精品中国| 中文字幕久久专区| 视频中文字幕在线观看| 伦理电影大哥的女人| 国产老妇伦熟女老妇高清| 蜜臀久久99精品久久宅男|