亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

測(cè)試工程師數(shù)據(jù)庫(kù)操作實(shí)戰(zhàn)指南:從SELECT到事務(wù)與性能排查

測(cè)試工程師數(shù)據(jù)庫(kù)操作實(shí)戰(zhàn)指南:從SELECT到事務(wù)與性能排查 作為測(cè)試工程師你日常的工作流里有一個(gè)繞不開(kāi)的坎不管是功能測(cè)試、接口測(cè)試還是自動(dòng)化腳本跑完用例之后總要回到數(shù)據(jù)庫(kù)里查一筆數(shù)據(jù)、改一個(gè)狀態(tài)、造一條測(cè)試記錄。我見(jiàn)過(guò)太多測(cè)試同行的日常狀態(tài)是——業(yè)務(wù)邏輯和用例設(shè)計(jì)都很熟練但一到數(shù)據(jù)庫(kù)環(huán)節(jié)就開(kāi)始四處求人幫我看下這條數(shù)據(jù)怎么查不出來(lái)這個(gè)SQL寫(xiě)錯(cuò)了哪里測(cè)試環(huán)境的數(shù)據(jù)又被搞臟了誰(shuí)幫忙清一下。說(shuō)實(shí)話數(shù)據(jù)庫(kù)操作命令對(duì)測(cè)試工程師來(lái)說(shuō)不是那種會(huì)用就行的錦上添花而是直接影響你工作效率的基礎(chǔ)功。你不需要達(dá)到DBA那種能調(diào)參優(yōu)化集群的水平但你必須能獨(dú)立完成數(shù)據(jù)準(zhǔn)備、結(jié)果校驗(yàn)、異常數(shù)據(jù)清理這些高頻操作。這篇文章我打算把我自己這些年實(shí)測(cè)下來(lái)最常用的數(shù)據(jù)庫(kù)命令、場(chǎng)景化操作方法和踩坑經(jīng)驗(yàn)做一個(gè)系統(tǒng)性的梳理從最簡(jiǎn)單的SELECT到事務(wù)處理、性能分析都有覆蓋適合各個(gè)階段的測(cè)試工程師對(duì)照著用。1. 測(cè)試工程師為什么必須掌握數(shù)據(jù)庫(kù)操作1.1 測(cè)試工作與數(shù)據(jù)操作的交集在哪里先說(shuō)一個(gè)很現(xiàn)實(shí)的問(wèn)題測(cè)試工程師每天都在跟數(shù)據(jù)庫(kù)打交道但很多人沒(méi)意識(shí)到這一點(diǎn)。功能測(cè)試?yán)锬阋?yàn)證提交訂單后庫(kù)存表數(shù)量是否減一這需要查數(shù)據(jù)庫(kù)接口測(cè)試?yán)镆粋€(gè)創(chuàng)建用戶的接口跑完你要確認(rèn)user表里真的多了一條記錄這也需要查數(shù)據(jù)庫(kù)自動(dòng)化測(cè)試中你要先往數(shù)據(jù)庫(kù)里插入一批符合條件的數(shù)據(jù)作為前置準(zhǔn)備測(cè)試結(jié)束后還要把這些數(shù)據(jù)清理掉避免影響下一輪測(cè)試。我以前帶過(guò)一個(gè)剛?cè)胄械耐滤麥y(cè)一個(gè)用戶注銷(xiāo)的功能界面上提示注銷(xiāo)成功他就把這個(gè)用例標(biāo)記為通過(guò)了。我問(wèn)他你怎么確認(rèn)數(shù)據(jù)庫(kù)里的用戶狀態(tài)真的變成已注銷(xiāo)了他愣住了。后來(lái)我?guī)麑?xiě)了一條簡(jiǎn)單的SELECT語(yǔ)句查用戶表的狀態(tài)字段結(jié)果發(fā)現(xiàn)實(shí)際狀態(tài)還是正?!瓉?lái)那個(gè)功能的前端校驗(yàn)有Bug接口壓根沒(méi)調(diào)成功。這個(gè)例子很典型不做數(shù)據(jù)庫(kù)校驗(yàn)很多看起來(lái)通過(guò)的用例實(shí)際上是在掩耳盜鈴。1.2 測(cè)試場(chǎng)景中高頻率使用的數(shù)據(jù)庫(kù)操作類(lèi)型從我個(gè)人的實(shí)踐經(jīng)驗(yàn)看測(cè)試工程師使用數(shù)據(jù)庫(kù)的場(chǎng)景高度集中在四類(lèi)操作上。第一類(lèi)是查詢驗(yàn)證占比最高幾乎所有測(cè)試用例都離不開(kāi)用SELECT語(yǔ)句核對(duì)接口或頁(yè)面操作后的數(shù)據(jù)結(jié)果。第二類(lèi)是數(shù)據(jù)準(zhǔn)備比如測(cè)試下單流程你得先準(zhǔn)備一個(gè)庫(kù)存充足的商品、一個(gè)余額足夠的賬號(hào)這些前置數(shù)據(jù)往往需要直接用INSERT語(yǔ)句造出來(lái)。第三類(lèi)是數(shù)據(jù)清理一輪測(cè)試跑完臟數(shù)據(jù)、關(guān)聯(lián)數(shù)據(jù)、中間表殘留都需要你清理還原避免污染下一輪測(cè)試DELETE和TRUNCATE在這里高頻出現(xiàn)。第四類(lèi)是數(shù)據(jù)修改某些場(chǎng)景下你需要繞過(guò)業(yè)務(wù)邏輯、直接改一條記錄的字段來(lái)模擬特定狀態(tài)比如把訂單狀態(tài)從待支付改為已支付以便測(cè)試后續(xù)流程這種操作需要UPDATE語(yǔ)句來(lái)實(shí)現(xiàn)。了解這些場(chǎng)景之后你會(huì)發(fā)現(xiàn)測(cè)試工程師對(duì)數(shù)據(jù)庫(kù)命令的掌握程度直接決定了你的測(cè)試效率和質(zhì)量。如果只會(huì)百度一個(gè)SQL然后復(fù)制粘貼你永遠(yuǎn)要比別人多花幾倍的時(shí)間在處理數(shù)據(jù)和驗(yàn)證結(jié)果上。2. 最核心的查詢命令SELECT的實(shí)戰(zhàn)級(jí)用法2.1 SELECT基礎(chǔ)語(yǔ)法與經(jīng)驗(yàn)習(xí)慣查詢是測(cè)試工程師使用頻率最高的數(shù)據(jù)庫(kù)操作沒(méi)有之一。SELECT語(yǔ)句的基本語(yǔ)法很簡(jiǎn)單SELECT 字段列表 FROM 表名 WHERE 條件。但我見(jiàn)過(guò)很多人在這一步就養(yǎng)成了壞習(xí)慣——?jiǎng)硬粍?dòng)就SELECT *。我在實(shí)際工作中強(qiáng)烈建議你養(yǎng)成顯式列出所需字段的習(xí)慣原因有兩個(gè)第一生產(chǎn)環(huán)境的表字段可能非常多全字段查詢會(huì)拉取大量不必要的數(shù)據(jù)影響查詢效率第二字段過(guò)多會(huì)把結(jié)果集刷屏你反而看不清自己關(guān)心的字段值。比如你要查訂單表里某條記錄的支付狀態(tài)就寫(xiě)SELECT order_id, pay_status, amount FROM orders WHERE order_id 12345既清晰又高效。新手最容易忽略的一個(gè)細(xì)節(jié)是MySQL默認(rèn)對(duì)字符串比較不區(qū)分大小寫(xiě)所以WHERE user_name admin和WHERE user_name ADMIN查出的結(jié)果是一樣的。但如果某個(gè)表的字段設(shè)置了BINARY屬性或使用utf8mb4_bin排序規(guī)則大小寫(xiě)就是敏感的。你在測(cè)試排查問(wèn)題時(shí)如果發(fā)現(xiàn)明明有這條數(shù)據(jù)但查不出來(lái)先看一眼排序規(guī)則這類(lèi)問(wèn)題很坑人。2.2 WHERE條件過(guò)濾從基礎(chǔ)到進(jìn)階WHERE子句是查詢的過(guò)濾核心。常見(jiàn)操作符包括、!、、、、、BETWEEN、LIKE、IN和IS NULL。測(cè)試場(chǎng)景中有一個(gè)高頻需求按時(shí)間范圍查數(shù)據(jù)。比如我要驗(yàn)證過(guò)去24小時(shí)內(nèi)的所有登錄日志SQL可以寫(xiě)成SELECT user_id, login_time FROM login_log WHERE login_time DATE_SUB(NOW(), INTERVAL 1 DAY) ORDER BY login_time DESC;這里有個(gè)實(shí)操經(jīng)驗(yàn)值得說(shuō)一下判斷字段是否為NULL必須用IS NULL或IS NOT NULL不能寫(xiě) NULL。 NULL永遠(yuǎn)返回空結(jié)果這是SQL的規(guī)范設(shè)計(jì)不是Bug。我每次帶新人都會(huì)專(zhuān)門(mén)強(qiáng)調(diào)這個(gè)點(diǎn)因?yàn)樵谂挪闉槭裁磾?shù)據(jù)查不出來(lái)時(shí)WHERE status NULL這種寫(xiě)法出現(xiàn)的頻率實(shí)在太高了。另外測(cè)試場(chǎng)景中還經(jīng)常會(huì)用到LIKE做模糊匹配。需要注意LIKE %關(guān)鍵字%這種寫(xiě)法無(wú)法利用索引數(shù)據(jù)量大時(shí)查詢會(huì)很慢。如果只是驗(yàn)證某條數(shù)據(jù)是否存在我更建議用精確匹配加LIMIT 1或者用EXISTS子查詢效率會(huì)高很多。2.3 分組統(tǒng)計(jì)與結(jié)果排序數(shù)據(jù)校驗(yàn)的關(guān)鍵步驟測(cè)試中經(jīng)常要驗(yàn)證數(shù)量對(duì)不對(duì)。比如注冊(cè)功能測(cè)試完你要確認(rèn)今天新增了多少用戶下單功能測(cè)試完你要確認(rèn)訂單總數(shù)和總金額是否正確。這類(lèi)需求離不開(kāi)GROUP BY和聚合函數(shù)。我舉一個(gè)實(shí)際場(chǎng)景測(cè)試一個(gè)促銷(xiāo)活動(dòng)活動(dòng)規(guī)則是每個(gè)用戶最多只能參與3次你要驗(yàn)證系統(tǒng)是否真的限制了同一用戶參與次數(shù)。可以用一條分組統(tǒng)計(jì)SQL快速核對(duì)SELECT user_id, COUNT(*) AS participate_count FROM activity_participation GROUP BY user_id HAVING COUNT(*) 3;這條SQL會(huì)把參與次數(shù)超過(guò)3條的用戶全查出來(lái)如果有結(jié)果說(shuō)明系統(tǒng)限制邏輯存在問(wèn)題。這里的HAVING是在分組后做條件過(guò)濾而WHERE是在分組前過(guò)濾兩者區(qū)別必須搞清楚。WHERE無(wú)法使用聚合函數(shù)作為條件這就是為什么需要HAVING存在的原因。排序方面ORDER BY支持多字段排序比如ORDER BY create_time DESC, id ASC的意思是先按創(chuàng)建時(shí)間倒序時(shí)間相同再按ID正序。測(cè)試中你要確認(rèn)最新一條數(shù)據(jù)時(shí)最普遍的做法是ORDER BY id DESC LIMIT 1配合自增主鍵非常穩(wěn)健。2.4 分頁(yè)查詢LIMIT的正確打開(kāi)方式分頁(yè)查詢?cè)诮涌跍y(cè)試和頁(yè)面測(cè)試?yán)锍霈F(xiàn)頻率很高。MySQL中用LIMIT實(shí)現(xiàn)分頁(yè)有兩種常見(jiàn)寫(xiě)法LIMIT 10表示只返回前10條LIMIT 10, 20表示從第11條開(kāi)始返回20條。另一個(gè)容易混淆的寫(xiě)法是LIMIT 20 OFFSET 10它和LIMIT 10, 20的含義是一樣的。這個(gè)順序問(wèn)題我建議你記住一個(gè)口訣寫(xiě)在前面的是偏移量寫(xiě)在后面的是返回條數(shù)。分頁(yè)查詢有一個(gè)典型的測(cè)試場(chǎng)景驗(yàn)證列表接口的分頁(yè)參數(shù)是否正確。比如前端傳page2size10你要去數(shù)據(jù)庫(kù)里數(shù)一下總共多少條數(shù)據(jù)然后手動(dòng)算出第二頁(yè)應(yīng)該展示哪些數(shù)據(jù)再和接口返回對(duì)比。這種校驗(yàn)光靠肉眼一條條看是低效的直接用SELECT ... LIMIT 10 OFFSET 10查出第二頁(yè)數(shù)據(jù)然后和接口返回做比對(duì)效率會(huì)高很多。3. 數(shù)據(jù)準(zhǔn)備與清理INSERT、UPDATE、DELETE的測(cè)試應(yīng)用3.1 INSERT造測(cè)試數(shù)據(jù)的正確姿勢(shì)測(cè)試執(zhí)行前準(zhǔn)備數(shù)據(jù)是高頻場(chǎng)景INSERT命令幾乎每天都要用?;菊Z(yǔ)法是INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2)。但實(shí)際測(cè)試中造數(shù)據(jù)的方式遠(yuǎn)不止這一種。最基礎(chǔ)的表結(jié)構(gòu)是用戶表、訂單表、商品表之間存在外鍵關(guān)聯(lián)。你不可能只往一張表里插入數(shù)據(jù)就能完事需要同時(shí)維護(hù)多張關(guān)聯(lián)表的數(shù)據(jù)一致性。比如測(cè)試下單流程你需要先有用戶、有商品、有庫(kù)存記錄如果直接INSERT一張空訂單表業(yè)務(wù)流程走不通。這時(shí)候我通常會(huì)寫(xiě)一個(gè)SQL腳本按依賴順序依次插入多張表的數(shù)據(jù)并且在一個(gè)事務(wù)里執(zhí)行保證要么全部成功、要么全部回滾。還有一種非常實(shí)用的寫(xiě)法是復(fù)制表數(shù)據(jù)來(lái)造數(shù)據(jù)INSERT INTO target_table (col1, col2) SELECT col1, col2 FROM source_table WHERE ...。比如我想給某個(gè)用戶多造10個(gè)已完成訂單可以直接從已有的相似訂單里復(fù)制這樣數(shù)據(jù)更接近真實(shí)比手工一個(gè)個(gè)INSERT效率高得多。3.2 UPDATE場(chǎng)景模擬和狀態(tài)切換的利器UPDATE語(yǔ)句在測(cè)試中的應(yīng)用非常巧妙。比如你要測(cè)試訂單列表頁(yè)在訂單處于不同狀態(tài)下的展示是否符合預(yù)期你沒(méi)有耐心一個(gè)個(gè)通過(guò)業(yè)務(wù)操作去觸發(fā)狀態(tài)流轉(zhuǎn)那就可以直接改數(shù)據(jù)庫(kù)。這屬于典型的測(cè)試后門(mén)操作合法且高效。UPDATE orders SET order_status PAID, pay_time NOW() WHERE order_id 20240101001;這種操作的性價(jià)比非常高幾分鐘內(nèi)你就能把一條訂單從待支付改到已支付再改到已發(fā)貨完整覆蓋各種狀態(tài)下的頁(yè)面展示和邏輯分支。但需要注意直接改數(shù)據(jù)庫(kù)繞過(guò)了業(yè)務(wù)邏輯校驗(yàn)改出來(lái)的數(shù)據(jù)可能與正常業(yè)務(wù)流轉(zhuǎn)產(chǎn)生的數(shù)據(jù)存在細(xì)微差異。所以這種操作適合功能驗(yàn)證不適合做嚴(yán)格的接口數(shù)據(jù)一致性測(cè)試。我踩過(guò)的一個(gè)大坑是UPDATE語(yǔ)句忘了加WHERE條件結(jié)果把整張表的數(shù)據(jù)全部更新了。這事在測(cè)試環(huán)境還好說(shuō)恢復(fù)一下就行但如果在生產(chǎn)環(huán)境后果不堪設(shè)想。所以我給自己定了一個(gè)鐵律寫(xiě)UPDATE和DELETE語(yǔ)句時(shí)先寫(xiě)WHERE條件再回來(lái)寫(xiě)UPDATE或DELETE后面的部分。同時(shí)養(yǎng)成寫(xiě)完SQL先執(zhí)行SELECT驗(yàn)證影響范圍的習(xí)慣。3.3 DELETE與TRUNCATE數(shù)據(jù)清理的學(xué)問(wèn)測(cè)試結(jié)束后的數(shù)據(jù)清理是很多人忽略但必須重視的環(huán)節(jié)。DELETE和TRUNCATE都能刪除數(shù)據(jù)但區(qū)別很大。DELETE是逐條刪除支持WHERE條件刪除過(guò)程記錄日志可以配合事務(wù)回滾TRUNCATE是直接清空整張表速度快但不可回滾也不能加WHERE條件。我建議的清理策略是只清理你這次測(cè)試造出來(lái)的數(shù)據(jù)用DELETE加精確的篩選條件比如按測(cè)試標(biāo)識(shí)、特定時(shí)間段或特定的測(cè)試賬號(hào)前綴來(lái)刪。TRUNCATE這種全表清空操作只適合用在完全獨(dú)立的臨時(shí)表上。我曾經(jīng)見(jiàn)過(guò)一個(gè)測(cè)試為了省事直接TRUNCATE了一張基礎(chǔ)數(shù)據(jù)表結(jié)果整個(gè)測(cè)試環(huán)境所有依賴這張表的模塊全部報(bào)錯(cuò)修復(fù)花了大半天得不償失。一個(gè)更穩(wěn)妥的做法是造數(shù)據(jù)的時(shí)候帶上明顯的測(cè)試標(biāo)識(shí)。比如插入測(cè)試用戶時(shí)用戶名統(tǒng)一加test_前綴或者加一個(gè)固定的batch_no字段這樣清理時(shí)一條DELETE就能精準(zhǔn)搞定不會(huì)誤刪別人的數(shù)據(jù)。4. 聯(lián)表查詢驗(yàn)證跨表數(shù)據(jù)的核心技能4.1 INNER JOIN、LEFT JOIN的場(chǎng)景差異測(cè)試中經(jīng)常要驗(yàn)證多張表的數(shù)據(jù)聯(lián)動(dòng)。比如用戶下單后用戶表要扣余額、訂單表要生成訂單、庫(kù)存表要減庫(kù)存、流水表要記一筆明細(xì)。你要驗(yàn)證這些數(shù)據(jù)的一致性不可能一張表一張表分開(kāi)查了再自己比對(duì)直接聯(lián)表查詢更高效。INNER JOIN只返回兩張表中匹配上的記錄適合驗(yàn)證應(yīng)該有對(duì)應(yīng)關(guān)系的數(shù)據(jù)。LEFT JOIN返回左表所有記錄右表沒(méi)有匹配的字段顯示為NULL適合驗(yàn)證左表存在的記錄在右表是否有對(duì)應(yīng)記錄。我舉一個(gè)典型的測(cè)試場(chǎng)景驗(yàn)證所有已支付訂單是否都有支付流水。這個(gè)需求用LEFT JOIN最容易查出不匹配的數(shù)據(jù)SELECT o.order_id, o.pay_status, p.pay_id FROM orders o LEFT JOIN payment_records p ON o.order_id p.order_id WHERE o.pay_status PAID AND p.pay_id IS NULL;這條SQL查出的是已支付但沒(méi)有支付流水的訂單如果有結(jié)果說(shuō)明系統(tǒng)存在數(shù)據(jù)不一致問(wèn)題這就是一個(gè)真正的Bug。測(cè)試中這類(lèi)校驗(yàn)特別管用。4.2 聯(lián)表查詢中的別名使用與常見(jiàn)錯(cuò)誤寫(xiě)聯(lián)表查詢時(shí)給表起別名的習(xí)慣非常重要。多個(gè)表有同名字段比如每張表都可能有create_time或status如果不加別名區(qū)分SQL會(huì)報(bào)模糊錯(cuò)誤。實(shí)踐中的正確寫(xiě)法是SELECT o.order_id, p.pay_time FROM orders o INNER JOIN payment_records p ON o.order_id p.order_id。我還想提醒一個(gè)高頻錯(cuò)誤JOIN條件寫(xiě)錯(cuò)會(huì)導(dǎo)致結(jié)果集爆炸。比如兩張表通過(guò)兩個(gè)字段才能唯一關(guān)聯(lián)你只寫(xiě)了一個(gè)關(guān)聯(lián)條件結(jié)果就會(huì)產(chǎn)生笛卡爾積式的重復(fù)數(shù)據(jù)查詢結(jié)果比實(shí)際數(shù)據(jù)多出無(wú)數(shù)倍。我排查過(guò)一次訂單數(shù)據(jù)翻倍的問(wèn)題最后發(fā)現(xiàn)是JOIN條件漏了o.user_id p.user_id這第二個(gè)關(guān)聯(lián)字段。4.3 子查詢?cè)跍y(cè)試中的應(yīng)用子查詢也是測(cè)試中的常用手段。比如你要查購(gòu)買(mǎi)過(guò)商品A的所有用戶可以先查出購(gòu)買(mǎi)記錄里包含商品A的user_id集合再查這些用戶的詳細(xì)信息。寫(xiě)法有兩種用IN子查詢或用JOIN測(cè)試中的數(shù)據(jù)量通常不大兩者都可以但I(xiàn)N子查詢語(yǔ)義更直觀SELECT user_id, user_name FROM users WHERE user_id IN ( SELECT user_id FROM order_items WHERE product_id P001 );如果你的測(cè)試數(shù)據(jù)量特別大建議用JOIN代替IN因?yàn)镴OIN在多數(shù)數(shù)據(jù)庫(kù)優(yōu)化器里能走更好的執(zhí)行計(jì)劃。5. 索引與性能觀測(cè)定位測(cè)試中的慢SQL5.1 索引是什么測(cè)試工程師也需要了解很多測(cè)試工程師覺(jué)得索引是開(kāi)發(fā)或DBA才需要管的東西。其實(shí)不然。你寫(xiě)的SQL如果沒(méi)走對(duì)索引一條本來(lái)幾毫秒的查詢會(huì)變成幾秒鐘直接影響測(cè)試執(zhí)行效率。尤其是接口性能測(cè)試和全量回歸測(cè)試階段慢SQL一多會(huì)導(dǎo)致整個(gè)測(cè)試進(jìn)度被拖累。索引的核心原理可以類(lèi)比成一本書(shū)的目錄沒(méi)有目錄你要一頁(yè)頁(yè)翻有目錄你直接翻到對(duì)應(yīng)頁(yè)碼。數(shù)據(jù)庫(kù)里的索引就是給表的某個(gè)或某幾個(gè)字段建立快速查找路徑。測(cè)試中最常見(jiàn)的是普通索引和唯一索引。查詢條件經(jīng)常用的字段比如訂單號(hào)order_id建議建索引而唯一索引可以保證字段值不重復(fù)在造數(shù)據(jù)的時(shí)候還能幫你防止插入重復(fù)數(shù)據(jù)。5.2 用EXPLAIN快速分析SQL執(zhí)行計(jì)劃排查SQL效率問(wèn)題時(shí)EXPLAIN是必備工具。用法超級(jí)簡(jiǎn)單在SQL前面加EXPLAIN關(guān)鍵字執(zhí)行后數(shù)據(jù)庫(kù)會(huì)告訴你這個(gè)SQL打算怎么執(zhí)行。關(guān)鍵要看幾個(gè)字段type表示訪問(wèn)類(lèi)型從好到差依次是const、eq_ref、ref、range、index、ALLALL代表全表掃描說(shuō)明你的SQL沒(méi)有走索引需要重點(diǎn)排查key表示實(shí)際使用的索引名rows是一個(gè)估算值表示預(yù)計(jì)要掃描多少行這個(gè)數(shù)字越大說(shuō)明SQL越低效。我之前排查過(guò)一個(gè)典型的案例查詢一條訂單記錄耗時(shí)2秒多用EXPLAIN一看type是ALL全表掃了兩百多萬(wàn)行。后來(lái)發(fā)現(xiàn)order_id字段沒(méi)建索引建議開(kāi)發(fā)加了索引之后同樣一條SQL幾十毫秒就返回了。整個(gè)排查過(guò)程不到十分鐘但如果沒(méi)有EXPLAIN這個(gè)工具你可能還在那里懷疑是不是數(shù)據(jù)庫(kù)服務(wù)器性能問(wèn)題。5.3 測(cè)試環(huán)境與生產(chǎn)環(huán)境的性能差異提醒這里有一條重要的經(jīng)驗(yàn)測(cè)試環(huán)境的SQL執(zhí)行耗時(shí)和生產(chǎn)環(huán)境往往差異巨大因?yàn)閿?shù)據(jù)量完全不在一個(gè)數(shù)量級(jí)。你在測(cè)試環(huán)境看一條SQL跑200毫秒覺(jué)得沒(méi)問(wèn)題但在生產(chǎn)環(huán)境可能因?yàn)閿?shù)據(jù)量增長(zhǎng)變成1秒、甚至5秒這就可能在真實(shí)的流量場(chǎng)景下拖垮接口。所以我的建議是測(cè)試工程師不要光看SQL能不能查出正確結(jié)果還要養(yǎng)成跑EXPLAIN的習(xí)慣看關(guān)鍵查詢是否走索引、預(yù)計(jì)掃描行數(shù)是否合理。如果發(fā)現(xiàn)明顯是全表掃描要提缺陷或反饋給開(kāi)發(fā)這是性能隱患不只是測(cè)試效率問(wèn)題。6. 事務(wù)與鎖保證測(cè)試數(shù)據(jù)一致性的基礎(chǔ)概念6.1 手動(dòng)控制事務(wù)測(cè)試聯(lián)動(dòng)的硬保障造數(shù)據(jù)時(shí)如果涉及多張表關(guān)聯(lián)插入最穩(wěn)妥的做法是把多步操作包在一個(gè)事務(wù)里。MySQL中默認(rèn)是自動(dòng)提交每一條SQL執(zhí)行完就立即生效無(wú)法回滾。手動(dòng)控制事務(wù)的語(yǔ)法是START TRANSACTION; INSERT INTO users (user_id, user_name) VALUES (U001, test_user); INSERT INTO user_account (user_id, balance) VALUES (U001, 1000); COMMIT;這個(gè)事務(wù)保證了users表和user_account表的插入要么同時(shí)成功要么同時(shí)失敗。如果中途某條SQL執(zhí)行失敗你可以執(zhí)行ROLLBACK把整個(gè)事務(wù)回滾不會(huì)留下只有用戶沒(méi)有賬戶這種臟數(shù)據(jù)。事務(wù)的經(jīng)典特性ACID我簡(jiǎn)單解釋一下原子性指事務(wù)中所有操作要么全部成功、要么全部失敗就像轉(zhuǎn)賬要么扣款和入賬都完成要么都不發(fā)生一致性指事務(wù)前后數(shù)據(jù)狀態(tài)符合業(yè)務(wù)規(guī)則隔離性指多個(gè)事務(wù)并發(fā)執(zhí)行時(shí)互相不干擾持久性指事務(wù)一旦提交數(shù)據(jù)永久生效。對(duì)測(cè)試工程師來(lái)說(shuō)理解原子性和持久性已經(jīng)能覆蓋日常90%以上的事務(wù)應(yīng)用場(chǎng)景。6.2 隔離級(jí)別與鎖測(cè)試并發(fā)場(chǎng)景時(shí)要注意什么并發(fā)測(cè)試中會(huì)涉及隔離級(jí)別和鎖的概念。MySQL默認(rèn)隔離級(jí)別是REPEATABLE READ可重復(fù)讀意味著同一個(gè)事務(wù)內(nèi)多次查詢結(jié)果一致。如果你在并發(fā)測(cè)試中發(fā)現(xiàn)數(shù)據(jù)出現(xiàn)了明明事務(wù)提交了另一個(gè)連接卻查不到的情況多半跟隔離級(jí)別或事務(wù)未提交有關(guān)。這里有一個(gè)我反復(fù)用到的小技巧測(cè)試并發(fā)接口時(shí)為了確認(rèn)數(shù)據(jù)庫(kù)層面的真實(shí)數(shù)據(jù)變化建議新開(kāi)一個(gè)數(shù)據(jù)庫(kù)連接去查詢不要復(fù)用已經(jīng)開(kāi)啟事務(wù)的連接。因?yàn)橥粋€(gè)連接里未提交的事務(wù)修改可能可以被自己查到容易造成數(shù)據(jù)已生效的誤判。在實(shí)際工作中我把這個(gè)坑叫同連接事務(wù)幻覺(jué)不少測(cè)試都栽在上面。鎖方面最直觀的場(chǎng)景是一個(gè)測(cè)試人員開(kāi)啟事務(wù)執(zhí)行了UPDATE但沒(méi)提交另一個(gè)測(cè)試人員再去UPDATE同一行數(shù)據(jù)時(shí)會(huì)被阻塞等待。這不是數(shù)據(jù)庫(kù)卡死了是行鎖被第一個(gè)事務(wù)持有。排查這種問(wèn)題時(shí)可以用SHOW PROCESSLIST查看當(dāng)前連接和執(zhí)行的SQL找到那個(gè)一直掛著沒(méi)結(jié)束的事務(wù)確認(rèn)后要么讓其提交要么殺掉對(duì)應(yīng)連接。這類(lèi)情況在共享測(cè)試環(huán)境里特別常見(jiàn)掌握查看命令能省下很多溝通成本。6.3 隔離級(jí)別設(shè)置查看與修改命令查看當(dāng)前會(huì)話的隔離級(jí)別用SELECT transaction_isolation臨時(shí)修改用SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED。測(cè)試工程師不太需要深入理解每種隔離級(jí)別的實(shí)現(xiàn)細(xì)節(jié)但要清楚不同隔離級(jí)別下相同的并發(fā)操作可能產(chǎn)生不同的數(shù)據(jù)表現(xiàn)。如果你測(cè)的是一個(gè)高并發(fā)扣庫(kù)存的接口發(fā)現(xiàn)庫(kù)存出現(xiàn)負(fù)數(shù)先別急著報(bào)Bug去確認(rèn)一下數(shù)據(jù)庫(kù)隔離級(jí)別和接口的事務(wù)實(shí)現(xiàn)方式這個(gè)排查思路會(huì)幫你少走很多彎路。7. 測(cè)試場(chǎng)景中的高階技巧與實(shí)戰(zhàn)案例7.1 造數(shù)據(jù)腳本的模板化管理我工作中積累的一個(gè)經(jīng)驗(yàn)把常用的造數(shù)據(jù)SQL整理成模板腳本按業(yè)務(wù)模塊分門(mén)別類(lèi)存放。每次接到新需求需要造數(shù)據(jù)直接復(fù)制模板修改參數(shù)比從頭寫(xiě)SQL快得多。一個(gè)典型的造數(shù)據(jù)腳本大概長(zhǎng)這樣-- 造測(cè)試用戶 INSERT INTO users (user_id, user_name, phone, reg_time) VALUES (U_20240101_001, test_user_001, 13800000001, NOW()); -- 造用戶賬戶并初始化余額 INSERT INTO user_account (user_id, balance, version) VALUES (U_20240101_001, 1000.00, 0); -- 造一張已支付訂單 INSERT INTO orders (order_id, user_id, amount, pay_status, create_time) VALUES (O_20240101_001, U_20240101_001, 99.50, PAID, NOW());腳本化之后你的數(shù)據(jù)準(zhǔn)備時(shí)間能從十幾分鐘壓縮到幾秒鐘。另一個(gè)細(xì)節(jié)凡是腳本造出來(lái)的數(shù)據(jù)我都會(huì)在關(guān)鍵字段上標(biāo)注測(cè)試特征比如ID前綴加TEST_或時(shí)間戳這樣清理時(shí)一條SQL就能精準(zhǔn)搞定而且不會(huì)誤傷手工測(cè)試同學(xué)的正常數(shù)據(jù)。7.2 清理數(shù)據(jù)的正確思路與操作順序清理數(shù)據(jù)是有順序講究的。先刪子表、再刪父表因?yàn)橛型怄I約束的表刪除順序反了會(huì)報(bào)錯(cuò)。舉例來(lái)說(shuō)訂單明細(xì)表(order_items)引用了訂單表(orders)的主鍵清理時(shí)必須先刪order_items再刪orders。但現(xiàn)實(shí)測(cè)試環(huán)境中很多表壓根沒(méi)建外鍵這時(shí)候刪除順序雖然不會(huì)報(bào)錯(cuò)但如果你亂刪可能會(huì)出現(xiàn)明細(xì)還在、主單已刪的空殼記錄影響下一輪測(cè)試。一個(gè)更穩(wěn)的清數(shù)思路是不直接刪除原表數(shù)據(jù)而是把測(cè)試數(shù)據(jù)所在行標(biāo)記成廢棄狀態(tài)或者整體遷移到一張歸檔表。不過(guò)這種做法需要和開(kāi)發(fā)約定如果測(cè)試環(huán)境的數(shù)據(jù)口徑完全由你控制直接DELETE最省事。還有一點(diǎn)必須提醒清理前先備份。哪怕是在測(cè)試環(huán)境養(yǎng)成SELECT * FROM orders WHERE ...先確認(rèn)影響行數(shù)的好習(xí)慣能避免很多意外。7.3 數(shù)據(jù)校驗(yàn)的黃金組合界面、接口、數(shù)據(jù)庫(kù)三查合一真正嚴(yán)格的測(cè)試需要把界面展示、接口返回、數(shù)據(jù)庫(kù)記錄三者對(duì)齊校驗(yàn)。我把它叫三層一致性驗(yàn)證。舉個(gè)例子測(cè)一個(gè)訂單詳情頁(yè)界面顯示訂單狀態(tài)為已發(fā)貨接口返回的JSON里order_status是SHIPPED這兩個(gè)一致還不能立刻斷言通過(guò)。你還得去數(shù)據(jù)庫(kù)里查orders表的實(shí)際狀態(tài)字段如果表里是PAID而接口返回SHIPPED說(shuō)明接口層存在數(shù)據(jù)轉(zhuǎn)換錯(cuò)誤或緩存未更新的問(wèn)題。實(shí)際執(zhí)行中先跑接口拿返回結(jié)果再用接口返回的關(guān)鍵字段比如order_id去數(shù)據(jù)庫(kù)里比對(duì)最后對(duì)照界面展示。這套組合拳打下來(lái)很多隱蔽問(wèn)題才會(huì)現(xiàn)出原形。我在之前的項(xiàng)目里靠這種方式查出過(guò)好幾個(gè)接口返回正常但數(shù)據(jù)庫(kù)實(shí)際數(shù)據(jù)錯(cuò)誤的深層Bug如果只看界面基本發(fā)現(xiàn)不了。8. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄8.1 SQL執(zhí)行很慢應(yīng)該從哪里入手排查測(cè)試中最讓人抓狂的問(wèn)題之一就是同樣一條SQL不知道為什么突然跑不動(dòng)了。我的排查套路一般是三步走。第一步用EXPLAIN看執(zhí)行計(jì)劃確認(rèn)有沒(méi)有走索引、掃描了多少行第二步看是不是有鎖等待用SHOW PROCESSLIST查看當(dāng)前數(shù)據(jù)庫(kù)連接狀態(tài)如果發(fā)現(xiàn)大量Waiting for table metadata lock這類(lèi)狀態(tài)說(shuō)明有其他事務(wù)占著資源第三步看是不是查詢條件寫(xiě)得太寬泛比如LIKE %關(guān)鍵字%導(dǎo)致無(wú)法走索引。給一個(gè)具體的經(jīng)驗(yàn)數(shù)字一張百萬(wàn)行級(jí)別的表走索引的精確查詢應(yīng)該在幾十毫秒內(nèi)完成如果超過(guò)500毫秒基本就能判定SQL或索引存在優(yōu)化空間。你把這個(gè)基準(zhǔn)記在心里排查時(shí)就知道問(wèn)題大概出在哪個(gè)環(huán)節(jié)。8.2 數(shù)據(jù)查不到的幾類(lèi)隱蔽原因我整理了一個(gè)高頻問(wèn)題速查表覆蓋測(cè)試中最常遇到的數(shù)據(jù)查不到場(chǎng)景現(xiàn)象可能原因排查方向明明有數(shù)據(jù)但SELECT查不到查詢條件字段類(lèi)型不匹配比如字段是VARCHAR但條件用了數(shù)值檢查字段類(lèi)型和條件寫(xiě)法查出來(lái)的結(jié)果和想象中不同數(shù)據(jù)庫(kù)連接到了錯(cuò)誤的環(huán)境比如測(cè)試連到預(yù)發(fā)庫(kù)確認(rèn)連接配置和當(dāng)前環(huán)境WHERE條件看起來(lái)正確但返回空字段是NULL用條件永遠(yuǎn)匹配不上改用IS NULL中文條件查不到字符集或排序規(guī)則不一致查看表字符集和連接字符集時(shí)間范圍查詢結(jié)果不對(duì)時(shí)區(qū)設(shè)置差異導(dǎo)致時(shí)間偏移用NOW()和字段值對(duì)比檢查這類(lèi)問(wèn)題大多數(shù)時(shí)候不是SQL寫(xiě)錯(cuò)了而是對(duì)數(shù)據(jù)本身和環(huán)境的理解不夠。排查時(shí)先確認(rèn)我在哪個(gè)環(huán)境這張表長(zhǎng)什么樣數(shù)據(jù)到底存了什么比反復(fù)改SQL更有意義。8.3 測(cè)試環(huán)境數(shù)據(jù)被污染后的自救方法共享測(cè)試環(huán)境最怕的就是數(shù)據(jù)被污染你造的數(shù)據(jù)被別人改掉了或者別人跑測(cè)試留下了一堆半成品數(shù)據(jù)導(dǎo)致你的用例執(zhí)行總是失敗。我的自救方案是造數(shù)據(jù)時(shí)盡量帶上自己的測(cè)試標(biāo)識(shí)同時(shí)把關(guān)鍵數(shù)據(jù)的查詢條件設(shè)計(jì)成能精準(zhǔn)鎖定自己數(shù)據(jù)的形式。比如用戶名加前綴、訂單號(hào)加批次號(hào)、備注字段寫(xiě)入自己的標(biāo)記這樣不管別人怎么污染你都能一條SQL精準(zhǔn)撈回自己需要的數(shù)據(jù)。如果污染已經(jīng)發(fā)生且無(wú)法定位備份恢復(fù)是最后的底牌。我會(huì)在造完關(guān)鍵數(shù)據(jù)后用mysqldump導(dǎo)出單表數(shù)據(jù)備份測(cè)試過(guò)程中如果發(fā)現(xiàn)數(shù)據(jù)異常直接用備份文件恢復(fù)。這個(gè)操作在MySQL里相當(dāng)實(shí)用準(zhǔn)備大版本數(shù)據(jù)時(shí)一定要做。8.4 日常工作中的數(shù)據(jù)庫(kù)操作安全底線講幾個(gè)我給自己立的規(guī)矩希望對(duì)你有參考價(jià)值。第一條任何UPDATE和DELETE操作先寫(xiě)WHERE、再寫(xiě)語(yǔ)句主體這是保命級(jí)的習(xí)慣。第二條操作前先SELECT確認(rèn)影響范圍哪怕影響一條數(shù)據(jù)也要確認(rèn)。第三條嚴(yán)禁在測(cè)試環(huán)境執(zhí)行沒(méi)經(jīng)過(guò)驗(yàn)證的腳本更不用說(shuō)生產(chǎn)環(huán)境。第四條共享環(huán)境操作完主動(dòng)清理現(xiàn)場(chǎng)不給別人留坑。這些底線聽(tīng)起來(lái)像老生常談但我在真實(shí)項(xiàng)目中見(jiàn)過(guò)太多因?yàn)楹鲆曔@些規(guī)矩導(dǎo)致的事故比如一條未加WHERE的UPDATE把整張訂單表狀態(tài)全部刷成已支付開(kāi)發(fā)排查了一整天。做測(cè)試的人對(duì)自己操作的數(shù)據(jù)要有敬畏心。數(shù)據(jù)庫(kù)命令的熟練度不是一蹴而就的它的提升路徑和測(cè)試用例設(shè)計(jì)很像——你不需要背會(huì)所有命令而是要在真實(shí)場(chǎng)景里反復(fù)用用多了自然就內(nèi)化成自己的經(jīng)驗(yàn)。我希望這篇整理能幫你在日常測(cè)試工作中少走一些彎路也歡迎你把自己的實(shí)戰(zhàn)心得補(bǔ)充進(jìn)來(lái)數(shù)據(jù)庫(kù)這個(gè)領(lǐng)域越交流越漲經(jīng)驗(yàn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
在线无码网站| www.丁香五月| 国产在线视频二区| 欧亚久久偷拍视频| 日本污ww视频网站| 国产路线专区| 亚洲欧美综合色| 精品国产Av无码久久久亚洲| 久草午夜| 美女人妻色网站| 国产精品蜜臀久久久久无码AV| 少妇特黄一区二区三区| 在线天堂999| 自拍视频一区在线观看| 四虎影视精品| 亚洲高清欧美总合| 国产九九九九九九| 天天摸天天碰天天添青青| 99老司机精品视频在线观看| 久艹99| 精品久久99| 欧美专区日本专区| 国产精品久久妻无码网站| 欧美日韩国产电影| 欧美性爱在线无码| 日本高清免费一本视频在线观看| 五十路六十路七十路熟婆| 熟女久久久| 免费精品福利在线观看| 日本在线激情一区二区三区| 97人人草| 在线不卡视频| 久久综合精品一区二区三区| av中文在线| 粉嫩在线一区二区懂色| 中国AV美女| 国产麻豆91欧美一区二区久久婷婷国产精品 | 日本熟妇人妻一区二区三区| 亚91亚洲网| 97在线国产精品| 丁香五月久久| AV天堂电影网| 国产精品视频电影| 啊啊啊啊啊在线视频| 婷婷色综合| 色欲天天综合网| 人人做,人人操,人人摸| 精品久久人妻成人网| 人、人、摸,人、人、草| 黄色免费网| 中国操逼无码| 天天干天天操天天干天天操| 欧美激情另类一区二区| 26uuu久久| 欧美色青| 2017大香蕉| 久久一二三四五六七八九区| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 色哟哟511老熟女| 操逼日批| 日韩性爱再线视频| julia高潮后不停追击中出| 亚洲色 国产 欧美 日韩| 大香蕉一级黄色片久久| 综合久久9| 午夜呻吟欧美| 亚洲欧洲av影音| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 亚洲综合贴图91| 最新av在线| 97最新在线播放视频| 九色视频91| 操人无码| 97色色色综合网站| 91成人无码| 色悠悠伊人网五月天| 婷婷婷婷婷婷久久久久| 国产一区二区成人av在线播放| 色偷偷超碰亚洲| 91白嫩| 亚洲AV无码翔田千里网站| 91丨豆花丨熟女| 91国产大片| 天天干18禁| 欧美色图天堂网m| 欧美日韩精品国产91| 区自美91| 永久免费发布性爱网| 五月天激情婷婷| 丝袜大香蕉| 日韩国产十八禁| 久久久久久999| 操逼网免费无码视频| 亚洲欧美大香蕉| 黑丝内射一区二区三区| 国产强奸无码乱伦| 在线日韩视频| 亚洲熟女综合一区二区| 日本精品高清一二区一本到| 久久精品72| 久操免费观看| 东京热激情视频一二三区| 超碰激情808| 欧美综合色综合| 少妇一区二区三区| 九九碰九九爱97超碰| 色综合20p| 午夜视频好爽啊| 精品国产乱码久久久久久久久1 | 午夜欧美精品久久久| se,,,亚洲欧美| 人妻精品一区二区全免费| 97欧美| 日韩99999| 熟女乱伦A| 60秒试看最爽10分钟网站| 91欧美在线| 免费看日本操逼视频| 亚洲资源网| 操逼大黄片| 日韩精品三级片长长久久| 嗯嗯,好大,好爽,好骚| 亚洲人天堂| 婷婷综合久久| 蜜乳视频网站| 亚洲视频小说| 色婷亚洲五月在线观看| 日韩AV噜噜噜一区二区三区四区| 99老司机精品视频在线观看| 国产精品电影推荐| 日韩av在线免费网站| 国桃视频产巨乳精品一区二区在线| 97国产|免费| 岛国黄色短视频| 色五月婷婷麻豆在| 欧美性爱一区二区| 国产精品午夜成人福利| 欧美网站免费| 九九九精品美女| 长长久久曰曰夜夜成人网| 天天爽天天操啊啊啊| 超碰久久性爱| 欧美福利视频啊啊啊啊| 亚洲一本色码中文字幕| 静品嫩模一区二区| 精品免费一区| 中文字幕在线第二页| 黄色高清无码无码破解免费暗网 | 亚洲av综合伊人久久| 天天操美美| 国产精品无码AV网站| 91黄射| 久久毛卡| 免费试看60秒| 久久9999| 色婷婷综合久久中文字幕雪峰| 18禁的网站在线| 欧色网址| 欧美国产视频| 日本3级一区二区免费| 丁香婷婷五月| 色色99| 成人性爱电影网| 日本性爱视频一级| 亚洲阿v天堂在线| 中文久久96| 欧美午夜精品久久久久久3D | 蜜桃精品一区二区三区ww| 性爱Av免费| 91精品人妻一品二品三品| 2019天天操天天爽天天拍| 日本三级R| 日韩无码视频黄色| 九热久| 欧美在线视频播放| 日韩一区二区熟女| 婷婷色导航| 人人污日韩一区二区| 久久国内| 久久av一级av少妇av高潮 | 中出欧美| 91天天综合在线| 狠肏骚人妻| 五月丁香综合网| 亚洲自拍天堂| 天天射天天操天天干天天吃2018| 国产白丝AV| 97在线日韩中文字幕| 国产精品麻豆成人AV艾秋| 国产AV久久野战精品| 大象AV在线| 超碰久超碰久| 91成人18| 亚洲欧美首页| 天天爱天天操| 亚洲欧洲综合| 美女91网址 | 亚洲图片激情综合另类| 国语av狠狠色丁香婷婷综合激情| 色色97爱| 久久精品一区二区一8| 蜜臀久久99精品久久久久久-DVD| 色噜噜人妻av中文字幕| 欧美女同在线| 亚洲 欧美综合| 国产伦精品| 色色99| 国产精品久久伊人| 欧美精品日韩一区二区| 亚州操操穴网| 又大又白奶子| 国产白丝精品在线观看| 久思思热视频在线观看| 激情天天视频| 一级特黄aaa大片在线观看成人一级片在线观看 | 无码人妻丰满熟妇奶水区毛片| 久久久专区| 久久久久久亚洲精品中文字幕人妻| 日本九九九九| 95人妻爽爽人人做人人澡| 色五月激情网| 男人的天堂2010| 涩涩五月天| 黑人美精品 A片| 日韩在线一区高清在线| 粉嫩粉嫩一区性色AV片| 亚洲欧洲网站免费观看| 亚洲精品一区中文字幕乱码| 久久嫩草国产成人一区| 日本高清熟女久久一区| 99超碰网| 国产偷拍网站| 乱伦系列一区二区| 夜夜高潮夜夜爽| 99综合自拍| 97视频新免费| 亚洲怡春院| 欧美瑟综合| 色官网色综合| 天天日天天干天天操| 亚洲国产av中文字幕久久| 911av网站免费观看| 亚洲精品亚洲人成在线麻豆| 夜夜操夜夜爽夜夜高潮| 1024午夜激情男人的天堂| 午夜视频久久久| 囯产精品久久久久久久久久梁医生 | 超碰人妻中文在线| 麻豆天天躁天天揉揉AV| 五月天婷婷在线看| 亚洲第一成人影院色播| 天天日日舔舔| 大香蕉日亚洲日本亚大 | 四虎AV无码| 国产99999久久精品| 97资源亚洲| 国产美女口爆吞精视频| 五月激情综合网| 美日韩一二三区| 色吊丝 日日骚 清纯唯美| 国产日韩欧美中文在线播放| 97在线国产精品| 欧美性天天影院| 欧美天天弄| 国产原创剧情在线丝袜| 国产精品久久久久久久免牛肉蒲团| 97这里有精品| 99色婷婷| 蜜桃网熟妇| 东京热视频网| 国产女上位好爽在线| 熟妇激情| 日韩激情啪啪啪| 精品91摸| 人人搞人人插人人操| 一级A片女人高潮叫床| 另类亚洲图色| 中文字幕精品探花视频| 91亚洲人电影| 老熟女综合网 | 大香伊人在线一区| 亚洲中字幕日本一区二区三区| 亚欧高清在线| 国产精品第一页国产大屁股视频免费区i| 亚洲无码成人精品| 日韩国产十八禁| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 一卡二卡在线播放| 精品九九国产无码| 亚洲涩涩| 18禁网站在线播放| 日日玩天天干| 去干网最新版| 欧美综合色图片| 免费啪啪一级视频| 中出在线视频| 91精品久久综合熟女| 超碰这里有精品| 亚洲精品国产专区在线观看| 国产人妻一区二区三区欧美毛片| 伊人四虎综合| 女色综合| 东北夫妻性偷拍| 夜夜爽夜夜| 校园春色之综合网| 国产v亚洲v日韩v欧美v片另类| 国产精品久久久久av| 亚洲自拍青操视频| 久久人人看| 天天欧美97| 男人天堂2019亚洲| 精品视频一区二区| 九九十八精品| AV网站高清无码在线观看| 婷婷15月天青娱乐| 五月天婷婷色| 精品无码一区二区三区| 97精品中文字幕| 日韩一级片在线看| 国产强奸乱伦第1页| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 欧美性爽xyxOOOO| 欧美精品 - 91爱爱| 黄色激情电影在线观看| yazhououmeizongya| 中文字幕第页| 国产99精品一区二区三区免费| 日韩一级二级三级免费看完整版国语版 | 肥佬影院91| 人人手机欧洲亚洲国产人妻| 成年女人黄网站| 香蕉国产97| 欧美黑人XXXⅩ高潮交| 爱妃国产亚洲视频中文字幕| 伊人嫩草| 欧美欲色| 大香蕉黄色一区| 蜜臀久久99精品久久久| 天天激色| 超碰在线974| 国产精品久久久久久片| 男人的天堂 在线一区| 加勒比av官网在线| 中文字幕55555| 自拍偷拍 日韩无码| 中文久久久| 亚洲和欧美裸体美女双飞视频| 国产高清无码一区二区三区四区皇冠| 亚洲欧美日韩中文播放| 九九久久国产精品怡红院| 美女露胸露奶头| 国语对白在线播放视频| 伊人网免费视频| 日韩日韩日韩-国产乱码精品一区二区| 色综合98| 亚洲国产97| 亚州欧美总和| 久久一本大香蕉| 美女啊啊啊啊啊啊啊| 国产尤物AV尤物在线观看不卡| 天天做天天爱| 美女网站91| 欧美在线|亚洲| 操逼内射干逼白丝91| 激情五月婷婷| 丁香五月激情啪啪| 免费观看啪视频| jk白丝没脱就开始啪啪| 欧美性生活免费网| 日韩亚洲精品一区二区| 人妻系列无码专区中文有码| 俄罗斯一区二区视频在线观看| 大香蕉久久| 熟女少妇一区二区三区| 人人操人人精品影片| 大香蕉欧美国产日韩高潮| 一区二区三区 丝袜 高跟 美腿| 久久久97| 久久久人妻| 亚洲色欲天天人妻无码系列专区| 综合五月婷婷| 色综合色| 色嘟嘟人妻天堂网| 伊人国产av| 国产精品对白内射| 97自拍一区| 国产精品亚洲四五区在线观看| 搡老女人老妇女老妇老熟女怎么读| 九九在线视频| 日韩AV一区二区三区三州三州| 黄页大片在线观看| 麻豆黄四叶草网站| k频道色撸撸| 春色综合免费| 日韩有码专区| 久草尤物| 国产高清MV操逼视频| 欧美成人性爱视频免费观看| 9999免费精彩视频| 亚洲影视综合网| 91在线页| 色www精品视频在线观看| 97视频在线视频| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 亚洲国产av中文字幕久久| 无码人妻精品一区二区中文| 丁香五月综合| 亚洲男人bt天堂| 亚洲色堂免费视频| 天天综合网~91综合网| 亚洲精品乱码久久久久久蜜桃麻豆| 91少妇高潮| 色欧洲| 狠狠操官网| 粉嫩av在线一区二区| 久久人妻视频| 亚洲视频小说| 中文字幕第7页| 日本影视久久免费| 秋霞无码av鲁丝片一区| 91男女啊啊啊| 啊啊啊啊在线播放| 狠狠爱综合网| 在线观看日韩av不卡| 大香蕉伊利av| 超碰97综合网| 亚洲国产欧美一区二区潘金莲 | 欧美九九九| 无码人妻一区二区三区色欲aⅴ| 久久久亚洲欧美综合| 少妇超碰在线| 亚洲AV色图一区| 免费A片三p视频| 天天插天天操| 亚洲麻豆18发?| 日本性感人妻91| 探花精品视频| 夜精品久无码| 超碰午夜| 精品四五区| 亚洲色图欧美色图在线播放| 伊人黄色片| 亚洲精品丝袜-不卡成人免费……| 区二区亚洲婷| 亚洲欧美一区二区网址| 99成人| 亚洲AV人人澡人人爱| 男人的天堂VA| 日夜精品| 很黄很色的视频在线观看| 五月大香蕉| 大香蕉色欲AV| 97人亚洲综合字幕| 四虎av在线| 天天色,天天干,天天干| 综合激情97| 天天综合-91入口| 日本 欧美 国产一区| 97色妞| 最新亚洲黄色免费电影| 大胆91| 日韩精品人妻中文字幕不卡乱码| 草草网站影院白丝内射| 亚洲素人网| 精品欧美А∨无码黑人大荫蒂 | 精品人妻视频一区二区在线播放| 久久黄色视频一区二区三区| 四虎视频在线观看| 一牛影视成人片免费| 禁十八久久| 欧美一区二区三区互相| 亚洲综合图色在线| 日本三级一区二区 在线| 啊啊好多水| 久操操AV电影| 欧美亚洲se91| 日韩性爱网址| 91久| 亚州色站 日韩电影| 亚洲阿v天堂在线| 亚洲情色婷婷五月天| 2024年最新色情网站在线观看 | 视频二区美腿制服人妻欧美| 96AV精品| 人人操人人摸人人看人人插| 日韩人妻丝袜美腿中文| 超碰人人干| 96精品久久| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 99国内精品| 黄色片A级一区二区三区| 亚州人妻| 澳门特级毛片免费观看| 欧美啪啪色吧在线| 欧美中文字幕一区 | 婷婷91| 天天躁日日躁狠狠躁| 福利社区午夜一区二区| 91天堂丝袜美腿| 嗯嗯嗯好爽| 久久永久无码人妻视频| 青青草玖玖爱| 亚洲一区二区麻豆影院| se吧提供91精品国产91久久久久久| 日韩精品9999| 五月丁香六月婷| 中字幕人妻一区二区三区| 超碰这里有精品| 6080yy午夜理论三级一区二区三区无码 | 福利伊人玖玖国产| 超碰78| 九九九九九九九| 天天流夜夜操| 啪啪啪精品视频| 欧美日韩1234| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 精精品人妻一区二区三区| 夜夜狼人妻| 日本在线激情一区二区三区| 色综合一本| 色香网| 老熟妇一区二区三区啪啪| 很很干很很操| 国产精品视频白浆免费| 无码高清少妇久久| 亚洲图片91| 熟女熟妇伦久久影院毛片一区二区| 先锋色眉乱伦资源| 国产又黄又爽| 欧美日韩亚洲少妇寂寞影院正在播放| 一本一首道人妻少妇免费久久| 五月丁香激情啪啪| 青青久久手机线视频| 亚洲啪啪综合?v一区综合精品区| 亚洲在线观看| 精国久久一区二区三区98| 手机av天堂久久久久| 熟女突然公开看18禁影片 | 嫩草一区二区在线观看| 欧美18 在线观看| 一二三区精品视频| 亚洲九九视频| 人妻大香蕉| 人妻黑丝袜电影| 中文字幕片| 黄页大片在线观看| 大香蕉123| 久久久激情| 午夜男女爽爽爽在线视频| 亚洲精美粉嫩嫩泬在线观看| 亚洲图片日本AⅤ欧美在线| 三上悠亚在线毛片91| 94色色电影网| 欧美九九九九九| 加勒比海人人操超碰在线| 精品十八在线观看| 97色操| 免费男人的天堂| 老司机午夜精品福利视频一区二区| 青女在线| 欧美第一页| 蜜臀久久99'精品久久久| 欧美日韩另类字幕中文| 日韩精品三级片长长久久| 久神马| 人妻无码视频一区二区三区久久| 国产人妻精品一区二区三区秋霞 | 九99久久| 97操b| 精品国产乱码久久久| 天天狂操夜夜狂日| 99久久久无码国产精品性啊聊| 欧美综合网| 综合久久久久久久久91| 久久性爱精品一区| 十八禁成人网站在线观看| 日本高清一区二区在线| 99免费视频| 中文字幕视频在线观看一区二区| 天美一二三在线观看Av| 亚洲综合 欧美| 男人天堂毛片| 国产亚洲99久久精品熟| 欧美日日操| 国产又色又爽又舒服的三级视频| 理论久久婷婷网 8| 今日头条成人一区二区三区四虎精品| 激情四射婷婷六月天| 欧美亚洲首页| 国产精品盗摄 偷窥盗摄| 97人妻免费中文字幕| 久久五月综合| 9超碰免费| 麻豆天美AV传媒第一页| 亚洲精品97| 秋霞久久亚洲精品成人| 精品少妇一区二区三区免费观看| 天天综合香 ld视频| 超碰在线在公开超碰在线在公开| 免费观看日本操逼视频| 亚洲无码久久久久久久| 丰满翘臀美女影院视频| 国产精品97超碰| 欧美成人免费在线观看| 人妻精品视频一区二区| 亚洲综合网图| 男女啊啊啊| 午夜AV人气不卡| 久久草草欧美精品| 伊人久久亚洲色欲综合网站| 人妻精品视频一区二区三区| 看一级黄色视频| 青青操少妇| 玖玖久久久| 久草网站免费在线观看| 久久久久性熟视频| 婷婷国产精品一区二区| 伊人久久大香线蕉无码| 日本丝袜美腿人妻九九| 超碰久超碰久| 日韩av在线播放不卡| 四虎国产成人精品免费一女五男| 青青青青青手机视频| 日本一区二区三区四区免费观看| 欧美熟妇人体| 中文字幕欧美丝袜07资源| 午夜福利成人免费视频| 日日夜夜模| 成人性爱AV在线免费观看| 欧美|91色综合| 91青青| 草莓精品视频| 色欧洲97| 亚洲欧美中文一区二区三| 欧美黄色图片| 女性喷水高潮在线观看| 久操九九九九| 日逼97| 五月婷婷影院| 伊香蕉综合久久久久久久噜噜噜 | 欧洲与亚洲欧美精品中文字幕| 97超碰超碰| 亚洲欧美大香蕉| 97色综合中文网| 婷婷五月影院| 久久免费9| 又大又白奶子| 日韩三级伦理中文字幕| 91女网站| 国产日韩精品无码去免费专区国产| 欧美色66| 亚洲h片在线免费观看| 久久久久久久久久久久黄色| 操操逼视频| 99热精品国产| 综合在线导航一区| 乱操9999| 性爱视频久久| 激情综合网亚洲| 夜夜高潮夜夜爽| 都市久久精品激情亚洲| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 久久久久久人体| 麻豆人妻精品一区二区| 国产一级内射高清视频| 99re69综合| 国产极品99热在线播放69| 偷拍亚洲情色| 91色艳| 91亚洲色人| 999九九九九国产动| 成人精品在线观看| 国产亚洲福利第一页丝袜| 97精品国产手机| 美女自卫慰黄网站免费| 嗯嗯啊啊好爽| 夜夜爽爽夜夜精品视频| 激情综合五月丁香| 天堂亚洲精品| 亚洲欧美日韩精品久久久一区二区| 插入粉嫩少妇视频| 色99在线| 老司机天天操| 精品人妻少妇| 91久久伊人婷婷青青草| 欧美v亚洲v日韩v最新在线二区| 日比av无码| 色九月综合| 天天色播亚洲综合网站| 色99999| 蘋果手機免費看成人Av| 婷婷导航| 亚洲国产尤物yw在线观看| 密臀在线视频| 久久99999| 俺去也婷婷| 亚洲伊人a线观看视频| 91热| 久久国语| 嗯啊啊啊轻点视频 | 在线 欧美 亚洲| 久久色激情一区二区三区| 久久精视频美日韩在线视频| 日韩免费中文字幕视频| chaopen97久久| 亚洲精品天天影视综合网 | 久久亚州精品成人Av无| 亚洲图片偷拍欧美| 97干天天| 精品女人999| 亚洲少妇中文字幕网址| 国产91av在线播放| 东京热男人天堂| av橘色网站| 久久免费精品96| 在线观看十八禁| 免费黄色片子| 无码高清专| 国产AV色黄看到爽| 一级性爱视频免费观看 | 老司机午夜精品福利视频一区二区 | 国产视频大全| 欧美成人亚洲精品| av天天在线观看| 超碰人人色| 思思热免费视频观看| 乱伦1色页| 20cm女自慰在线日韩欧美| 日韩99999| 玖玖大干人妻| 97av,com| 欧美91久久久久| 日韩情色AV| 91大神电影天堂| 日韩极品无码B| 天天色综合影视网| 亚洲性综合11| 日日夜夜精品视频| 欧美综合自拍亚洲综合图| 亚洲大色堂| 熟女中出视频| 久久久久久久久久久久黄色| av操操不卡| 综合网欧| 精品999日本| 色大香蕉97N| 60秒免费小视频| 97丝袜亚洲在线播放| 色踪合AV| 久久久78| 天天综合~91| 国产成人亚洲精品无码最新在线| 一区二区三区免费视频入口| 白丝被操91| 欧美黄片免费在线观看视频| 一本一道波多野毛片中文在线| 激情小说成人日本无码一| 女人午夜视频777| 五月香婷婷| 91亚·色| 亚洲蜜臀精品视频久久| 99re免费视频精品全部| 亚洲第一页综合在线| 97色论| 欧洲射精91| 91美女看B| 91狠狠狠| 91亚州| 人人妻人人爽 97人人看碰人免费公开视频 | 午夜精品久久久久久久久久久久久| 久久久日本电影| 色综合国产在线观看| 国产精品免费日韩| 成人AV在线电影| 国产怡红院| 欧美91久久久久| 亚洲日韩美女丝袜美腿人妻视频| a片 xxxx受爽视频| 操高情无码| 中文字幕 人妻不满 在线视频| 超碰在线974| 天天热精品| 天天澡天天爽日日AV| 在线国产福利网址导航| 亚洲高潮少妇| 国产精品久久久久久久免牛肉蒲团| 日韩日韩日韩-国产乱码精品一区二区| 白丝AV| 亚洲精品一区二区三区在线播放 | 78m成人视线| 国产野战露脸在线播放| www.zbzhongsen.com| 一区二区三区 丝袜高跟| 99久久99九九99九九九| 手机在线A片| 久热色情精品| 尤物视频新赏网鲜网色诱网| 国产精品久久妻无码网站| 国产亚洲在线观看| 91强在线播放| 亚洲日韩精品久久久久一区壹牛| 午夜高清成人在线视频| 亚洲大色堂| 又粗又长又大国产不卡| 99精品久久久久久久婷婷蜜桃| 亚洲情色一区三区| 久久精品黄色| 欧美婷婷五月天| 欧美色图 人妻| 国产精品视频内谢女人| 九九色精品| 亚洲少妇免费视频\| 欧美A片中文字幕| 曰韩欧美国产传媒麻豆第一区| 亚欧操逼片在线观看 | 婷婷丁香五月激情啪啪| 97超碰人操| 懂色av色欲av蜜臀av| 99re8超碰| 一级毛片电影免费看| 25国产精品免费观看| 亚洲成人AB| 人人插人人搞人人操| 东北操逼| 国产99久久99热这里只有精品15 | 97亚洲欧美| 五月天偷拍| 欧美性高潮| 丁香五月天堂网| 亚洲激情久久久伊人综合| 亚洲精品国产精品乱码不99| 国产高清在线自在拍69| 精品偷拍13p欧美dodk视频| 国产精品密臀网在线观看| 亚洲 欧美 日韩 国产一区二区| 婷婷色网| 97精| 九九久久久久久爱| 无遮挡又黄又刺激的视频| 色婷婷在线视频精品导航| 一级性爱视频免费观看| 一区二区 日韩 欧美 国产 传媒| 免费观看网黄| 欧美色图 人妻| 99久久久er直播网址| 97久久国产精品| 亚洲福利中文字幕在线| 夜夜欧美| 精精夜夜| 亚洲性爱电影| 美女骚尻视频| 狠狠爱综合网| 女沟厕偷窥piss小便| 欧洲中文字幕| 天天看天天在线精品| 丰满人妻一区| 亚洲综合五月天| 一级性爱视频免费观看 | 青青草原香蕉日本Ap| 色色色综合| 天美精品原创av片国产| 躁躁日曰躁2020| 日本视频在线观看污污污| 日本ZZ高免费A级视频| 成人夜夜爽| 51久久夜色精品国产麻豆| 人妻熟女一区二区| 伊人AAA| 国产精品探花色| 亚洲天天精品| www.欧精品| 久久久久久久国产视频| 久九九九九九九九热| 国产在线不卡导航| 3028国产精品| 欧美日韩在线小说| 91精品国久久久久久无码| 99热99在线| 黄片视频观看| 大干人妻| 91亚州欧美| 日本片日本片祼观看网站在线看中文版网页在线看| 久久久久久九九九| 中亚黄色三级大片| 69超碰综合| 在线综合色| 操国产高清| 亚洲久草AV色图| 女一区二区| 色狠狠综合| 日韩黄片视频试看| 国产400孕妇孕交群| 欧美日韩亚洲电影| 夫妻四区五区六区| 欧美精品999| 人妻一二三区| 视频不卡中文字幕| 久久超碰天天| 国产熟妇一区二区| av天天在线观看| 日本一级二级三级网站| 激情熟女12P| 97色综合中文网| 色香91| 国产25页| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 国产高清不卡视频| 欧美精品四区| 亚洲精品成人| 欧美日韩国内不卡| 国产女人高潮嗷嗷嗷叫小说| 91在线免费精品视频| 日韩性色| 18精品一二区| 97chaopenrihan| 色拍偷亚洲| 精品人妻视频一区二区三区蜜桃视频| 日韩欧美女优电影| 大香蕉AV在线| 亚洲国产日韩欧美熟妇在线| 性色av网站| 老熟妇一区二区三区…| 国产成人精品必看 | 高潮嗯啊性感美女久久久| 极品丝袜无码| 国产女上位好爽在线| 农村妇女一级二级三级视频| www.99色| 天天日天天插| 久久久无码国精品无码三区三区| 巨爆乳肉感一区二区三区竹菊影视| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 爱丝福利| 亚洲日韩黑丝| 9 1超碰九色| 大香蕉日亚洲日本亚大 | 欧美综合娱乐久久| 成人七区| 色综合久久88色综合久久天天| 久久东京伊人一本到鬼色| 99在线免费公开视频| 99老司机精品视频在线观看| 色就色综合| 天天操天天射天天日| yellow网站免费观看日韩高清无码| 国产熟女完整版中字| 加勒比在线视频一区二区三区| 中文字幕亚洲热播人妻| 欧美一区二区观看在线| 色噜噜人妻丝袜a∨先锋影 | 操久久久久| 91伊人| 大屁股人妻女教师撅着屁股| 中文字幕一二区二三区人妻专区| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 欧美一级久久久丰满| 波多野结衣先锋影音| 看日韩操逼| 99色视频| 亚洲色图20p| 国产精品视频在线播放| 中出20p| 日韩精品人妻| 99老司机精品视频在线观看| 一区二区三区精品视频| 大香蕉亚洲中文| 日本丝袜美腿人妻九九| 97精品国产精品免费观看| 亚洲 中文 欧美 日韩 在线| 中文字幕后石码四区五区| 久久黄片国产一区二区| 免费看A片毛毛片在线播| 综合久久婷婷| 精品国产99| 欧美色图99| 日韩国产精品人妻无码久久久| 99国产在线 精品 视频| 91九色网| 磁力99AV| 揉揉揉夜夜| 手机在线免费看的av| 乱伦系列一区二区| 亚洲成人一二三区| 熟女91网| 2023天天操夜夜操| 亚洲免费人妻在| 久久人妻四季| 日1区2区3区2020| se吧提供91精品国产91久久久久久| 在线强奷到舒服的无码视频| 天天色悠悠激情| 伊人午夜福利视频| 午夜性生活av免费在线看| 日本人人操人人操| 日本天堂网| 国产精品97视频| 久久91视频| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 午夜精品视频777| 淫色网综合| 精品一级| 精品一二三区久久AAA片| 国产SV一线| 欧美人妻少妇| 日韩女模中文造逼| 天天内射| 天天射天天操天天干天天吃2018| 91久久久久久久久18| 天天综合网~91综合网| 精品免费视频国产一区| 成人日韩欧美| 天天综合站| 欧美一级久久久久久久大片动画| 日本不卡三级网在线播放| 最新制服中文第一页| 国产亚洲色婷婷久久99精品91葵花宝典 | 国产精品一区人妻精品阁在线| 无码九九九九| 中文字幕亚洲永久精品| 嗯嗯嗯,草死我| 91精品91久久久久77777俄罗斯老妇姓x| 精品区国产区一区二区三区| 日韩精品三级片长长久久| 大二网站亚洲| 国产极品999| 97在线免费视频观看| 人妻中文在线| 欧美激情亚洲| 久久丁香五月婷婷| 日日摸日日弄日日拍| 日韩激情中文字幕有码| 久久草视频污视频| 久久国产乱子伦精品免费女人| 免费网站观看www在线观| 青娱乐淫乱1314| 冬京热男人的天堂| 国语av狠狠色丁香婷婷综合激情| 欧美亚洲综合色| 熟妇视频一区二区三区在线| 丁香五月av| 日韩射精| 白丝1区2区3区| A级在线视频| 闷骚老熟女15P| 最新国内自拍av免费| 一区二区不卡| 性色av蜜臀av色欲aV| 亚洲性综合| 国产男女无套视频免费观看| 中日992视频| 97天堂| 3PAV乱伦视频| 午夜啊啊啊| 欧美日韩激情无码专区| 美女上床网站| 26uuu国产| 亚洲综合第一页| 国产乱弄免费在线视频。| 欧美日韩日产免费网站看| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 欧美91在线+|+欧美| 国产精品蜜乳AV| 91色欧美| 国产精品乱人伊人网| 国产在线视频二区| 欧美九一精品久久久熟妇| 亚洲国产日韩欧美熟妇在线| 91青青草| 久久99精品九九久久久婷婷| 亚欧国产无码精品在线| 亚州性9| 又摸又舔在线观看网站| 黄色大香焦1级‘′‘| 中文字幕第2页| 国产精品。| 亚洲中文字幕精品久久久久久直播| 一二三区精品视频| 麻豆精品A片免费观看| 男人亚洲91首页在线| 操美女高潮抽搐白浆| 91 欧美| 亚洲视频二区| 97色干| 亚洲啪AⅤ永久无码| 限制级中的三级片中的黑粗大屌屌日人妻熟女 | 无码操逼天堂| 97人人干| 懂色av色欲av蜜臀av| www.91视频网| 骚熟女吞| 国产刺激视频| 亚欧视频在线| 91综合在线| 欧美草草| 日韩国产十八禁| 这里只有精品久久| 女人被男人桶爽视频网站| 综合 亚洲 欧美| 加勒比五月天| 亚洲情色五月天| 91狼人| 精品成人无码| 91青青草| 少妇色欲综合网2| 日韩中文字幕2020| 欧美1727免费观看视频| 日本五十路熟女一区二区| 国产精品人妻免费精品| 91痴汉| 欧美精品久久| 国产一区麻豆免费观看| 天天射影院| 天天躁日日躁AAA片李宗瑞| 久久精品国产亚洲妲己影视| 日韩精品-原创伙伴| 青青草一区二区三区四| 欲射影视| 中文字幕乱碼在线| 老色69| 九九在线视频| 99ri在线视频| 国人欧美精品一区二区| 国产精品 久久久精品一牛| 欧美色就是色| 久9精品| 96超碰网| 欧美色97| 国产综合久| 亚洲欧美国产精品久久久久久久| 天堂亚洲精品久久老牛| 国产亚洲欧洲在线观看| 1204金沙人妻懂旧版免费| 精品人妻一区二区免费蜜桃| 久久熟女人| 亚州操操穴网| 久久久工口| 夜夜夜久久| 国产suv精品一区二区四| 插入综合网| 欧插网站| 北京专精特新企业招聘信息| 久操99| 久久久9视频| 刺激性视频黄页| 99自拍B亚洲 | 国产亚洲精品久久久久小| 天天看精品动漫视频一区| 日本羞羞的视频在线播放| 伊人一级免费黄片| 青青免费在线视频一区| 日本黄色精品专区网站| www.亚洲黄色| 亚洲精品尤物yw在线影院| 草草影院日本第一页| av无码av无码专区| 一区二区三区免费岛国片| 国产AV超爽| 中文字幕高清20页视频| 色一射色一射| 青青草大香蕉在线视频|