免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

關(guān)系模型實(shí)戰(zhàn):用三要素設(shè)計(jì)高可靠數(shù)據(jù)庫(kù)表結(jié)構(gòu)

關(guān)系模型實(shí)戰(zhàn):用三要素設(shè)計(jì)高可靠數(shù)據(jù)庫(kù)表結(jié)構(gòu) 1. 這不是教科書(shū)里的“關(guān)系”而是你每天都在用的數(shù)據(jù)邏輯“關(guān)系模型”這四個(gè)字一聽(tīng)到就容易讓人聯(lián)想到黑板上畫(huà)滿(mǎn)圓圈和箭頭的ER圖、堆滿(mǎn)術(shù)語(yǔ)的《數(shù)據(jù)庫(kù)原理》教材還有期末考前熬夜背誦的“第一范式、第二范式、第三范式”——但我要說(shuō)這種理解方式從一開(kāi)始就把路走偏了。關(guān)系模型從來(lái)就不是一門(mén)只存在于課堂上的抽象理論它是你手機(jī)里微信聊天記錄的組織方式是你點(diǎn)外賣(mài)時(shí)訂單與餐廳、騎手、菜品之間自動(dòng)匹配的底層規(guī)則是你在招聘網(wǎng)站上篩選“3年Java經(jīng)驗(yàn)北京薪資20K”時(shí)系統(tǒng)瞬間返回結(jié)果所依賴(lài)的精確引擎。它不炫技不燒腦它的力量恰恰在于極度克制的表達(dá)力只用一張張結(jié)構(gòu)清晰的表格即“關(guān)系”配合幾條簡(jiǎn)單到近乎樸素的規(guī)則如“每個(gè)字段有唯一名稱(chēng)”“每行數(shù)據(jù)必須完整”就能支撐起從銀行核心系統(tǒng)到短視頻推薦引擎的全部數(shù)據(jù)運(yùn)轉(zhuǎn)。我?guī)н^(guò)不少剛轉(zhuǎn)行做后端開(kāi)發(fā)的學(xué)員他們常卡在一個(gè)奇怪的節(jié)點(diǎn)能熟練寫(xiě)CRUD接口也能調(diào)通Redis緩存可一旦要設(shè)計(jì)一個(gè)新模塊的數(shù)據(jù)庫(kù)表結(jié)構(gòu)就開(kāi)始反復(fù)刪改、猶豫不決最后交出來(lái)的方案要么字段冗余得像雜貨鋪要么關(guān)聯(lián)復(fù)雜得像毛線(xiàn)團(tuán)。問(wèn)題不在SQL語(yǔ)法而在于沒(méi)真正吃透“關(guān)系”二字背后的工程直覺(jué)——它不是數(shù)學(xué)定義而是一套經(jīng)過(guò)數(shù)十年千錘百煉的數(shù)據(jù)契約體系。這張契約規(guī)定了什么數(shù)據(jù)該放在一起實(shí)體完整性不同表格間如何安全握手參照完整性以及當(dāng)業(yè)務(wù)變化時(shí)數(shù)據(jù)結(jié)構(gòu)怎樣才能最小代價(jià)地演進(jìn)規(guī)范化。本講不講定義復(fù)述我們直接拆解一個(gè)真實(shí)場(chǎng)景某在線(xiàn)教育平臺(tái)要上線(xiàn)“課程學(xué)習(xí)進(jìn)度追蹤”功能。用戶(hù)反饋“看不清自己學(xué)到哪了”運(yùn)營(yíng)抱怨“無(wú)法精準(zhǔn)推送未完成章節(jié)”。這不是加個(gè)字段就能解決的事它逼著你回到關(guān)系模型的原點(diǎn)重新思考“用戶(hù)”“課程”“章節(jié)”“學(xué)習(xí)記錄”這幾個(gè)概念之間到底該建立怎樣的“關(guān)系”。接下來(lái)的內(nèi)容就是我?guī)е鴪F(tuán)隊(duì)從零梳理這個(gè)模塊時(shí)的真實(shí)推演過(guò)程所有步驟、取舍、踩過(guò)的坑都攤開(kāi)來(lái)講。2. 關(guān)系模型的骨架三要素如何撐起整個(gè)數(shù)據(jù)世界2.1 “關(guān)系”不是動(dòng)詞而是一張被嚴(yán)格約束的二維表很多人第一次接觸“關(guān)系”這個(gè)詞下意識(shí)會(huì)想成“兩個(gè)事物之間的聯(lián)系”比如“用戶(hù)和訂單有關(guān)系”。這沒(méi)錯(cuò)但遠(yuǎn)遠(yuǎn)不夠。在關(guān)系模型中“關(guān)系”Relation是一個(gè)嚴(yán)格的技術(shù)術(shù)語(yǔ)它指代的是一種邏輯數(shù)據(jù)結(jié)構(gòu)其物理表現(xiàn)就是一張滿(mǎn)足特定條件的二維表。關(guān)鍵在于這張表不是隨便畫(huà)的它必須同時(shí)滿(mǎn)足三個(gè)硬性約束缺一不可列名唯一且不可重名表中的每一列Attribute必須有明確、唯一的名稱(chēng)比如user_id、course_name、progress_percent。不能出現(xiàn)兩列都叫id也不能用col1、col2這種模糊稱(chēng)呼。這看似是命名規(guī)范實(shí)則是避免歧義的基石——當(dāng)你的SQL查詢(xún)寫(xiě)SELECT id FROM users JOIN orders ON users.id orders.id時(shí)數(shù)據(jù)庫(kù)引擎必須能100%確定每個(gè)id指向哪個(gè)實(shí)體否則整個(gè)查詢(xún)就崩了。行數(shù)據(jù)無(wú)序且不可重復(fù)表中的行Tuple沒(méi)有固定順序你不能說(shuō)“第一行是張三第二行是李四”更重要的是不允許存在完全相同的兩行數(shù)據(jù)。這意味著如果users表里已經(jīng)有一條user_id1001, name張三的記錄再插入一條一模一樣的數(shù)據(jù)庫(kù)會(huì)直接報(bào)錯(cuò)違反主鍵或唯一約束。這個(gè)設(shè)計(jì)徹底杜絕了數(shù)據(jù)“臟讀”的源頭——想象一下如果允許重復(fù)行統(tǒng)計(jì)“總用戶(hù)數(shù)”時(shí)你得到的可能是個(gè)虛高數(shù)字而這個(gè)錯(cuò)誤在應(yīng)用層極難察覺(jué)。每列值原子化第一范式要求這是最容易被忽視也最致命的一條。所謂“原子化”是指一個(gè)字段里只能存一個(gè)不可再分的值。比如絕不能把用戶(hù)的“興趣標(biāo)簽”設(shè)計(jì)成一個(gè)tags VARCHAR(255)字段里面塞Python,機(jī)器學(xué)習(xí),數(shù)據(jù)庫(kù)這樣的逗號(hào)分隔字符串。為什么因?yàn)橐坏┻@么存你就喪失了所有基于單個(gè)標(biāo)簽的查詢(xún)能力你想查“所有對(duì)機(jī)器學(xué)習(xí)感興趣的人”SQL就得用LIKE %機(jī)器學(xué)習(xí)%這不僅慢無(wú)法走索引而且不準(zhǔn)可能匹配到“深度學(xué)習(xí)”里的“學(xué)習(xí)”。正確的做法是拆成獨(dú)立的user_tags關(guān)聯(lián)表每行只存一個(gè)user_id和一個(gè)tag_name。我見(jiàn)過(guò)太多項(xiàng)目早期為圖省事用JSON字段存復(fù)雜結(jié)構(gòu)后期業(yè)務(wù)增長(zhǎng)光是清洗這些“半結(jié)構(gòu)化”數(shù)據(jù)就花了兩周時(shí)間。提示判斷一張表是否符合關(guān)系定義有個(gè)極簡(jiǎn)自查法——把這張表打印出來(lái)拿給一個(gè)完全不懂技術(shù)的同事看問(wèn)他“如果讓你手動(dòng)維護(hù)這張表不借助任何程序你能保證永遠(yuǎn)不填錯(cuò)、不重復(fù)、不漏填嗎” 如果答案是否定的那這張表大概率還沒(méi)達(dá)到關(guān)系模型的基本門(mén)檻。2.2 域Domain讓數(shù)據(jù)從“能存”走向“存得對(duì)”如果說(shuō)“關(guān)系”定義了表的骨架那么“域”Domain就是給每根骨頭賦予血肉和邊界。域本質(zhì)上是對(duì)某一列所能接受的值的精確描述集合。它回答的問(wèn)題是“這個(gè)字段合法的數(shù)據(jù)到底長(zhǎng)什么樣” 很多人以為域就是數(shù)據(jù)類(lèi)型如INT、VARCHAR這太淺了。一個(gè)完整的域定義至少包含三層含義數(shù)據(jù)類(lèi)型Type這是最基礎(chǔ)的比如age列用TINYINT UNSIGNED0-255比用INT更節(jié)省空間也隱含了“年齡不可能為負(fù)數(shù)”的業(yè)務(wù)邏輯。取值范圍Range這是業(yè)務(wù)規(guī)則的直接映射。比如progress_percent列域定義必須是0 value 100且為整數(shù)。如果數(shù)據(jù)庫(kù)不支持CHECK約束你就要在應(yīng)用層死守這條線(xiàn)否則會(huì)出現(xiàn)progress_percent150這種荒謬數(shù)據(jù)后續(xù)所有基于進(jìn)度的計(jì)算如“完成率排行榜”都會(huì)失真。語(yǔ)義約束Semantic Rule這是最高階的域控制它關(guān)乎數(shù)據(jù)的業(yè)務(wù)含義。例如order_status列域不是簡(jiǎn)單的ENUM(pending,paid,shipped,delivered)而是必須明確每種狀態(tài)的轉(zhuǎn)換規(guī)則paid狀態(tài)只能由pending變更而來(lái)delivered狀態(tài)必須在shipped之后。這個(gè)規(guī)則本身不存儲(chǔ)在數(shù)據(jù)庫(kù)里但它決定了你在寫(xiě)更新SQL時(shí)必須先查當(dāng)前狀態(tài)再?zèng)Q定能否執(zhí)行下一步操作。我曾參與一個(gè)電商項(xiàng)目因忽略此約束導(dǎo)致前端按鈕邏輯與后端狀態(tài)機(jī)脫節(jié)用戶(hù)能直接從pending跳到delivered引發(fā)大量客訴。實(shí)操中域的定義直接影響開(kāi)發(fā)效率。我們團(tuán)隊(duì)在設(shè)計(jì)courses表時(shí)對(duì)level字段做了精細(xì)域劃分beginner|intermediate|advanced|expert。這看起來(lái)只是幾個(gè)字符串但它帶來(lái)的好處是立竿見(jiàn)影的——前端下拉框選項(xiàng)、API返回的枚舉文檔、甚至測(cè)試用例的生成都直接復(fù)用這套定義避免了“前端寫(xiě)beginner后端寫(xiě)novice”這種低級(jí)錯(cuò)誤。域就是數(shù)據(jù)世界的“憲法”它不強(qiáng)制你做什么但劃清了所有合法行為的邊界。2.3 關(guān)鍵碼Key數(shù)據(jù)世界的“身份證”與“連接樞紐”關(guān)鍵碼Key是關(guān)系模型中最具工程價(jià)值的概念。它既是數(shù)據(jù)的唯一標(biāo)識(shí)符也是多張表之間建立可靠關(guān)聯(lián)的唯一橋梁。這里必須厘清一個(gè)常見(jiàn)誤區(qū)關(guān)鍵碼不等于主鍵Primary Key。主鍵只是關(guān)鍵碼的一種實(shí)現(xiàn)形式而關(guān)鍵碼的本質(zhì)是能唯一標(biāo)識(shí)關(guān)系中每一個(gè)元組行的屬性或?qū)傩越M合。它分為三類(lèi)各自承擔(dān)不同角色超鍵Superkey能唯一標(biāo)識(shí)一行的任意屬性集。比如在users表中user_id是超鍵email是超鍵user_id email也是超鍵。超鍵很多但它們就像一堆備用鑰匙不是每把都適合日常使用。候選鍵Candidate Key不含多余屬性的最小超鍵。還是users表user_id是候選鍵去掉它就無(wú)法唯一標(biāo)識(shí)email也是候選鍵假設(shè)郵箱唯一。但user_id email就不是候選鍵因?yàn)樗硕嘤鄬傩評(píng)ser_id已足夠。候選鍵是“精挑細(xì)選”后的優(yōu)質(zhì)鑰匙它們都有資格成為主鍵。主鍵Primary Key從候選鍵中選定的一個(gè)作為該關(guān)系的官方標(biāo)識(shí)。我們通常選user_id為主鍵因?yàn)樗菙?shù)字、自增、無(wú)業(yè)務(wù)含義穩(wěn)定可靠。而email雖是候選鍵但作為主鍵風(fēng)險(xiǎn)很大——用戶(hù)可能換郵箱一旦主鍵變更所有外鍵引用都會(huì)斷裂。關(guān)鍵碼的威力在于它構(gòu)建了表與表之間的“強(qiáng)連接”。比如orders表的user_id列它本身不是orders表的主鍵但它參照Referencesusers表的主鍵user_id這就形成了一個(gè)外鍵Foreign Key約束。這個(gè)約束像一道鐵閘你不能在orders表里插入一個(gè)user_id9999的訂單除非users表里真有id9999的用戶(hù)。它從源頭上杜絕了“孤兒訂單”的產(chǎn)生。我親眼見(jiàn)過(guò)一個(gè)老系統(tǒng)因外鍵約束被人為關(guān)閉導(dǎo)致幾年積累下來(lái)訂單表里有近30%的user_id在用戶(hù)表中找不到對(duì)應(yīng)記錄數(shù)據(jù)清洗成了噩夢(mèng)。注意外鍵約束不是性能負(fù)擔(dān)而是數(shù)據(jù)質(zhì)量的保險(xiǎn)絲。有人擔(dān)心它影響寫(xiě)入速度實(shí)測(cè)表明在合理索引下外鍵檢查的開(kāi)銷(xiāo)微乎其微0.5ms。而一旦放開(kāi)修復(fù)數(shù)據(jù)一致性的成本是以人天為單位計(jì)算的。3. 從概念到落地用一個(gè)真實(shí)案例拆解關(guān)系建模全過(guò)程3.1 需求深挖別急著畫(huà)表先聽(tīng)懂業(yè)務(wù)在說(shuō)什么回到開(kāi)頭提到的在線(xiàn)教育平臺(tái)“學(xué)習(xí)進(jìn)度追蹤”需求。運(yùn)營(yíng)同學(xué)說(shuō)“我們要知道用戶(hù)學(xué)到了哪一章。” 這句話(huà)聽(tīng)起來(lái)簡(jiǎn)單但背后藏著至少五個(gè)需要澄清的業(yè)務(wù)問(wèn)題進(jìn)度是按“課程”算還是按“章節(jié)”算用戶(hù)可能學(xué)完A課程的第1章但B課程一章都沒(méi)碰。如果只統(tǒng)計(jì)“課程完成率”對(duì)精細(xì)化運(yùn)營(yíng)毫無(wú)價(jià)值。“學(xué)完”如何定義是視頻播放完成是課后習(xí)題全對(duì)還是兩者都要不同定義數(shù)據(jù)采集點(diǎn)完全不同。進(jìn)度是否需要?dú)v史追溯運(yùn)營(yíng)想分析“用戶(hù)放棄學(xué)習(xí)的臨界點(diǎn)”這就要求記錄每次進(jìn)度變更的時(shí)間戳而不是只存當(dāng)前值。是否有“重學(xué)”場(chǎng)景用戶(hù)學(xué)完又回看第一章進(jìn)度要不要重置還是疊加記錄權(quán)限如何控制免費(fèi)用戶(hù)只能看前3章VIP用戶(hù)全開(kāi)放。進(jìn)度計(jì)算是否要過(guò)濾掉用戶(hù)無(wú)權(quán)訪(fǎng)問(wèn)的章節(jié)我們花了整整半天和產(chǎn)品、運(yùn)營(yíng)、前端、測(cè)試一起開(kāi)了場(chǎng)需求對(duì)齊會(huì)最終確認(rèn)的核心事實(shí)只有三條進(jìn)度以“章節(jié)”為最小單位每個(gè)章節(jié)有一個(gè)chapter_id“學(xué)完”定義為該章節(jié)下的所有視頻播放完成且所有習(xí)題提交并正確率≥80%必須記錄每次狀態(tài)變更的精確時(shí)間updated_at用于后續(xù)行為分析。這三條就是我們建模的全部輸入。沒(méi)有這一步后面畫(huà)的任何ER圖都是空中樓閣。3.2 實(shí)體識(shí)別與關(guān)系判定哪些該成表哪些該成字段基于上述事實(shí)我們開(kāi)始識(shí)別核心實(shí)體Entity和它們之間的關(guān)系Relationship實(shí)體1用戶(hù)User屬性u(píng)ser_id主鍵、name、email、is_vip布爾值區(qū)分權(quán)限判定依據(jù)用戶(hù)是系統(tǒng)中最基礎(chǔ)的參與者所有行為都?xì)w屬其下。實(shí)體2課程Course屬性course_id主鍵、title、description判定依據(jù)課程是內(nèi)容容器獨(dú)立于用戶(hù)存在。實(shí)體3章節(jié)Chapter屬性chapter_id主鍵、course_id外鍵指向Course、title、order_num在課程內(nèi)的序號(hào)判定依據(jù)章節(jié)隸屬于課程且有明確的先后順序需獨(dú)立管理。關(guān)系用戶(hù)-章節(jié)學(xué)習(xí)狀態(tài)User_Chapter_Progress這是核心它不是一個(gè)實(shí)體而是一個(gè)關(guān)聯(lián)關(guān)系因?yàn)樗枋龅氖恰坝脩?hù)對(duì)某個(gè)章節(jié)的掌握狀態(tài)”狀態(tài)本身沒(méi)有獨(dú)立存在意義一個(gè)用戶(hù)可以學(xué)習(xí)多個(gè)章節(jié)一對(duì)多一個(gè)章節(jié)可以被多個(gè)用戶(hù)學(xué)習(xí)一對(duì)多這是典型的多對(duì)多關(guān)系狀態(tài)包含動(dòng)態(tài)信息statusnot_started/in_progress/completed、last_accessed_at最后學(xué)習(xí)時(shí)間、updated_at狀態(tài)變更時(shí)間。這里的關(guān)鍵決策是絕不把進(jìn)度狀態(tài)塞進(jìn)users表或chapters表有人提議在users表加current_chapter_id字段這會(huì)導(dǎo)致一個(gè)用戶(hù)只能有一個(gè)“當(dāng)前章節(jié)”無(wú)法記錄歷史無(wú)法查詢(xún)“所有已完成第5章的用戶(hù)”users表膨脹違背關(guān)注點(diǎn)分離原則。正確的做法是為這個(gè)關(guān)系單獨(dú)建一張表這就是關(guān)系模型的精髓——用表來(lái)表達(dá)關(guān)系而非用字段來(lái)暗示關(guān)系。3.3 表結(jié)構(gòu)設(shè)計(jì)與關(guān)鍵碼敲定讓每張表都經(jīng)得起推敲基于以上分析我們?cè)O(shè)計(jì)出三張核心表并嚴(yán)格定義其關(guān)鍵碼表1users字段名類(lèi)型約束說(shuō)明user_idBIGINT UNSIGNEDPRIMARY KEY, AUTO_INCREMENT主鍵全局唯一IDnameVARCHAR(50)NOT NULL用戶(hù)姓名emailVARCHAR(100)NOT NULL, UNIQUE候選鍵郵箱唯一is_vipTINYINT(1)NOT NULL, DEFAULT 00普通用戶(hù)1VIP關(guān)鍵碼分析user_id是主鍵首選候選鍵email是候選鍵。選擇user_id為主鍵因其穩(wěn)定、無(wú)業(yè)務(wù)含義、便于分布式擴(kuò)展。表2courses字段名類(lèi)型約束說(shuō)明course_idBIGINT UNSIGNEDPRIMARY KEY, AUTO_INCREMENT主鍵titleVARCHAR(100)NOT NULL課程標(biāo)題descriptionTEXTNULL課程描述關(guān)鍵碼分析僅course_id一個(gè)候選鍵直接設(shè)為主鍵。表3chapters字段名類(lèi)型約束說(shuō)明chapter_idBIGINT UNSIGNEDPRIMARY KEY, AUTO_INCREMENT主鍵course_idBIGINT UNSIGNEDNOT NULL, INDEX, FOREIGN KEY REFERENCES courses(course_id) ON DELETE CASCADE外鍵級(jí)聯(lián)刪除titleVARCHAR(100)NOT NULL章節(jié)標(biāo)題order_numTINYINT UNSIGNEDNOT NULL在課程內(nèi)的順序1,2,3...關(guān)鍵碼分析chapter_id是主鍵。course_id是外鍵其約束確保了“不存在脫離課程的章節(jié)”。ON DELETE CASCADE意味著若刪除一門(mén)課程其下所有章節(jié)自動(dòng)清除避免數(shù)據(jù)殘留。表4user_chapter_progress核心關(guān)系表字段名類(lèi)型約束說(shuō)明user_idBIGINT UNSIGNEDNOT NULL, FOREIGN KEY REFERENCES users(user_id) ON DELETE CASCADE外鍵1chapter_idBIGINT UNSIGNEDNOT NULL, FOREIGN KEY REFERENCES chapters(chapter_id) ON DELETE CASCADE外鍵2statusENUM(not_started,in_progress,completed)NOT NULL, DEFAULT not_started當(dāng)前狀態(tài)last_accessed_atDATETIMENULL最后學(xué)習(xí)時(shí)間updated_atDATETIMENOT NULL, DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP狀態(tài)最后更新時(shí)間PRIMARY KEY (user_id,chapter_id)聯(lián)合主鍵關(guān)鍵碼分析這是本設(shè)計(jì)的點(diǎn)睛之筆。user_id和chapter_id組合起來(lái)構(gòu)成一個(gè)聯(lián)合主鍵Composite Primary Key。它完美表達(dá)了“一個(gè)用戶(hù)對(duì)一個(gè)章節(jié)的狀態(tài)是唯一的”這一業(yè)務(wù)規(guī)則。你無(wú)法插入兩條user_id1001, chapter_id5001的記錄這從根本上杜絕了數(shù)據(jù)沖突。同時(shí)這兩個(gè)字段都是外鍵將用戶(hù)、章節(jié)、進(jìn)度三者牢牢綁定。3.4 規(guī)范化驗(yàn)證用三范式給設(shè)計(jì)做一次“CT掃描”設(shè)計(jì)完初稿必須用三范式3NF進(jìn)行驗(yàn)證這不是為了考試而是為了提前發(fā)現(xiàn)潛在的“數(shù)據(jù)癌變”風(fēng)險(xiǎn)第一范式1NF驗(yàn)證所有字段是否原子化user_chapter_progress.status是ENUM原子last_accessed_at是DATETIME原子沒(méi)有JSON或逗號(hào)分隔字段。?第二范式2NF驗(yàn)證所有非主屬性是否完全依賴(lài)于整個(gè)主鍵主鍵是(user_id,chapter_id)。status、last_accessed_at、updated_at都依賴(lài)于這個(gè)組合即“用戶(hù)1001對(duì)章節(jié)5001的狀態(tài)”而不是只依賴(lài)user_id或只依賴(lài)chapter_id。如果錯(cuò)誤地把course_id也放進(jìn)這張表那course_id就只依賴(lài)chapter_id因?yàn)檎鹿?jié)屬于課程這就違反了2NF會(huì)導(dǎo)致更新異常修改課程ID時(shí)要批量更新所有該課程下的用戶(hù)進(jìn)度記錄。我們沒(méi)放course_id?。第三范式3NF驗(yàn)證是否存在傳遞依賴(lài)即非主屬性是否依賴(lài)于另一個(gè)非主屬性表中只有三個(gè)非主屬性status、last_accessed_at、updated_at。它們之間沒(méi)有依賴(lài)關(guān)系status不會(huì)導(dǎo)致last_accessed_at變化都直接依賴(lài)于主鍵。?。通過(guò)三范式檢驗(yàn)這張user_chapter_progress表就像一臺(tái)精密儀器每個(gè)齒輪都嚴(yán)絲合縫。它可能看起來(lái)比“在users表加個(gè)current_chapter_id”復(fù)雜但正是這份復(fù)雜換來(lái)了未來(lái)三年的安穩(wěn)——當(dāng)運(yùn)營(yíng)提出“分析用戶(hù)在第3章的平均停留時(shí)長(zhǎng)”時(shí)你只需要加一個(gè)duration_seconds字段無(wú)需重構(gòu)整個(gè)數(shù)據(jù)鏈路。4. 關(guān)系模型的實(shí)戰(zhàn)陷阱與避坑指南那些沒(méi)人告訴你的細(xì)節(jié)4.1 “NULL”不是萬(wàn)能膠濫用它等于埋下定時(shí)炸彈NULL在SQL中代表“未知”或“不適用”但它常被開(kāi)發(fā)者當(dāng)作“占位符”或“默認(rèn)值”來(lái)用這是關(guān)系模型中最危險(xiǎn)的習(xí)慣之一。在我們的進(jìn)度表設(shè)計(jì)中l(wèi)ast_accessed_at允許為NULL這很合理——用戶(hù)從未打開(kāi)過(guò)該章節(jié)自然沒(méi)有“最后訪(fǎng)問(wèn)時(shí)間”。但如果你把status字段也設(shè)為NULL問(wèn)題就大了status為NULL它代表什么是“尚未開(kāi)始”是“狀態(tài)丟失”還是“系統(tǒng)錯(cuò)誤”業(yè)務(wù)上完全無(wú)法解讀。查詢(xún)“所有未開(kāi)始學(xué)習(xí)的用戶(hù)”時(shí)你得寫(xiě)WHERE status IS NULL OR status not_started邏輯混亂且易出錯(cuò)。更嚴(yán)重的是NULL參與任何比較運(yùn)算,!,結(jié)果都是UNKNOWN不是TRUE或FALSE。這意味著WHERE status ! completed會(huì)漏掉所有status為NULL的行導(dǎo)致數(shù)據(jù)統(tǒng)計(jì)偏差。我的實(shí)操心得為每一個(gè)可能為NULL的字段必須在設(shè)計(jì)文檔中明確定義其業(yè)務(wù)含義并在代碼中強(qiáng)制校驗(yàn)。我們團(tuán)隊(duì)的約定是所有狀態(tài)類(lèi)字段status,result,approval必須有明確的默認(rèn)值如not_started禁止NULL所有時(shí)間類(lèi)字段created_at,updated_at,last_accessed_at允許NULL但必須在業(yè)務(wù)邏輯中明確其語(yǔ)義如NULL “從未發(fā)生”所有金額、數(shù)量類(lèi)字段若業(yè)務(wù)上允許“零值”則用0若“零”和“未知”有本質(zhì)區(qū)別則用NULL但必須配套注釋。4.2 外鍵的“軟刪除”幻覺(jué)你以為的優(yōu)雅其實(shí)是數(shù)據(jù)沼澤很多團(tuán)隊(duì)喜歡用is_deleted字段實(shí)現(xiàn)“軟刪除”認(rèn)為這樣能保留歷史數(shù)據(jù)。但在關(guān)系模型中這極易引發(fā)災(zāi)難。假設(shè)我們?cè)赾hapters表加了is_deleted TINYINT(1) DEFAULT 0并對(duì)外鍵約束不做處理。那么問(wèn)題來(lái)了當(dāng)chapters.is_deleted 1時(shí)user_chapter_progress表里依然存在大量指向它的記錄。這些記錄是“有效”的嗎查詢(xún)“用戶(hù)學(xué)過(guò)的所有章節(jié)”時(shí)是否要過(guò)濾掉is_deleted1的章節(jié)如果要每次JOIN都得多加一個(gè)AND c.is_deleted 0代碼遍布各處極易遺漏。更糟的是如果chapters表被誤刪DROP TABLE所有外鍵約束瞬間失效user_chapter_progress表就成了“孤兒數(shù)據(jù)”的收容所再也無(wú)法追溯這些章節(jié)原本屬于哪門(mén)課程。我的解決方案在我們的項(xiàng)目中對(duì)chapters表采用真刪除Hard Delete 備份機(jī)制。刪除章節(jié)前后臺(tái)服務(wù)會(huì)先檢查user_chapter_progress中是否有status ! not_started的記錄。如果有拒絕刪除并提示“該章節(jié)已有用戶(hù)學(xué)習(xí)請(qǐng)先歸檔”若確認(rèn)可刪則執(zhí)行DELETE FROM chapters WHERE chapter_id ?外鍵的ON DELETE CASCADE會(huì)自動(dòng)清理所有關(guān)聯(lián)進(jìn)度同時(shí)系統(tǒng)會(huì)將被刪章節(jié)的元數(shù)據(jù)title,course_id,order_num異步寫(xiě)入deleted_chapters_log審計(jì)表滿(mǎn)足合規(guī)要求。這看似“粗暴”卻換來(lái)數(shù)據(jù)關(guān)系的絕對(duì)清晰。軟刪除的便利永遠(yuǎn)抵不上數(shù)據(jù)一致性崩塌的代價(jià)。4.3 時(shí)間戳的精度戰(zhàn)爭(zhēng)DATETIMEvsTIMESTAMP選錯(cuò)一個(gè)運(yùn)維哭半年在user_chapter_progress.updated_at字段選型上我們團(tuán)隊(duì)曾激烈爭(zhēng)論。TIMESTAMP占用4字節(jié)DATETIME占用8字節(jié)TIMESTAMP還自帶時(shí)區(qū)轉(zhuǎn)換看起來(lái)更“智能”。但深入一查全是坑TIMESTAMP的取值范圍是1970-2038而教育平臺(tái)的課程有效期可能長(zhǎng)達(dá)50年如“經(jīng)典算法導(dǎo)論”2038年問(wèn)題不是危言聳聽(tīng)TIMESTAMP的時(shí)區(qū)轉(zhuǎn)換是“透明”的但業(yè)務(wù)上我們要求所有時(shí)間戳都以服務(wù)器本地時(shí)區(qū)東八區(qū)存儲(chǔ)和展示避免前端反復(fù)轉(zhuǎn)換。TIMESTAMP會(huì)把傳入的2023-10-01 12:00:00自動(dòng)轉(zhuǎn)成UTC再存讀取時(shí)再轉(zhuǎn)回來(lái)中間環(huán)節(jié)極易出錯(cuò)TIMESTAMP在MySQL 5.6雖支持微秒但舊版本兼容性差而DATETIME(6)從5.6起就穩(wěn)定支持微秒精度對(duì)“用戶(hù)點(diǎn)擊按鈕到狀態(tài)更新”的毫秒級(jí)追蹤至關(guān)重要。最終決策全線(xiàn)使用DATETIME(6)。占用空間多4字節(jié)但現(xiàn)代SSD硬盤(pán)成本幾乎可忽略所有時(shí)間操作插入、更新、查詢(xún)都明確指定時(shí)區(qū)SET time_zone 08:00應(yīng)用層統(tǒng)一使用java.time.LocalDateTimeJava或datetime.datetimePython杜絕字符串拼接時(shí)間。這個(gè)選擇讓我們?cè)诤罄m(xù)接入實(shí)時(shí)數(shù)據(jù)分析平臺(tái)時(shí)時(shí)間字段零適配省下至少兩天工時(shí)。4.4 性能優(yōu)化的真相索引不是越多越好而是越準(zhǔn)越好關(guān)系模型的威力最終要靠數(shù)據(jù)庫(kù)引擎來(lái)兌現(xiàn)。而索引就是引擎的“導(dǎo)航地圖”。在user_chapter_progress表上我們只建了兩個(gè)索引聯(lián)合索引idx_user_status(user_id,status)這是為“查詢(xún)用戶(hù)所有已完成章節(jié)”量身定制的。WHERE user_id ? AND status completed能直接命中索引避免全表掃描。聯(lián)合索引idx_chapter_status(chapter_id,status)這是為“查詢(xún)某章節(jié)所有已完成的用戶(hù)”準(zhǔn)備的。運(yùn)營(yíng)常問(wèn)“第5章有多少人學(xué)完了”我們堅(jiān)決拒絕為單個(gè)字段如status建單獨(dú)索引。原因很簡(jiǎn)單status只有3個(gè)值not_started/in_progress/completed選擇性Selectivity極低。建索引后數(shù)據(jù)庫(kù)引擎發(fā)現(xiàn)status not_started會(huì)命中90%的行它寧愿全表掃描也不走索引。這不僅浪費(fèi)磁盤(pán)空間更拖慢寫(xiě)入速度每次INSERT都要更新索引樹(shù)。我的經(jīng)驗(yàn)公式一個(gè)字段是否值得建索引看它的選擇性 不重復(fù)值數(shù)量 / 總行數(shù)。選擇性 15%建單列索引選擇性 5%別建純屬添亂5%-15%之間結(jié)合高頻查詢(xún)模式考慮建聯(lián)合索引。在我們的進(jìn)度表中user_id選擇性接近100%chapter_id也極高所以聯(lián)合索引效果拔群。上線(xiàn)后核心查詢(xún)響應(yīng)時(shí)間從平均1200ms降至45ms提升26倍。5. 關(guān)系模型的延伸思考它如何塑造你的系統(tǒng)架構(gòu)觀(guān)5.1 從“表驅(qū)動(dòng)”到“事件驅(qū)動(dòng)”關(guān)系模型不是終點(diǎn)而是起點(diǎn)關(guān)系模型教會(huì)我們的遠(yuǎn)不止如何設(shè)計(jì)一張表。它培養(yǎng)了一種以數(shù)據(jù)為中心的系統(tǒng)思維。當(dāng)我們把“用戶(hù)-章節(jié)-進(jìn)度”這三者的關(guān)系理清后整個(gè)系統(tǒng)的脈絡(luò)就清晰了前端觸發(fā)“章節(jié)播放完成”事件 → 后端服務(wù)校驗(yàn)習(xí)題正確率 → 若達(dá)標(biāo)則向user_chapter_progress表寫(xiě)入statuscompleted→ 這個(gè)寫(xiě)操作又自動(dòng)觸發(fā)下游的“學(xué)習(xí)完成通知”、“課程完成度計(jì)算”、“個(gè)性化推薦更新”等事件。你看關(guān)系模型在這里成了事件流的錨點(diǎn)。它不負(fù)責(zé)處理業(yè)務(wù)邏輯但它為所有邏輯提供了一個(gè)穩(wěn)定、可信、可追溯的數(shù)據(jù)基座。沒(méi)有這個(gè)基座事件驅(qū)動(dòng)就成了無(wú)源之水——你無(wú)法確認(rèn)“用戶(hù)A是否真的完成了章節(jié)B”因?yàn)闋顟B(tài)可能散落在Redis緩存、MQ消息、甚至前端LocalStorage里彼此沖突。我參與過(guò)一個(gè)項(xiàng)目初期為求快所有狀態(tài)都存在Redis里。結(jié)果在一次網(wǎng)絡(luò)抖動(dòng)中部分Redis寫(xiě)入失敗而MQ消息已發(fā)出導(dǎo)致“用戶(hù)收到完成通知但后臺(tái)數(shù)據(jù)沒(méi)更新”信任瞬間崩塌。后來(lái)我們徹底重構(gòu)所有核心狀態(tài)回歸關(guān)系型數(shù)據(jù)庫(kù)Redis只作緩存MQ只作通知通道。系統(tǒng)穩(wěn)定性從99.2%提升至99.99%故障排查時(shí)間從小時(shí)級(jí)降到分鐘級(jí)。5.2 關(guān)系模型與NoSQL的共生之道不是替代而是分工常有人問(wèn)“現(xiàn)在都用MongoDB了還要學(xué)關(guān)系模型嗎” 我的答案斬釘截鐵更要學(xué)而且要學(xué)得更透。NoSQL不是關(guān)系模型的敵人而是它的“特種兵”。它們分工明確關(guān)系型數(shù)據(jù)庫(kù)如MySQL, PostgreSQL處理強(qiáng)一致性、復(fù)雜關(guān)聯(lián)、事務(wù)保障的場(chǎng)景。比如支付訂單、用戶(hù)權(quán)限、學(xué)習(xí)進(jìn)度——這些數(shù)據(jù)錯(cuò)一條就是資損或客訴。文檔型數(shù)據(jù)庫(kù)如MongoDB處理高吞吐、靈活Schema、讀多寫(xiě)少的場(chǎng)景。比如用戶(hù)行為日志點(diǎn)擊、滑動(dòng)、停留時(shí)長(zhǎng)、課程評(píng)論格式不一含圖片鏈接、實(shí)時(shí)彈幕——這些數(shù)據(jù)結(jié)構(gòu)多變一致性要求相對(duì)寬松。關(guān)鍵在于不要讓NoSQL去干關(guān)系型數(shù)據(jù)庫(kù)的活。我見(jiàn)過(guò)一個(gè)團(tuán)隊(duì)把用戶(hù)資料全存MongoDB結(jié)果要做“查詢(xún)VIP用戶(hù)中最近7天登錄且完成3門(mén)課程的用戶(hù)”寫(xiě)聚合管道寫(xiě)了200行性能還奇差。而同樣的需求在MySQL里一個(gè)三表JOIN加WHERE10行SQL搞定毫秒級(jí)響應(yīng)。我的實(shí)踐原則所有核心業(yè)務(wù)實(shí)體用戶(hù)、商品、訂單、進(jìn)度及其強(qiáng)關(guān)聯(lián)關(guān)系必須用關(guān)系模型建模存入關(guān)系型數(shù)據(jù)庫(kù)所有輔助性、分析性、日志類(lèi)數(shù)據(jù)用NoSQL或時(shí)序數(shù)據(jù)庫(kù)如InfluxDB兩者之間用CDCChange Data Capture工具如Debezium實(shí)時(shí)同步讓NoSQL庫(kù)成為關(guān)系庫(kù)的“只讀鏡像”既保證強(qiáng)一致性又釋放分析壓力。5.3 終極考驗(yàn)當(dāng)業(yè)務(wù)狂奔時(shí)關(guān)系模型如何不掉隊(duì)最后分享一個(gè)最真實(shí)的挑戰(zhàn)業(yè)務(wù)方突然要求“下周一上線(xiàn)‘學(xué)習(xí)小組’功能用戶(hù)可以創(chuàng)建小組邀請(qǐng)好友共同學(xué)習(xí)同一門(mén)課程小組有整體進(jìn)度排名?!?這個(gè)需求對(duì)現(xiàn)有關(guān)系模型是巨大沖擊。我們沒(méi)有推倒重來(lái)而是基于已有模型快速演進(jìn)新增study_groups表group_id,name,creator_id新增group_members關(guān)聯(lián)表group_id,user_id,joined_at復(fù)用user_id外鍵新增group_course_progress表group_id,course_id,completed_chapters_count,updated_at其中completed_chapters_count通過(guò)定時(shí)任務(wù)從user_chapter_progress表聚合計(jì)算得出。你看所有新增表都嚴(yán)格遵循關(guān)系模型三要素有明確主鍵、有外鍵約束、有原子化字段。新增的聚合邏輯沒(méi)有破壞原有數(shù)據(jù)的完整性反而讓老表的價(jià)值更高了——它成了新功能的“數(shù)據(jù)源泉”。關(guān)系模型的強(qiáng)大不在于它能預(yù)測(cè)所有未來(lái)而在于它提供了最堅(jiān)實(shí)的演化基礎(chǔ)。只要主鍵、外鍵、域定義清晰無(wú)論業(yè)務(wù)如何裂變你都能像搭積木一樣穩(wěn)穩(wěn)地添加新模塊而不用擔(dān)心整個(gè)數(shù)據(jù)大廈轟然倒塌。這才是它歷經(jīng)半個(gè)世紀(jì)依然是數(shù)字世界地基的根本原因。我在實(shí)際項(xiàng)目中發(fā)現(xiàn)那些能把關(guān)系模型用得爐火純青的工程師往往也是系統(tǒng)架構(gòu)最穩(wěn)健的守護(hù)者。他們不追求最新潮的技術(shù)名詞而是把最樸素的“表、列、鍵”玩到極致。當(dāng)你下次面對(duì)一個(gè)新需求別急著打開(kāi)IDE寫(xiě)代碼先拿出一張紙畫(huà)一畫(huà)這里有哪些實(shí)體它們之間是什么關(guān)系哪些是必須唯一標(biāo)識(shí)的哪些狀態(tài)需要被精確追蹤——這個(gè)看似“復(fù)古”的過(guò)程恰恰是通往高效、可靠、可演進(jìn)系統(tǒng)的最快捷徑。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩AV一区二区三区| 99色| 天天日天天添| 色级停停| 婷婷综合| 婷婷综合97| 91九色在线| 少妇人妻人伦A片| 人人人人人人人草| 色婷婷婷av | 99re99在线看| 五月天婷婷丁香人人操91| 综合另类视频| 婷婷激情五月综合| www。五月天。com| AV中文在线| 人妻丰满精品一区二区A片| 色欲一二三| 天天天久久久| 大香蕉综合| 天天日中文| 丁香婷婷色情社区成人小说| 色婷五月天亚洲| www.一区二区三区| 97在线观视频免费观看| 欧美日综合| 天天舔天天操| 婷婷香五月天| 国产成人+亚洲+欧洲| 92久久| 婷婷丁香六月天| 91精品久久久久久久| 亚洲五月天天| 色情·com| 操逼综合网| 性做爰1一7伦| 色婷婷六月| 九九在线视频| 天天综合 99久久婷婷| 亚洲看av的网站| 丁香五月天天高清在线| 26UUU| 另类视屏| 91日视频| 亚洲操精品| 99亚洲精品综合在线| 99热在线精品观看| 久久久99久久| 久热超碰| 色综合天天| 九九re精品视频在线观看| 色婷婷五月天在线| www.婷婷五月天啪啪| 4438全国最大视频成人网站在线观看| 九色综合五月天婷五月| 精品9l九九九九九77777| 中文字幕日本最新乱码视频| 人五月天婷婷喷水| 91seAV| 丁香激情五月综合网| 丁香五月婷婷久久久| 97干干干丁香| 日本婷婷色| 粉嫩AV久久一区二区三区| 婷婷天堂综合| 九九人人操| 99欧美| 二色AV| 任你搞网站| 色婷婷先锋| 亚洲色网址| 丁香婷婷激情网站| 无码动漫av| 久久激情网| 99爱在线精品视频免费观看| 久热超碰91| 婷婷丁香五月天激情| 激情综合色婷婷啪啪五月天| 超碰日韩成人| 91九色超碰正在播放| 黄色短视频在线观看| av电影在线播放| 五月做爱| 97操在线视频| 婷婷色五月亚洲| 五月丁香六月婷婷亚洲激情综合| 色色色色色色色色色色色色色色,网站| 五月婷婷六月婷| 五月天婷婷影院影院观看| 99热中国| 婷婷色影院| 丁香六月情| 婷婷五月婷婷| 五月色情婷婷| 中文无码婷婷| 99思思热只有在这里看| 久久综合干| 婷婷激情六月| Aα在线免费观看| 婷婷丁香社区| 五月欧美丁香在线观看| 日本99久久| 97干在线| 久久五月婷婷视频| 丁香五月六月婷婷自拍| 色色色综合| 婷婷激情五月综合| 青青999| 久久9视频欧美| 五月丁香婷婷国产精品综合| 曰曰久久| 97日本在线播放| 精品99视频| www.久久久久| 色噜噜狠狠一区二区三区| 99精品久久久久久久婷婷| 成人片在线播放| 五月天久久小说| 色综合久久综合中文综合网| 国产午夜精品AV一区二区麻豆| 依人大香蕉在钱1| 亚洲AV无码成人精品区电影网| av在线播放网址| 久久精品国产色| 婷婷六月亚洲综合| 精品九九久久| 六月婷伊人| 99热只有| 色约约视频一区二区三区四区五区| 婷婷五月综合网| 久久这里只有精品无码| 狠狠操天天干| 六月丁香花婷婷| 日日狠狠久久偷偷四色综合免费| 婷婷五月天色色| 操逼五月天| 天天爽人人综合免费7799| 亚洲黄网AV| 婷婷五月电影院| 日本噜噜色网| 91狠狠色丁香婷婷综合久久| 久草五月| 久热伊人| 国产免费AV在线| 国产精品热搜丁香五月婷婷| 7777国产盗摄农村女人| 五月天婷婷丁香视频| 色久九| 久久日曰| 有哪些A片网站| 国产AV国片偷人妻麻豆| 欧美日韓成人亚洲精品另类| 婷色五月| 天天在线久久综合 | www.91九色| 国产干逼片| 欧美日韩大黄| 午夜精品人妻无码一区二区三区 | 久久96热| 亚洲人成播放网站| 热成人网| 好色婷婷| 亚洲成人综合在线| 五月丁香婷婷色| 五月婷婷丁香六月| 综合久久影院| 五月丁香色色网| 五月天综合久久| 成人在线视频一区| 伊人www22综合色| 丁香五月天婷婷中文字幕| 色逼综合网| 狠狠狠狠狠狠草| 99精品色| 五月熟妇婷婷久久| 久9热插入| 思思热热久久| 亚洲婷婷丁香五月| 九九色人| 丁香五月婷婷动漫| 99热最新国内| 操日视频| 天天噜天天爱| 图片区 小说区 区 亚洲五月| 五月天丁香网| 日产精品一线二线三线芒果| 色色色国产| 久久婷婷一级片| 亚洲va欧美va国产综合久久久| 97久久久久久久久久久| 激情爱爱网站超大免费| 五月色丁香综合| 国产无套精品一区二区| 五月丁香六月激情综合| 97亚洲色 torrent magnet| 网站免费一站二站| 婷婷五月天亚洲丁香| 3DAV亚洲香蕉久久 一区二区| 六月婷婷五月天| 成人资源在线| 99精品国产在热久久| 五月天成人在线视频丁香| 极品人妻VIDEOSSS人妻| 天天色天天| 99热播放| a性生活久久无| 另类激情五月在线视频欧美| 天天做天天爱天天爽在| 激情宗合 激情宗合| 日韩狠狠色| 婷婷五月丁香六月伊人网| 99热在线观看| 五月丁香综合| 综合激情五月丁香| 91热在线| 亚洲9久久精品| 激情四射网| 色色色在线免费视频| 亚洲六月色| 99综合网| 伊人狠狠干| 激情综合网五月丁香| 日本精品人妻无码77777| 激情五月婷婷丁香综合网| 色导航色婷婷五月天在线观看| 99热性色| 久9综合| 97操碰碰无码视频| 久热A| 久久久99婷婷久久久久久| 丁香五月婷婷五月| 日本综合色图| 免费观看大片视频 丁香婷婷 六月欧美| 99热这里只有精品268| 国产jd1024基地手机看国产| 欧美大肥婆大肥BBBBB| 狠狠狠狠狠狠| 九九精品视频在线观看| 99精品在| 五月www| 国产操B视频| 天天激情站| 超碰免费人妻| 思思热在线视频精品| 狠狠狠激情网| 激情开心五月婷婷| 色情久久久| www.伊人天堂偷偷婷婷| 丁香六月AV| 久七香蕉| 日韩无码乱轮| 丁香婷婷婷五月综合色情| 精品夜夜澡人妻无码AV| 色丁香五月婷婷| 亚洲操精品| 狠色狠色综合久久| 天天做天天爱天天玩夜夜爽| 亚洲色vA| 五月开心啪啪| 天天操天天谢| 99热久久最新地址| 久久aaaa片一区二区| 久久这里只有精品5| 欧美激情中文字幕| 琪琪色五月天| 九九99免费视频| 九九热re99re6在线精品| 色婷婷四虎| 九九综合九| 精品香蕉99久久久久网站| 亚洲综合成人网| 日本久久精品18| 99久视频| 久久久www| 蜜臀av粉嫩av懂色av| 丁香色婷婷| 久久色五月天综合网| 玖操97| sewuyuejiqingwang| 色五月网址| www.激情| 狠狠擼综合| 婷婷五月欧美综合| 99在线精品在线视频| 综合激情深爱| 久久五月婷婷丁香| 激情五月久久| 婷婷色色综合| 人人插9| 全高清无码视頻| 色色五月婷| 色五月婷婷中文字幕在线观看| 五月丁香婷婷色| 久久婷婷五月天激情新地址| 五月婷婷丁香成人网| 久久er免费视频| 99热网站在线观看| 婷婷六月五月| 99热精品无码| 久久九九思思| 丁香五月网址| 激情五月综合免费| www.色婷婷.com| 99男人的天堂| 激情婷婷丁香| 久久3p| 六月五月丁香五月欧美| 久色欧美| 五月婷婷激情五月| 激情婷婷综合网| yellow视频在线观看91| 婷婷五月免费在线| 五月天婷婷綜合院| 51精品国自产在线| 无码人妻激情| 九九精品在线观看视频6| 成人免费在线电影| 婷婷色色综合| 永久的网站AAAA| 婷婷综合五月色播| 天天插天天射| 日韩日比视频| 丁香五月开心五月激情| 色婷网| 色啪影院| 亚洲99综合| 9999久久久久| 99九九在线精品热动漫| 婷婷五月天综合色| 色色五月婷婷| 色婷网| 丁香5月婷婷| 婷婷91| 国内精品免费一区二区2009| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 中海油常州环保涂料有限公司| 色欲资源网| 激情婷婷丁香五月天| 久久婷婷五月综合色欧美| 97人人操人人| 丁香五月婷婷影院| 天堂成人A片永久免费网站| 97五月综合网| 欧美成人精品老美女噜噜噜| 国产肥白大熟妇BBBB视频| 非洲一级AV| 中文字幕久久一区二区三区| 成人精品视频99在线观看免费| 丁香五月AV| 99只有这里是精品| 99视频| 伊人婷婷青青cao| 激情五月天综合网| 九九热99精品| 九九热在线视频观看| 亚洲日本韩国| 丁香六月婷婷高清| 五月综合视频| 婷婷五月天成人动漫 | 激情综合丁香六| 五月婷婷在线短视频| 婷婷 丁香 精品| 91性交在线播放| 婷婷五月激情热播| 99久久9| 大香蕉人妻| 在线视频99| 久久精品99久久久久久久久| 色噜噜狠噜噜视频| 另类 在线| 天天操综合网| 色综合久久99色| 五月婷婷五月色| 激情久久婷婷| WWW免费视频碰碰碰碰| 国产性爱色| 天天 日综合| 色999亚洲人成色| 色色日韩| 无码激情AAAAA片-区区| 欧美综合五月丁香六月婷| 99噜噜噜在线播放| 五月停停激情网| 九九综合九色欧美狠狠| 99色性爰网络| 婷婷久久久久| 一起草AV| 亚洲成人乱码av网站| 一区二区三区四日本| 日日夜夜噜噜爽爽| 最新五月天婷婷影| 天天色中文字幕女优AV| 五月婷婷之综合激情| 色五月97| 亚洲色网络| 天天爽成人综合网站| 色色色综合| 日本天天综合| 97ai婷婷| 婷婷五月六月丁香| 新五月天婷婷激情电影| 激情婷婷丁香色五月| 丁香五月成人| 丁香五月天色| 拍色综合| 激情综合色网| 99热这里有精品2| 91窝窝| 丁香五月中文字幕色播| 婷婷丁香77777| 极骚大香蕉伊人| 五月丁香综合网| 曰曰久久| 激情人妻蜜夜系列区| 久久久久丁香婷婷五月天| 亚亚州久久高潮| 五月婷婷久久久久| 亚洲精品V天堂中文字幕| 天天情色五月天| 五月丁香综合影院| www.婷婷| 色热久| 色婷婷激情小说网| 婷婷狠狠18禁久久| 玖玖爱伊人网| 五月天婷婷在线AN| 五月六月婷| 丁香五月婷婷无码AV| 国产婷伊人| 婷婷色色丁香五月天| 另类五月婷婷| a在线免费v| 亚洲视频在线观看| 操操人人| 婷婷六月丁香欧美视频在线| ji'qing'luan'ren'lun| 日本 欧美在线| 丁香伍月婷电影全集| 國語久久婷| 激情亚洲婷婷六月| 六月丁香激情综合网| 日本大逼91| 丁香激情网| 日本WWW九九九| 丁香五月激情视频在线| 99热偷拍| 天天爱天天做天天操| 天天狠天天狠| 色综合区| 久综合| av操B网站| 91色色色| 99色色网| 婷婷中文字幕| 丁香六月啪| 色婷婷亚洲五月天| 79精品视频| 色综合天天网| 色色啊| 97在线精品| 97碰成超视频免费视频| 青青色com久久| 日日操夜夜擼| 少妇水多A片太爽了| 色婷婷AAA| 精品久久人妻| 性综合网| 六月婷婷色色色| 欧美va在线| 五月丁香六月综合激情网| 色必久悠悠影院| 亚洲五月婷婷| 九九热黄色| 日韩淑女人妻luan伦激情精品一区二| 丁香五月天婷婷大香蕉| 伊综合蕉| 五月婷婷色白丝| 色99久草在线| 大香蕉久久久久久久久| 97香蕉人人在线观看| 丁香五月婷婷老师网站| 无码一级片| 五月黄色婷婷| 色爱99| aaa9区免费在线观看| cao视频,现在观看| 婷婷色一二三区波多野结衣| 日本色色网站| 国产91视频| 大香蕉婷婷丁香视频在线| 91要啪| av在线免费播放| 99热9| 久热这里只有精品性色AV| 色色五月天婷婷| 国产乱码久久| 天天 日综合| Va另类视频| 国产精品久久久久久五月天加勒比| 色婷婷色情| 狠狠色噜噜色狠狠狠综合久久成人波 | 婷婷涩五月| 九九激情网| 国产日批视频免费播放| 六月天丁婷婷| 婷婷五月天Av| www99热| 色五月色综合| 97资源欧美日韩大香蕉超碰一区| 99热免费精品热久久66| 99热色在线精品| 丁香五月成人网| 在线另类视频| 国产精品18久久久| 九月婷婷色色| 婷婷成人丁香色情基地30 | 五月天婷婷无码| 色五月自偷自拍婷婷婷婷| 激情婷婷在线中文字幕| 丁香狠狠| 伊人玖玖网| 五月色丁香| 伊人99久久| 五月丁香啪啪综合网| 久久五月天激情婷婷| 99热这里只有精品最新网址| 99久久激情视频| 婷色天堂| 久久婷婷五月综合97色一本| 六月婷婷九月丁香亚洲综合| 五月婷婷无码| 超碰激情五月| 色综合久久88色综合天天人守婷| 天天爱天天做天天| 亚洲情综合五月天| 欧美在线97| 中文字幕日韩无码制服诱或| 五月丁香无码| av五月天婷婷丁香| 另类色网| 婷婷色情网| 日韩99无码| 九九久久99| 99久久性爱| 丁香五月天综合| 久操大屁股女人av| 甈吧vv| 欧美日韩999| 色婷婷五月天av在线| 狠狠综合| 91九色国产熟女| 色级停停| 99热国内| 天天综合网站| 久久免费操| 欧美激情-区二区三区| 狠狠色丁香| 九月色婷婷综合| 亚洲99手机免费看视频| 91久久99久久91熟女精品| 婷婷五月丁香欧洲| 婷婷性爱五月天| 欧美色片中文字幕久久久久| 激情综合播播| 91欧美| 日本九九视频| 五月天婷婷丁香| 婷婷五月天综合亚洲| 激情五月黄色小说| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 情婷婷五月天| 婷婷97色| 丁香五月成人在线| 99燥99日| 五月婷婷九| 久久99国产综合精品免费| 五月丁香六月婷婷亚洲天堂网站| 日韩在线视频中文字幕| 成人AV中文字幕| 五月激情综合美女久久| www.99操| 五月天婷婷在线播放| 黄色av网站在线免费播放| 99热99免费| 曰韩少妇内射免费播放| 成人网站免费sxj| JAPANRCEP老熟妇乱子伦视频| 五月丁香六月婷婷,婷| 久久久久久人妻| 五月天丁香综合在线| 五月天啪啪啪| 五月婷婷深深爱| 狠狠爱激情网| 深爱激情中文五月天av| 欧美在线| 小视频一区 | 影音先锋激情网| 国产av天堂| 蜜乳A√| 丁香六月天婷婷色| www色五月| 色五月五月婷婷| 久操大香蕉| 久久久久妻| 99综合视频| 欧美色小说婷婷| 五月丁香婷婷欧美色图视频五月丁香777电影 | 99亚洲色色| 日本三级网址| 天天色视频| 97涩涩丁香五月天| 人操人| 五月天婷婷基地综合网| 丁香五月天色综合| 国产精品成av人在线视午夜片| 激情丁香五月天图片| 成人电影AV在线观看| 激情综合色| 五月丁香天天| 九月av在线| 婷婷综合五月| 久久人人人人妻| 婷婷激情四射五月天| 婷婷操久久| 另类图片激情五月| 丁香五月婷婷婷婷欧美综合| 韩国不卡AC视频| av在线免费网站 | 97碰在线视频| 久久机热/这里只有精品| 午夜激情婷婷| 91干婷婷| 五月丁香久人妻中文| 激情美女五月天| 日韩AV中文在线观看| 欧美啪啪9| 婷婷色五月天第7色| ady狠狠入| 天天色视频| 欧美天天干天天草| 超碰在线91| 99热99日天天干| 久久久精品色| 久久天天| www 五月天 com| 丁香五月首页| 99视频在线看| 久久99国产综合精品免费| 狠狠色噜噜狠狠狠888| 另类综合激情| 九热视频| 五月草影视| 激情性爱五月天| 97碰碰免费.视频| 精品人妻一区二区三区四区不卡在| 亚洲中文乱字字幕线在永久| 丁香六月婷婷| 4399在线观看免费高清黄色视频| 六月婷婷色色网| 天天操综合网| 激情综合99| 狠狠插日日干撸| 蜘蛛女免费观看完整版高清电影| 成人电影AV在线观看| 97涩婷婷| 色色色色色色色色色影院| 91五月天| 欧美婷婷日本| 无码髙清| 激情第四色| 5月丁香六月婷婷| 五月天激情播播网| 99操逼| 综合久久久| 另类国产欧美视频| 丁香五月天堂婷婷| 伊人高清无码| 国产高清av黄色看片| 91精品综合久久久久久五月丁香| 五月丁香六月婷婷久久| 久久看婷婷| 丁香激情五月| 在线观看av网站| 六月五月婷婷| 天天日天天干天天插天天射| 日日激情网| 色亚洲色宗合| 丁香五月激情澎湃一区| 婷婷丁香五月六月激情| 丁香五月婷婷天激情| www.色婷婷。com| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 99成人精品六| 精品久色| 欧美激情 日韩无码 婷婷 五月天| 成人av免费观看| 亚州精品色情无码A片| 午夜色婷婷| 激情综合色| 桃色Av色哟哟| 五月色情婷婷开心五月色情| 天天网站天天爽| 五月丁香综合久久| 精品成人无码A片观看香草视频| 天天日狠狠| 色婷婷五月天激情综合| 激情网婷婷婷| 精品爆操| 五月丁香六月婷婷网| 久久99综合| 色婷婷激情| 北京熟妇搡BBBB搡BBBB| 69凹凸成人综合网| 99re视频在线| 婷婷亚洲综合| 人人人人人人人人人草| 九九精品在线网| 天天日天天色| 五月天另类激情在线| 青青草视频免费观看| www.韩日视频| www.henhenl| 色色色在线免费视频| 五月天婷婷高清无码| 亚洲色五月婷婷| 亚洲永久四色| 三人荫蒂添的好舒服A片| 亞洲自怕| 91超碰人人操| 小视频一区| 99乱视频| 少妇AB又爽又紧无码网站| 无码人妻一区二区一牛影视| 97婷婷丁香五月天激情图片| 久久黄A片| 玖久精品视频9| 看片视频在线免费日产在线看| 成人片在线播放| 中文成人在线| 日本97在线视频| 五月丁香六月婷婷中文版| 天天做天天爱天天做| 99碰碰| 碰99在线| 色色色999| 99热只有这里才是精品| 五月丁香AV在线| 国产激情久久久| 亚洲AV成人精品网站在线播放| 五月久久婷婷丁香| 日日狠狠久久偷偷四色综合免费 | 九九九精品视频免费观看| 26uuu亚洲精品国产| 婷婷亚洲色| 九九综合五月欧美| 激情五月天在线| 久久综合影院| 亚洲AV无码电影| 婷婷五月激情六月丁香| 五月丁香婷婷综合视频| 天堂美国久久| 怡红院99| 99久久99九九99九九九| 婷婷五月色综合香五月| 狠狠操.com| www.色九月| 就爱日五月天| 伊人五月人妻精品| 色五月 五月婷婷| 五月天激情日色在线| 亚洲综合网激情五月天| 色色免费网站| 婷婷免费视频| 婷婷五月天亚洲综合网| 国产精产国品一二三在观看| www.婷婷五月天| 五月激情婷婷国产精品久久久久久 | 激情小说五月天| 五月丁香精品| 99激情| 丁香香蕉婷婷| 九九免费视频| 9 7总站超级碰免费视频| 天天拍天天做视频| 亚洲天堂aaaa| 婷婷丁香五另类网站| 欧洲亚洲午夜| 五月丁香成人版| 亚洲字幕AV一区二区三区四区 | 久久人人添人人爽添人人片αV| 婷婷五月AA五月在线| 色五月婷婷一二| 色婷婷婷婷| 六月婷婷网| 五月婷婷丁香婷婷| 色综合久久久综合久久网| 婷婷5月色| 欧州色色| 欧美日韩精品一区二区三区钱| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 丁香5月激情网| 成人电影AV在线观看| 五月丁香婷婷激情影院欧美| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 少妇高潮呻吟A片免费看软件| 九色视频91| www久久久| 亚洲人妻Av| 超碰com| 亚洲黄色操逼| 色在线视频网2025| 色玖玖综合| 99热这里只有精品1025| 99热国产精品| 久久香蕉影院| 97久久超碰| 九九RE视频在线精品| 欧美婷婷| 亚洲精品久久久久久久久久吃药| 五月激激网w'w'w| 国产视频色色色色色色色| 涩涩网五月天| 超碰五月婷婷五月天| 久久亚洲无码| 一逼色综合| 欧美婷婷| 这里只有精彩亚洲视频推荐| 欧美丁香五月| 成人丁香五月| 丁香五月天激情小说| 久久综合9| 色色五月天丁香婷婷| 色一区高清| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 色婷婷激情| 小视频一区| www.五月天色色色| 狠狠色婷婷777| anquye五月| 黄网在线免费播放| 五月天综合| 日日操天天| 婷婷六月啪啪| 精品一二三区久久AAA片| 丁香五月天网友自拍啪啪啪视频| www、丁香五月天| 亚洲欧美成人在线| 欧美va亚洲va在线播放| 久久精品五月天| 老师的粉嫩小又紧水又多A片视频 粉嫩AV久久一区二区三区 | 成人av在线电影| 五月天色色无码| 六月丁香色色| 精品综合久久久久久五月天| 7777精品伊人久久久大香线蕉最新版| 色婷五月天| 婷婷六月丁| 思思热久久阴99| 狠狠色噜噜色狠狠狠综合色| 99热老网站| 日日夜夜小色哥| 操一区| 久久性都花花世界成人免费视频| 99日本黄站| 五月婷婷综合潮喷| 五月天色综合| 色婷婷丁香AV综合| 欧美精品XXXXBBBB| 欧美日本另类| 五月色婷婷AV| 操操啪| 啪啪东京热| 色五月激情五月| 91狠狠色丁香婷婷综合久久| 开心激情网五月| 婷婷五月天成人动漫 | 五月色影院| 五月天婷婷色播| 激情视频网址| 婷婷免费视频| 爱久久小说下载网| 激情丁香五月| 五月丁香六月成人| 夜夜撸天天操| 九九热视频免费| 婷婷五月 丁香六月| 成人免费在线电影| 婷婷情色五月| 狠狠插.com| 激情五月天综合网| 黄网在线播放| 台湾无码A片一区二区| 九九色综合九九色| 色五月婷激情| 五月婷综合性中心| 婷婷丁香五月综合| 伊人色综合影院视频| 色五月,婷婷大香蕉| www.99.色| 日本一級黃色一級片| 五月丁香影视| 五月天婷婷综合网| 激情五月久久| 99色在线视频| 成人在线视频网| 五月天婷婷激情小说电影| 美女激情综合| 9色视频在线| 丁香五月婷婷啪| 自拍偷窥99热| 超碰99资源站| 天天操加勒比| 99热只有| 人人综合久| 日本久久人| 99re鈥哸鈥唙| 狠狠狠狠狠狠| 久久性刺激| 超碰色色综合| 香蕉操亚洲| 涩五月婷婷| 色五月婷婷基地| 丁香五月电影| 五月婷婷大香蕉| 激情五月丁香五月| 97久久久| 91人人人人人| 99超级超级超级碰| 99热欧美精品| 9l视频自拍九色9l视频自拍九色9l社区| 久久婷婷91| 午夜婷婷| 5月婷婷6月丁香aV| 色婷婷五月天激情在线播放| 亚洲九九九九| 99热这里只有精品69| 色日本网| 久热免费| 婷婷综合在线| 另类少妇人与禽zOZZ0性伦| 色五天综合| 97干在线视频精品店| 日韩AV一区二区三区| 操逼五月婷婷| 亚洲国产另类av| 182TV亚洲| 色欲婷婷夜夜| 激情亚洲色图片丁香综合| 久久久人妻系列| 婷婷久久精品| 午夜天堂一区人妻| 亚洲视频无| 99爱免费在线观看| 亚洲色另类| 久热这里只有精品6| 婷婷丁香色五月天| 99丁香五月婷| 丁香五月激情性色郤| AA丁香综合激情| 欧美三级巜人妻互换| 999九九九久久久99HD| 亚洲精品亚洲人成人网| 丁香五月激情澎湃一区| 女人被男人吃奶到高潮| 狠狠爱综合网| 婷婷久久色| 婷婷五月播| 丁香五月亚洲| 亚洲色网络| 好大好粗嗯啊-一级黄色大片免费观看-成人AV | 久综合4| 琪琪色五月天| 丁香六月爱综合| 五月婷婷激情中文字幕| 五月婷婷影院| 婷婷五月天黄色网址| 婷婷五月开心中文字幕色| 天天噜| 免费无码毛片一区二区A片| 丁香五月激情网| 开心丁五月| 色婷婷综合影院| 国产69久久久欧美黑人A片| 婷婷激情人妻| 狠狠操.COM| 99自拍视频在线观看| 久热精品9999| 色婷婷丁香五月天在线视频| 天天综合五月天| 蜜臀久久99精品久久久久久酒店| 99ri精品| 亚洲激情婷婷| 婷婷在线网| 色色综合无码| 欧美日韩成人在线观看| 有码一区二区三区| 99这里的视频都是精品| 色婷婷狠| 色婷婷性爱| 国产精品久久久60086| 久久精品性爱| 色五月婷婷影视| A色色| 99久热| 91九色网| 日本久久婷婷| 亚洲欧洲美女在线观| 欧美激情Va| 五月婷婷啪啪| 五月婷视频在线观看| 亚洲综合网激情五月天| 狠狠干,狠狠操| 天天操天天插天天射| 精品人妻久久久| 五月丁香综合激情网| 九洲一级A片| 99色视频| 九九人人看| 婷婷五月丁香手机在线视频| 色色五月婷婷网| 亚洲 小说 欧美 激情 另类| 久久精品无码一区| 五月丁香激情深爱婷婷| 久久久9久| 婷婷五月天堂| 婷婷九月狠狠色| 性天堂久久| 99自拍视频在线| 亚洲天堂久久| 99色啊| 色婷婷香蕉在线| 五月天婷婷深深爱| 夜色爱爱亚洲| 99热丁香| 第四色激情网| 99只有精品| 欧美色六月婷婷| 丁香狠狠色婷婷久久无码视频| 五月情色天| www色色com| 婷婷六月中文字幕| 久99| 天天色激情| 六月丁香色色| 婷婷五月天小说网| 五月丁香在线国产| 26uuu成人网| 婷婷五月天,影院| 涩涩激情五月婷婷| 色噜噜狠噜噜视频| 久久婷婷五月天激情四射| 成人午夜无码视频| 欧美va亚洲va| www.91热久久| 丁香激情四射| 婷婷六月丁香在线| 天天久综合网永久入口18| 色播播五月| 久久综合激情| 日逼AV影音先锋男人资源站| 五月婷婷在线综合| 成片免费播放| 99年操人人爽| 2025色婷婷| 亚洲国产婷婷色五月 | 亚洲成人AV电影在线| 婷婷丁香18| 开心久久xxx色| 五月天婷a在线| 久久婷婷网| 天干天天干天天天天天| 激情久久网| 色色亚洲| 丁香五月成人av| 色五月丁香五月五月婷婷| 婷婷色色宗合网| 97AV在线视频| 婷婷激情五月天小说| 97人人操人人爽| 色日本颜射| 熟女网站久久| 6080av| 九九人人自拍| 亚洲欧美综合7777色亭亭| 超级碰碰碰97免费| 亚洲性图一区二区| 婷婷五月天色色| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 99精品热视频| 丁香五月婷在线观看| 色五月琪琪| 丁香五月婷婷国产在线| 日韩九区| 几激情五月婷婷色五月色天堂| 日本人妻丁香婷婷久久寝取熟女五月| 婷婷之玖玖| 色.五月综合网| 天天爱天天爽| 最新va在线播放| 99热这里只有精品无码| 五月丁香综合网色欲| 久久综合播放| 殴美97色| 欧美激情综合五月色丁香| 99这里有精品视频| 色婷婷五月天激情在线观看| 五六月丁香激情视频| 九九综合久久| 综合久久高清| 综合色婷婷| 91人在线观看| 成人做爰高潮A片免费视频| 人妻综合网| 五月婷婷六月丁香在线| 五月综合缴情网| 欧美成人热| 中文激情网| 久久99久久99精品免观看粉嫩| 2021日韩无码| 国产五月视频| 国产偷人爽久久久久久老妇APP | 强壮公让我夜夜高潮A片视频| 久/久精品99看9| 91丨九色丨丰满人妖| 精品亚洲VA网站| 天天综合网亚洲综合网| 丁香五月天欧美在线| 99热免费网站| 综合图区激情| 丁香五月六月激情| 欧美综合婷婷欧美综| 91久久电影| 亚韩在线视频| 成人AV中文字幕| 色激情五月| 亚洲最大五月天成人网| 思思精品久久艹| 色爱99| 狠狠色性| 久久性爱网站| 久久久月丁香| 亚洲精品性色| 人人草人人爱手机视频看看| xxx综合在线| A A色色| 亚洲久热无码| 综合色综合| 人草人人| 色五月激情网| 五月天激情视频| 六月婷久久| 成人午夜无码视频| 色综合色综合网| 激情五月综合网| 香蕉久久av一区二区三区 | 婷婷丁香五月天狠狠| 3p日韩网站视频| 日日操天天爽| 亚洲另类日本| 99色精品| 99性爱视频| 色婷婷色99国产综合精品| 丁香婷婷色五月激情综合| 涩综合婷婷| 国产做爰视频免费播放| 琪琪狠狠干| 人妻五月天激情开心网| 97干在线观看视频| 99热只有精品在线播放| 99高级会所久久| 婷婷五月天成人影片| 激情丁香五月天图片| 色色色热热热| 99爱视频在线| 久久人妻少妇嫩草AV| 色噜噜狠狠狠狠色综合久欧美| 综合99在线| 玖玖无码中文| 日日干日日色| 九九99一区| 六月婷婷色综合| 中国女人做爰A片| 涩丁香91| 超碰激情网| 亚洲五月丁| 精品成人a v无码内射| 大香蕉五月天| 亚洲亚洲人成综合网络| 日韩无码亚欧无码| 九九热99免费视频| 俺五月| 狼人狠狠操| 色区久久| 五月婷婷黄| 五月丁色AV| 亚洲欧州色情在线观看| 婷婷在线免费| 99九九精品视频推荐| 色婷婷六月天| 五月婷婷之六月丁香| 日韩99视频| 成人免费黄色短视频| 99视频久久久| 天天爽曰日爽| 99久久综合网| 久久小说| 久久色天堂| 婷婷五月天在线观看免费 | 99超级碰免费视频| 激情丁香五月AV| 天天射射夜| 操97免费超级视频| 国自产拍偷拍精品啪啪一区二区| 亚洲色激情| 五月天婷婷高清无码| 久9热在线视频| AV网在线观看| 久久狠色噜噜狠狠狠狠97| 99欧州偷拍视频| 丁香五月天堂婷婷| 久久er这里只有精品| 婷婷色片| 三级av在线| 久久这里只有精品5| 天天综合色| 丁香花狠狠婷婷亚洲中文字幕| 久九色| 久久久人妻| 色婷婷啪啪综合网| 丁香香五月激情免费视频| 性欧美日本| 色婷婷AⅤ| www.99成人视频| 五月大香蕉| 五月丁香香蕉| 97色永久免费视频| 99热一本久道| 另类小说五月天激情| 另类在线| 丁香五月,开心五月,成人婷婷| 色爱综合网| 1024欧美看片| 五月天欧美激情| 嫩BBB搡BBBB榛BBBB| 久久92| 婷婷色在线视频| 欧美日韩成人在线网| 婷婷色色婷婷| 欧美A A A A A| 六月色国内综合| 少妇人妻人伦A片| 欧美色播综合在线观看| 亚洲啪视频| 亚洲综合无码| 九热精品| 久久久久久激情| 五月婷婷六月丁香玖玖玫瑰91| avv在线| 天天爽天天日| 婷婷伊人75| 5月丁香婷婷激情网| 超级碰碰视频无码| 日本婷婷| 六月久久婷婷| 男人的天堂五月丁香| 日韩高清成人|