黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

DB2用戶定義函數(shù)實現(xiàn)多種語言的排序(1)

瀏覽:2日期:2023-11-10 18:19:43
當在 DB2 UDB 數(shù)據(jù)庫中存儲多語種數(shù)據(jù)時,Unicode 往往是惟一一種能夠適應整個數(shù)據(jù)范圍的編碼。DB2 可以存儲和處理 Unicode 數(shù)據(jù),但是它的排序功能只限于二進制排序和三種文化排序。另外,一個數(shù)據(jù)庫只能有一種排序規(guī)則,這是在創(chuàng)建數(shù)據(jù)庫時決定的。對于需要支持多種語言的用戶和數(shù)據(jù)的數(shù)據(jù)庫,這些排序限制是一個明顯的難題。IBM 創(chuàng)建了一個用于治理 Unicode 數(shù)據(jù)的函數(shù)庫,稱為 ICU(International Components for Unicode)。這個庫為 C 和 Java™ 編程語言提供了一整套操作 Unicode 數(shù)據(jù)的函數(shù)。這個庫是在一種無限制的開放源碼許可證下發(fā)布的,這使它可以在許多應用程序中使用。ICU 提供的函數(shù)實現(xiàn)了標準的 Unicode Collation Algorithm(UCA)以及許多文化調(diào)整功能。很輕易將適當?shù)?ICU 函數(shù)組合成一個 UDF(用戶定義函數(shù)),從而讓 DB2 可以充分利用 ICU 的排序支持。(隨便說一句,DB2 for Linux, UNIX, and Windows 就是使用 ICU 庫來實現(xiàn)在 Unicode 數(shù)據(jù)上支持的三種文化排序。)本文主要關注 DB2 V8 for Linux, UNIX, and Windows,但是這個 UDF 示例也可以用在即將發(fā)布的 Viper 上。這個 UDF 也應該能夠用在 DB2 V7 FP3 或更高版本上,但是這沒有經(jīng)過測試。另外,這個 UDF 可能能夠用在 DB2 for zSeries® 和 iSeries™ 上,但是這沒有經(jīng)過測試,本文也不討論這些平臺。安裝示例數(shù)據(jù)庫本文假設要使用的數(shù)據(jù)庫稱為 SAMPLE,但是可以使用任何數(shù)據(jù)庫。無論使用哪個數(shù)據(jù)庫,它必須是 Unicode 數(shù)據(jù)庫。為了判定一個數(shù)據(jù)庫是否是 Unicode 數(shù)據(jù)庫,執(zhí)行以下命令:db2 get database configuration for sample接近配置信息頂部的 “Database code page 條目必須是 “utf-8。假如沒有 Unicode 數(shù)據(jù)庫可用,那么可以用以下命令創(chuàng)建一個: 123456789下一頁 db2 create database sample using codeset utf-8 territory ca本文提供了針對 32 位 Intel 和 AMD 平臺的二進制代碼。下面介紹在 Linux 和 Windows 上如何安裝預構建的二進制代碼。對于所有其他平臺,編譯 ICU 和 UDF 中提供了說明。針對 Linux(32 位 Intel 或 AMD)預構建的二進制代碼要在 Linux 上安裝預構建的二進制代碼:從 “下載 中下載文件 sortkey-linux-x86.zip 并將它解壓到一個臨時目錄中。將以下文件:sortkeylibicui18n.so.34libicuuc.so.34libicudata.so.34復制到 sqllib/function 中。連接到數(shù)據(jù)庫,并運行 DDL 腳本來對這個函數(shù)進行編目:db2 connect to sampledb2 -tvf createfn.db2注:這個 Linux 預構建二進制代碼是在 Red Hat Linux 7.2 上用 gcc 2.96 編譯的。針對 Windows(32 位)預構建的二進制代碼要在 Windows 上安裝預構建的二進制代碼:從 “下載 中下載文件 sortkey-windows-32.zip 并將它解壓到一個臨時目錄中。將以下文件:sortkey.dllicuin34.dllicuuc34.dllicudt34.dll復制到 sqllib/function 中。使用一個 DB2 命令窗口連接到數(shù)據(jù)庫,并運行 DDL 腳本來對這個函數(shù)進行編目:db2 connect to sampledb2 -tvf createfn.db2編譯 ICU 和 UDF要編譯 ICU 和 UDF:下載并安裝 ICU 庫。參見 “參考資料 中 ICU 站點的鏈接,在這里可以下載二進制代碼或源代碼,以及學習如何編譯和安裝這個庫。假如需要的話,將包含 ICU 可執(zhí)行文件的目錄添加到 PATH 環(huán)境變量中。在 Windows 中,還需要更新 LIB 和 INCLUDE 環(huán)境變量。LIB 變量應該引用 iculib 目錄,INCLUDE 應該引用 icuinclude 目錄。 上一頁123456789下一頁 從 “下載 中下載文件 sortkey-source.zip 并將它解壓到一個臨時目錄中將文件 sqllib/samples/c/bldrtn(在 Windows 上是 sqllibsamplescldrtn.bat)復制到臨時目錄并編輯復制的文件。對于編譯和鏈接步驟,需要添加關于 ICU 的信息。在 Linux 或 UNIX 上,定義變量 ICU_C_FLAGS 和 ICU_L_FLAGS,并將它們添加到編譯和鏈接命令中。這些變量應該在命令前面定義,并在編譯器或鏈接器可執(zhí)行文件名后面直接使用。清單 1 顯示 Linux bldrtn 文件中的相關部分。修改之處以粗體顯示。清單 1. 修改的 Linux bldrtn 文件# If an embedded SQL program, precompile and bind it.if [ -f $1".sqc" ]then./embprep $1 $2fi# ICU optionsICU_C_FLAGS="`icu-config --cppflags --cxxflags`"ICU_L_FLAGS="`icu-config --ldflags`"# Compile the program.$CC $ICU_C_FLAGS $EXTRA_C_FLAGS-I$DB2PATH/include -c $1.c -D_REENTRANT# Link the program and create a shared library$CC $ICU_L_FLAGS $LINK_FLAGS -o $1 $1.o $EXTRA_LFLAG -L$DB2PATH/$LIB -ldb2-lpthread在 Windows 上,必須將 ICU 庫添加到鏈接命令中。清單 2 顯示 Windows bldrtn.bat 文件中的相關部分。修改之處以粗體顯示。清單 2. 修改的 Windows bldrtn.bat 文件:link_steprem Link the program.link -debug -out:%1.dll -dll %1.obj db2api.lib icudt.lib icuuc.libicuin.lib -def:%1.def 上一頁123456789下一頁 運行 bldrtn 腳本來編譯這個 UDF: bldrtn sortkey將 sortkey(在 Windows 上是 sortkey.dll)文件復制到 sqllib/function 中。連接到數(shù)據(jù)庫,并運行 DDL 腳本來對這個函數(shù)進行編目:db2 connect to sampledb2 -tvf createfn.db2注重,假如以這種方式編譯這個 UDF,那么在運行它的任何機器上必須完整地安裝 ICU。使用 SORTKEY UDF語法>>--SORTKEY--(--string-expression--,--collation-name--)--><這個 UDF 的模式是 ICU。假如模式 ICU 在 SQL PATH 中,那么就不必對這個 UDF 進行顯式限定引用。SORTKEY UDF 返回一個 VARCHAR(1200) FOR BIT DATA 字符串,代表在指定的 collation-name 中 string-expression 的排序鍵。假如排序鍵的長度超過 1200 字節(jié),那么排序鍵被截斷并返回一個警告(SQLSTATE 01HKY)。SORTKEY 的結果是可空的。假如任何參數(shù)是 null,那么結果就是 NULL。可以對兩個字符串的 SORTKEY 結果進行二進制比較,從而判定它們在指定的 collation-name 中的次序。為了讓比較有意義,使用的 SORTKEY 結果必須來自相同的 collation-name。string-expression這個表達式返回一個 CHAR、VARCHAR、GRAPHIC 或 VARGRAPHIC 字符串,UDF 要判定這個字符串的排序鍵。string-expression 的最大長度是 100 個字符(SQLSTATE 22001)。假如 string-expression 是 CHAR 或 VARCHAR,這個表達式必須不是 FOR BIT DATA (SQLSTATE 42846)。假如 string-expression 是空字符串,那么結果是一個具有非零長度的有效排序鍵。collation-name這個字符串表達式指定在判定排序鍵時使用的排序規(guī)則。collation-name 的值不是大小寫敏感的,而且必須是空字符串(對應于默認的 UCA 排序)或者 “排序規(guī)則名 中定義的一個名稱。(SQLSTATE SKCOL)。 上一頁123456789下一頁 必須從 Unicode 數(shù)據(jù)庫調(diào)用 SORTKEY,否則返回一個錯誤。(SQLSTATE SKUTF)。示例example.db2 中的 Unicode 字符example.db2 文件包含幾個用 UTF-8 進行編碼的字符。理想情況下,應該從一個 Unicode shell 調(diào)用下面的示例。假如不是從 Unicode shell 調(diào)用示例,那么表 SORTKEY_GERMAN1 和 SORTKEY_GERMAN2 會包含不正確的數(shù)據(jù),示例 4 會失敗。為了答應從非 Unicode shell 調(diào)用示例,可以將注冊表變量 DB2CODEPAGE 設置為 1208。這會使 DB2 客戶機以 UTF-8 格式處理數(shù)據(jù)。加重音的字符無法正確顯示,但是示例可以正確地運行。為了設置 DB2CODEPAGE 并運行示例,執(zhí)行以下命令:db2 terminatedb2set DB2CODEPAGE=1208db2 connect to sampledb2 -tf example.db2當 DB2CODEPAGE 設置為 1208 時,它對其他應用程序可能會產(chǎn)生某些意料之外的效果。在運行示例之后,可以用以下命令恢復 DB2CODEPAGE:db2 terminatedb2set DB2CODEPAGE=這些示例使用的表、數(shù)據(jù)和查詢可以在文件 example.db2 中找到。當連接數(shù)據(jù)庫時,可以用以下命令執(zhí)行它:db2 -tf example.db2ORDER BY不同的語言用不同的規(guī)則來決定字母的次序。例如,英語從字母 A 排序到 Z,沒有例外,如第一個示例所示。查詢 1. 用英語排序規(guī)則進行排序SELECT NAME FROM SORTKEY_NAMESORDER BY ICU.SORTKEY(NAME, 'LEN')結果 1. 用英語排序規(guī)則進行排序碼NAME--------------------AliceCelineCharlesCindyDonHillaryIanSam 上一頁123456789下一頁 但是在斯洛伐克語中,兩個字符的組合 CH 排在字母 H 和 I 之間。查詢 2. 用斯洛伐克語排序規(guī)則進行排序SELECT NAME FROM SORTKEY_NAMESORDER BY ICU.SORTKEY(NAME, 'LSK')結果 2. 用斯洛伐克語排序規(guī)則進行排序NAME--------------------AliceCelineCindyDonHillaryCharlesIanSam注重,Charles 現(xiàn)在位于 Hillary 和 Ian 之間。比較一些語言對于同一個字符有不同的表示方法。例如,在德語中,字母 ä 等于 ae,ö 等于 oe,ü 等于 ue。在 SQL 中進行比較時,并不考慮這些替代表示方法。假設有兩個德國城市名列表: NuernbergNürnbergLuebeckLuebeckKölnKoeln當使用普通的 SQL 聯(lián)結這兩個列表時,不考慮替代的字符表示方法。查詢 3. 未規(guī)范化的聯(lián)結SELECT G1.CITY AS CITY1, G2.CITY AS CITY2FROM SORTKEY_GERMAN1 AS G1, SORTKEY_GERMAN2 AS G2WHERE G1.CITY = G2.CITYORDER BY G1.CITY結果 3. 未規(guī)范化的聯(lián)結CITY1CITY2-------------------- --------------------LuebeckLuebeck注重,在這兩個表中只有拼寫完全相同的城市名才被認為是相等的。但是,SORTKEY UDF 可以處理字符的不同表示方法。在這種情況下,我們使用德語排序規(guī)則的 “phonebook 變體并將強度設置為 1,從而忽略重音差異。(排序規(guī)則選項的完整列表見 “排序規(guī)則名。) 上一頁123456789下一頁 查詢 4. 規(guī)范化的聯(lián)結SELECT G1.CITY AS CITY1, G2.CITY AS CITY2FROM SORTKEY_GERMAN1 AS G1, SORTKEY_GERMAN2 AS G2WHERE ICU.SORTKEY(G1.CITY, 'LDE_KPHONEBOOK_S1') =ICU.SORTKEY(G2.CITY, 'LDE_KPHONEBOOK_S1')ORDER BY G1.CITY結果 4. 規(guī)范化的聯(lián)結CITY1CITY2-------------------- --------------------K&ouml;lnKoelnLuebeckLuebeckNuernbergNürnberg通過使用排序鍵(而不是值本身)進行比較,適當?shù)靥幚砹嗣Q中的次要差異。通過選擇適當?shù)呐判蛞?guī)則,可以根據(jù)語言進行比較、忽略大小寫和重音差異或者完全忽略某些字符。在 ORDER BY 子句中,修改一個排序規(guī)則的強度來忽略字符屬性可能會導致不確定的查詢結果次序。例如, ORDER BY ICU.SORTKEY(COLUMN, 'S1') (這里使用的排序規(guī)則會忽略大小寫和重音)會正確地排列 A < B < C。但是,這個排序規(guī)則不區(qū)分 “apple、“Apple 和 “APPLE,可能以任意次序返回這些單詞。SORTKEY 產(chǎn)生的值依靠于使用的排序規(guī)則。因此,當在謂詞中使用 SORTKEY 時,比較的兩邊要使用完全相同的排序規(guī)則。性能考慮因素當在查詢中引入 UDF 時,它會損害查詢的性能。對數(shù)據(jù)庫和查詢的設計進行仔細地分析,可以將性能影響最小化。要考慮的一些因素是:使用固定的排序規(guī)則名盡可能少使用 SORTKEY使用生成的列使用固定的排序規(guī)則名預備要使用的排序規(guī)則是一種開銷很大的操作。因此,在查詢執(zhí)行時不要改變排序規(guī)則名。例如,考慮以下表和查詢: 上一頁123456789下一頁 NAMES: NAMELANGUAGE------------BobLENMarcLFRSerge LDESELECT NAME FROM NAMESWHERE ICU.SORTKEY(NAME, LANGUAGE) = ICU.SORTKEY(:hv, LANGUAGE)在這個例子中,對于每一行都要預備一個新的排序規(guī)則。這樣做的效率非常低。假如 SORTKEY 的第二個參數(shù)替換為一個字面字符串或主機變量,那么查詢的性能會好得多。注重,可以在一個查詢中混合使用不同的排序規(guī)則,只要每個排序規(guī)則在不同的 SORTKEY 實例中。以下查詢的性能會好得多:SELECT NAME FROM NAMESWHERE ICU.SORTKEY(NAME, 'LFR') = ICU.SORTKEY(:hv, 'LFR')盡可能少使用 SORTKEY假如知道數(shù)據(jù)是一致的,那么就不需要對每個操作都使用 SORTKEY。例如,考慮前面的 查詢 3 和 查詢 4。假如數(shù)據(jù)是以一致的方式輸入的,比如總是使用 ä、ö 和 ü,或者已經(jīng)對數(shù)據(jù)進行了清理,將所有 ae、oe 和 ue 替換為 ä、ö 和 ü,那么查詢 3 和查詢 4 會返回同樣的結果,而查詢 3 運行得快的多。假如數(shù)據(jù)是一致的,就不經(jīng)常需要 SORTKEY。盡可能使用標準的 SQL 比較操作符,并在最后的 ORDER BY 中使用 SORTKEY。使用生成的列假如數(shù)據(jù)庫經(jīng)常使用很少幾個排序規(guī)則,那么可以考慮使用生成的列預先計算 SORTKEY 的結果,并將這些結果存儲在數(shù)據(jù)庫中。例如,假設一個數(shù)據(jù)庫通常只需要法語和德語排序規(guī)則。在這種情況下,根據(jù)表的總規(guī)模,可以考慮創(chuàng)建生成的列來保存 SORTKEY 的結果。例如:清單 3. 創(chuàng)建生成的列來保存 SORTKEY 的結果CREATE TABLE NAMES(NAME VARCHAR(50),NAME_FR_KEY VARCHAR(1200) GENERATED ALWAYS AS (ICU.SORTKEY(NAME, 'LFR')),NAME_DE_KEY VARCHAR(1200) GENERATED ALWAYS AS (ICU.SORTKEY(NAME, 'LDE')))SELECT NAME FROM NAMESORDER BY ICU.SORTKEY(NAME, 'LFR') 上一頁123456789下一頁 當 DB2 查詢編譯器對這個查詢進行運算時,它會意識到 ICU.SORTKEY(NAME, 'LFR') 的值已經(jīng)計算出來了,它會使用 NAME_FR_KEY 列來替代這個值。但是,假如查詢使用 ICU.SORTKEY(NAME, 'LES') (西班牙語排序規(guī)則),那么 SORTKEY 函數(shù)必須作為查詢的一部分執(zhí)行。不幸的是,將生成的列記錄為 VARCHAR(1200) 值會占用表中的大量空間。好在,還有一些辦法。一個辦法是修改 createfn.db2,讓 SORTKEY 產(chǎn)生長度更短的結果類型。假如這樣做了,那么應該減小 sortkey.c 中的常量 MAX_RESULT,還應該重新編譯這個 UDF。另一個辦法是將 SORTKEY 的結果轉(zhuǎn)換為更短的 VARCHAR 值。但是,對于使用生成的列的優(yōu)化器,必須在每個引用中使用同樣的轉(zhuǎn)換。這種辦法如下所示:清單 4. 在每個引用中使用同樣的轉(zhuǎn)換CREATE TABLE NAMES(NAME VARCHAR(50),NAME_FR_KEY VARCHAR(600)GENERATED ALWAYS AS (CAST(ICU.SORTKEY(NAME, 'LFR')AS VARCHAR(600))),NAME_DE_KEY VARCHAR(600)GENERATED ALWAYS AS (CAST(ICU.SORTKEY(NAME, 'LDE')AS VARCHAR(600))))SELECT NAME FROM NAMESORDER BY CAST(ICU.SORTKEY(NAME, 'LFR') AS VARCHAR(600))總是需要指定轉(zhuǎn)換,這使這種辦法不夠理想。可以使用下面的源函數(shù)將轉(zhuǎn)換隱藏起來:清單 5. 使用源函數(shù)將轉(zhuǎn)換隱藏起來CREATE FUNCTION MY_SORTKEY(VARCHAR(50), VARCHAR(50))RETURNS VARCHAR(600) FOR BIT DATASOURCE ICU.SORTKEYCREATE TABLE NAMES(NAME VARCHAR(50),NAME_FR_KEY VARCHAR(600) GENERATED ALWAYS AS (MY_SORTKEY(NAME, 'LFR')),NAME_DE_KEY VARCHAR(600) GENERATED ALWAYS AS (MY_SORTKEY(NAME, 'LDE')))SELECT NAME FROM NAMESORDER BY MY_SORTKEY(NAME, 'LFR')不管使用哪種方法,重要的考慮因素都是生成的列的長度。SORTKEY 結果的長度可能比原來的字符串長。簡單的規(guī)則是,對于輸入字符串中的每個字符,在輸出字符串中答應有 12 字節(jié)。(對于某些不常見的排序規(guī)則和輸入值組合,這個空間甚至也可能不夠。)但是,許多排序規(guī)則會產(chǎn)生比這短得多的排序鍵,因此在決定生成的列的大小時,對要使用的排序規(guī)則和數(shù)據(jù)進行一些實驗是有幫助的。 上一頁123456789
主站蜘蛛池模板: 久久麻豆精品 | 疯狂撞击丝袜人妻 | 亚洲偷自 | 影音先锋男人天堂 | 一级做a毛片 | 永久免费毛片 | 久久天天东北熟女毛茸茸 | 成人精品视频99在线观看免费 | 欲香欲色天天天综合和网 | 国产一区二区免费播放 | 中文字幕精品一区二区三区在线 | 天天射影院 | 午夜av无码福利免费看网站 | 91久久久久久久久久久久 | 性欧美丰满熟妇xxxx性仙踪林 | 国产日韩aaaa片毛片 | 午夜久久精品 | 国产免费一区二区三区在线观看 | www青青操| 国产高潮又爽又刺激的视频免费 | 国产69精品久久99卡顿的解决方法 | 国产精品无码a∨麻豆 | 欧美一级黄| 成人久久18免费网站 | 中国一级特黄真人毛片免费观看 | 2019日韩中文字幕mv | 一区二区三区激情 | 一级片在线播放 | jizz在线播放 | 国产乱性 | 久久99国产综合精品 | 国产自在自线2021 | 国产在线青青草 | 日本少妇北岛玲xxxhd | 96看片| 欧美性大战xxxxx久久久 | 狠狠躁天天躁中文字幕 | 中文字幕日产乱码一二三区 | 我要看一级片 | 好大好爽cao死我了bl | 黄色片久久 | 久久精品天堂 | 韩国伦理中文字幕 | 午夜精品久久久久久99热明星 | 亚洲淫区 | 国产在线一区二区 | 少妇性l交大片欧洲热妇乱xxx | 国产亚洲欧美精品久久久久久 | 精品久久无码中文字幕 | 99视频热| 全程偷拍露脸中年夫妇 | 国产无套粉嫩白浆内谢的出处 | 国产精品自在在线午夜出白浆 | 波多野结衣久久 | 亚洲一区二区三区四区的 | 无遮挡色视频免费观看 | 黄色激情av | 日韩在线视| 成人免费xxxxx在线观看 | 美女高潮黄又色高清视频免费 | 九九综合九色综合网站 | 亚洲人成网站999久久久综合 | 含羞草www国产在线视频 | 免费观看性生交大片3区 | 欧美日日摸夜夜添夜夜添 | 亚欧在线高清专区 | 熟妇人妻一区二区三区四区 | 国产亚洲成av片在线观看 | 丁香激情综合 | 色激情网 | 久久精品国产久精国产 | 亚洲午夜久久久精品一区二区三区 | 三级网站在线免费观看 | 国产乱淫片视频 | 健美运动员性猛交xxxxx | 中日韩毛片 | 夜夜躁狠狠躁日日躁 | 久久人人爽人人爽人人av东京热 | 国产丝袜一区二区三区免费视频 | 日韩av在线网址 | 亚洲黄色在线观看视频 | 粉嫩一区二区三区 | 艳妇乳肉豪妇荡乳av无码福利 | 精品国产乱码久久久软件使用方法 | 中文国产在线观看 | 凉森玲梦一区二区三区av免费 | 国产做受高潮漫动 | 91九色丨porny最新地址 | 中文字幕在线2018 | 全亚洲最大的免费影院 | 国产伦精品一区二区三区免费迷 | 丰满少妇毛茸茸做性极端 | www国产99| 老熟女乱子伦 | 成人久久国产 | 丝袜 国产 日韩 另类 美女 | 粉嫩av一区二区三区天美传媒 | 欧美大黄视频 | 国产偷国产偷亚洲清高app | 色综合久久久久久久久久 | 欧美裸体xxx| 爱的色放在线 | 日韩av午夜在线观看 | 美国av导航| 亚洲精品中文字幕 | 欧美午夜精品 | 激情久 | 少妇做爰免费视频了 | 韩日精品视频 | 男女男精品视频站 | 天干天干天啪啪夜爽爽av网站 | 最新亚洲春色av无码专区 | 国产免费高清视频1l.com.com.com少 | 亚洲 中文 欧美 日韩 在线 | 99视频一区二区 | 欧美激情猛片xxxⅹ大3 | 欧洲精品码一区二区三区免费看 | 亚洲毛片在线播放 | 91超薄肉色丝袜交足高跟凉鞋 | 久久97精品久久久久久久不卡 | 国产91在线观 | 激情午夜网 | 四虎影裤 | 久草a视频 | 免费观看成年人网站 | 99午夜| 欧美天天综合色影久久精品 | 无限看片在线版免费视频大全 | 东北妇女精品bbwbbw | 午夜美女网站 | 秋霞特色aa大片 | 久久久久国产一区二区三区 | 国产一区二区三区四区三区 | 少妇一级淫片免费看 | 久久久久国产精品嫩草影院 | 男人和女人做爽爽视频 | 欧美永久免费 | 欧美成人黄色小说 | 黄色工厂在线观看 | 国产农村妇女毛片精品 | 久久www免费人成看片好看吗 | 精国产品一区二区三区a片 日韩av在线观看免费 | 污片在线观看 | 久久亚洲精品中文字幕无男同 | 久久草在线视频 | 天天操天天射天天爱 | 韩国明星乱淫(高h)小说 | 亚洲黄色片 | 成人夜间视频 | 中文字幕在线永久 | 99视频在线 | 成人区精品一区二区 | 亚洲在线免费视频 | 91亚洲一线产区二线产区 | 亚洲一区二区三区av无码 | 亚洲国产av无码精品无广告 | 性欧美精品久久久久久久 | 一区二区日韩欧美 | 亚洲图片欧美在线 | 中文字幕人成乱码在线观看 | 99精品欧美一区二区三区小说 | 日本黄区免费视频观看 | 日产精品久久久久久久性色 | 成人免费视频大全 | 久久精品国产亚洲a∨蜜臀 久久精品国产亚洲沈樵 | 爱爱爱免费视频 | 在线观看成年人视频 | а√天堂资源中文最新版地址 | 蜜臀久久精品久久久久久酒店 | 波多野结衣亚洲视频 | 日本爱爱免费视频 | 51成人做爰www免费看网站 | 国产黄色在线播放 | 男女黄色又爽大片 | 性视频网站免费 | 激情小说激情视频 | 国产黄色网址在线观看 | 欧美精品二区三区 | 日本在线免费看 | 99精品视频在线播放免费 | 久久精品69 | 久久一级片 | 日韩a在线播放 | 国产伦久视频免费观看视频 | 婷婷影院91xxxss| 特级全黄久久久久久久久 | 中国肥胖女人真人毛片 | 国产成人精品一区二区三区福利 | 黄色一及毛片 | 日韩成人av网站 | 动漫av纯肉无码免费播放 | videosg最新另类大全 | 亚洲人成人网 | 国产视频国产区 | 国产av国片偷人妻麻豆 | 婷婷一级片 | 黄色成人毛片 | 国产成人无码av一区二区 | 免费无码专区毛片高潮喷水 | 亚洲女人18毛片水真多 | 久草在线新时代的视觉体验 | 安野由美中文一区二区 | 国产精品亚洲a | 日韩视频在线视频 | 欧产日产国产精品精品 | 一区二区传媒有限公司 | 天天搞夜夜 | 无码av天堂一区二区三区 | 这里只有精品999 | 国产无在线观看 | 欧美内射深喉中文字幕 | 欧美日韩黄色网 | 射进来av影视网 | 免费观看黄色一级视频 | 少妇一级淫片免费放播放 | 日韩 欧美 综合 | 国产又粗又硬又大爽黄老大爷视 | 成人性色生活片 | 毛片黄色视频 | 免费观看色 | 亚洲福利小视频 | 精品国精品国产自在久不卡 | 三级网站免费播放 | 日日噜噜夜夜狠狠久久av小说 | 中文字幕色偷偷人妻久久 | 成人无码一区二区三区网站 | 男人天堂亚洲 | 精品自拍第一页 | 日本xxxxxxxxxx天美| 久久久噜久噜久久综合 | 免费麻豆av | 欧美日韩精品一区二区在线视频 | 性欧美videos高清hd4k | 爱情岛论坛自拍亚洲品质极速福利 | 免费国产在线精品一区二区三区 | 国产 欧美 在线 | _级黄色片 | 深夜影院深a| av第一页| 亚洲综合国产一区二区三区 | 国产精品23p | 久久狠 | 亚洲中文字幕乱码av波多ji | 国产精品亚洲五月天高清 | 91大神网址 | 91精品在线免费观看 | 欧美日韩一区免费 | 日本少妇色| 欧美喷潮久久久xxxxx | 在线观看中文字幕2021 | 内谢老女人视频在线观看 | √资源天堂中文在线视频 | 久久99精品视频 | av成人在线看 | 欧美成年人在线视频 | 777国产成人入口 | 女人被狂c躁到高潮视频 | 综合久久久久 | 色综合色综合网色综合 | 欧美a级网站 | 国产欧美激情 | 国产伦子真实事例对白 | 强开小嫩苞一区二区三区图片 | 国产精品久久久久久久久久ktv | 国内一级视频 | 熟女视频一区二区在线观看 | 久久99精品国产麻豆宅宅 | 自拍偷拍中文字幕 | 欧美尹人| 国产一区二区三区无码免费 | 99色这里只有精品 | jlzzjlzz亚洲女人 | 美国伦理3野性 | 大尺度做爰黄9996片视频 | 久久黄色av| 久久久久北条麻妃免费看 | a在线免费 | 黄色无遮挡 | 日韩一区二区免费看 | 国产精品无码一区二区三区免费 | 久久日韩乱码一二三四区别 | 久久精品日产第一区二区 | 日韩视频在线观看一区二区三区 | 日日摸夜夜摸狠狠摸婷婷 | 亚洲欧美日韩精品在线 | 一区精品在线 | 欧美人与动牲交免费观看网 | 女人被狂躁的高潮免费视频 | 精品日本一区二区三区在线观看 | 日韩av无码久久一区二区 | 国语自产免费精品视频在 | 欧美色图13p | 久色成人| 日本最新免费二区 | 性欧美xxxx | 免费午夜拔丝袜www在线看 | 欧美日韩精品一区 | 国产无套精品一区二区 | 中文字幕视频二区 | 成人欧美一区二区三区动漫 | 欧美寡妇xxxx黑人猛交 | 无码中文字幕乱码一区 | 饥渴少妇激情毛片视频 | 7777久久久国产精品 | 国产又黄又硬又湿又黄的网站免费 | 久久天天躁狠狠躁亚洲综合公司 | 成人无码在线视频网站 | 91福利视频在线观看 | 国产一区二区视频免费 | 日日av拍夜夜添久久免费 | 新狼窝色av性久久久久久 | 免费黄网在线观看 | 色偷偷资源网 | 牲高潮99爽久久久久777 | 精区一品二品星空传媒 | 超碰在线中文字幕 | 欧美成人家庭影院 | 国产精品久久久久77777按摩 | 日韩av不卡在线 | 中文字幕av免费 | 国产免费资源 | 国产精品任我爽爆在线播放 | 综合色综合 | 国产精品入口麻豆 | 久久综合精品国产一区二区三区无码 | www日韩大片 | 亚洲综合日韩精品欧美综合区 | 欧美在线观看你懂的 | 精品久久久无码人妻字幂 | 亚洲色图久久 | 国产一区二区三区不卡在线观看 | 欧美色精品在线 | 日本三级全黄 | 久久精品aⅴ无码中文字字幕重口 | 亚洲19禁大尺度做爰无遮挡 | 国产精品系列在线观看 | 99久久精品免费 | 国产三级高清一区二区 | 国产精品日韩av在线播放 | 福利片网址 | 色中色综合 | jizz中国少妇高潮出水 | 精品国模一区二区三区 | a久久久久| 91亚洲国产成人精品一区 | 中国熟妇浓毛hdsex | 免费国产乱理伦片在线观看 | 国产又粗又硬又猛的毛片视频 | 亚洲国产欧美日韩在线观看第一页 | 乱码av | 免费在线激情视频 | 久久天堂国产香蕉三区 | 草草影院av | 成人做爰免费视频免费看 | 中文字幕精品亚洲 | 午夜视频久久 | 国产裸体bbb视频 | 欧美一区二区 | 37pao强力打造高清视频 | 91中出| aaaaa少妇高潮大片在按摩线 | 少妇粉嫩小泬喷水视频 | 狠狠综合 | 亚洲二区在线视频 | 色呦呦在线观看视频 | 免费a网 | 性开放少妇xxxxⅹ视频蜜桃 | 免费看日本zzzwww色 | 玩弄人妻少妇精品视频 | 久热精品在线观看 | 久久综合9988久久爱 | 亚洲另类xxxx| 岛国片在线播放97 | 围产精品久久久久久久 | 性xxxx尼泊尔娇小视频 | 忍不住的亲子中文字幕 | 国内视频在线 | 免费毛片看 | a级老太婆毛片老太婆毛片 a级毛片,黄,免费观看 m | av伦理在线 | 国产午夜成人久久无码一区二区 | 国产麻豆剧传媒精品国产av | 一级黄色性片 | 日本不卡一二三 | 97人人模人人爽人人喊38tv | 中文字幕在线精品视频入口一区 | 日本精品久久久久中文字幕 | 动漫羞免费网站中文字幕 | 那里可以看毛片 | 国产无套水多在线观看 | 国产aaa大片| 国产精品欧美一区二区三区 | 久久久久久久女女女又又 | 久久99精品国产麻豆婷婷 | 四虎永久在线精品无码视频 | 国产热の有码热の无码视频 | 久热最新 | 女同av亚洲女人天堂 | 四川骚妇无套内射舔了更爽 | 亚洲综合一区中 | 任你躁久久久久久妇女av | 国产3p又大又爽又粗又硬免费 | 午夜蜜汁一区二区三区av | 久久国产精品免费一区二区三区 | 国产妞干网 | 日本囗交一级视频 | 福利姬在线观看 | 欧美激情精品久久久久久免费 | 99国产偷伦视频在线观看 | 欧美老妇交乱视频在线观看 | а天堂中文最新一区二区三区 | 亚洲爱色| 刘亦菲裸体视频一区二区三区 | 91三级视频| 国产无套内射久久久国产 | 国产精品久久久久影院色老大 | 成人免费视频一区二区 | 一区二区三区有限公司 | 欧美香蕉在线 | 69亚洲精品久久久蜜桃小说 | 婷婷五月深深久久精品 | 安野由美中文一区二区 | 女人被狂躁c到高潮喷水一区二区 | 亚洲第一页夜 | 国产人澡人澡澡澡人碰视频 | 少妇人妻偷人精品无码视频 | 激情五月综合色婷婷一区二区 | 成人免费视频在线看 | 宅男av在线 | 嫩草影院ncyy入口 | 好吊妞这里有精品 | 青青青草视频在线 | 国产麻豆xxxvideo实拍 | 麻豆人妻少妇精品无码专区 | 中文字幕人成乱码熟女app | 日日干日日色 | 久久久久久久久久久免费av | 亚洲日韩乱码中文字幕 | 亚洲伊人成人网 | 丰满少妇xbxb毛片日本视频 | 国产黄色特级片 | 日本sm极度另类视频 | 色欲av永久无码精品无码蜜桃 | 国产v欧美v日本v精品按摩 | 亚洲精品乱码久久久久久自慰 | 婷婷色网站 | 四虎国产精品成人免费影视 | 又大又黄又爽视频一区二区 | 亚洲国产经典 | www插插插无码免费视频网站 | h视频在线看 | 福利cosplayh裸体の福利 | 性欧美疯狂xxxxbbbb | 欧美呦呦呦 | 日本大乳免费观看久久99 | 亚洲色图视频在线 | 无码专区一va亚洲v专区在线 | 又色又爽又黄又刺激免费 | 亚洲最大av番号库 | 久艹伊人 | 久久久久99精品久久久久 | 国产成人综合色在线观看网站 | 久久精品一区二区三区中文字幕 | 四虎成人网 | 国产真实精品久久二三区 | 国产精品va在线观看无码不卡 | 国产精品日日做人人爱 | 亚洲国产精品一区 | 欧美美女啪啪 | 91视频国产免费 | 国产黄色免费网站 | 日韩欧美天堂 | 国产精品久久久久久久9999 | 亚洲日本aⅴ片在线观看香蕉 | 日韩成人在线免费观看 | 国产又大又硬又爽免费视频试 | 国产精品综合一区二区三区 | 亚洲人成影院在线无码按摩店 | a∨av白浆导航 | 亚洲aa视频 | 色一情一区二区三区四区 | 国产精品户外野外 | 免费的黄网站在线观看 | 久久无码字幕中文久久无码 | 欧美白人最猛性xxxxx | 色窝| 国产在线一区二区三区四区五区 | 性色av免费观看 | 成人自拍网 | 亚洲欧美一区二区三区情侣bbw | 欧美最猛黑人xxxx | 国产天堂亚洲 | 在线观看国产91 | 欧美成人精品高清视频在线观看 | 18国产精品福利片久久婷 | 狠狠精品干练久久久无码中文字幕 | 精品人妻无码一区二区色欲产成人 | 欧美激情精品久久 | 国产电影一区二区三区 | 久久久久国色av免费观看性色 | 黄色国产免费 | 久久精品国产999大香线蕉 | 国产不卡视频一区二区三区 | 亚洲.www| 国产美女免费 | 欧美性xxxx极品少妇 | 午夜色大片 | 好吊妞视频这里只有精品 | 台湾综合色| 成人在线视频网 | 精品国产91久久久久久浪潮蜜月 | 大尺度做爰呻吟62集 | 区二区欧美性插b在线视频网站 | 欧美国产日韩在线视频 | 初尝黑人嗷嗷叫中文字幕 | 999久久久国产999久久久 | 黑巨人与欧美精品一区 | yy77777丰满少妇影院 | 少妇视频在线观看 | a级黄色片视频 | 免费一级特黄3大片视频 | 思思久久99热久久精品66 | 天天色天天综合 | 国产精品尤物yw在线观看 | 欧美性做爰视频 | 中国偷拍毛茸茸肥老熟妇 | 波多野结衣一区二区三区高清 | 欧美手机在线观看 | 欧洲午夜精品 | 色婷婷六月天 | 国产乱老熟视频网站 视频 国产乱了实正在真 | 九七九色丨麻豆 | 黄片毛片免费在线观看 | 国精品人妻无码一区二区三区喝尿 | 女人被男人躁得好爽免费视频 | 久久成年片色大黄全免费网站 | 激情av综合 | 99久久日韩精品免费热麻豆美女 | 色欲综合一区二区三区 | 日韩精品欧美 | 91久久久色在线观看 | 欧洲a老妇女黄大片 | av在线亚洲男人的天堂 | 特级黄色大片 | 欧美激情16p| 丰满孕妇性春猛交xx大陆 | 成人3d动漫一区二区三区 | 国产精品视频免费播放 | 一级性感毛片 | 国产成人+亚洲欧洲+综合 | 丰满诱人的人妻3 | 国产欧美69久久久久久9龙 | 谁有免费黄色网址 | 久久精品免费 | 夜鲁鲁鲁夜夜综合视频欧美 | 特级淫片裸体免费看视频 | 国产天美传媒性色av | 亚洲福利精品视频 | 国产精品久久久国产盗摄蜜臀 | 精品国产乱码久久久久久影片 | 成人午夜视频网站 | 激情婷婷色 | 女人高潮被爽到呻吟在线观看 | 野外做受又硬又粗又大视幕 | 国内精品久久久久伊人aⅴ 国内精品毛片 | 国产亚洲精品久久久久久久久动漫 | 精品人妻码一区二区三区 | 日韩欧美一区二区三区四区五区 | 色综合久久久久综合99 | 国精品人妻无码一区二区三区蜜柚 | 91最新地址 | 性久久久久久久 | 亚洲成人黄 | 精品视频国产香蕉尹人视频 | 久久99国产亚洲高清观看首页 | 国产精品久久久久久久一区探花 | 婷婷色在线观看 | 调教性瘾双性高清冷美人 | 99精品久久久久久久久久综合 | 国产精品久久久国产盗摄 | 亚洲综合久 | 亚洲性免费 | 中文字幕日韩精品亚洲一区 | 午夜在线免费视频 | 加勒比一本heyzo高清视频 | 漂亮人妻洗澡被公强 日日躁 | 精品人妻伦一二三区久久 | 插我一区二区在线观看 | 久久久亚洲精品一区二区三区浴池 | 国产婷婷在线观看 | 国产香港明星裸体xxxx视频 | 欧美一级特黄aa大片 | 国产在线精品二区 | 亚洲一区精品在线观看 | 中文字幕在线视频不卡 | 国产视频二区三区 | 日本最新免费二区 | 天天夜夜操 | 黄片毛片视频 | 蜜臀va| 日日插插 | 国产综合色在线精品 | 久久精品动漫一区二区三区 | 亚洲一区二区在线 | 欧美性黑人极品hd | 亚洲国产精品大学美女久久久爽 | 亚洲视频123| 国产免费又硬又黄又爽的视频喷水 | 免费放黄网站在线播放 | 夜夜精品浪潮av一区二区三区 | 91精品国产乱码久久久久久张柏芝 | 国产无遮挡又黄又爽在线观看 | 国产欧美日韩久久久久 | 国产无套粉嫩白浆内谢网站 | 国产精品一区二区三 |