99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

MySQL學(xué)習(xí)筆記:從安裝到實(shí)戰(zhàn)的索引、事務(wù)與排查總結(jié)

MySQL學(xué)習(xí)筆記:從安裝到實(shí)戰(zhàn)的索引、事務(wù)與排查總結(jié) 很多朋友催我整理一份MySQL學(xué)習(xí)筆記說市面上教程要么太散、要么太淺照著做總在細(xì)節(jié)上卡住。我從最早裝MySQL都裝不明白到后來在生產(chǎn)環(huán)境處理慢查詢、調(diào)事務(wù)、配主從這些年踩過的坑確實(shí)不少。這篇筆記我就把從入門到實(shí)戰(zhàn)的核心路線、常用命令、容易忽略的細(xì)節(jié)和排查經(jīng)驗(yàn)一次性整理出來重點(diǎn)覆蓋安裝配置、常用SQL、索引、事務(wù)、鎖、存儲(chǔ)過程、連接查詢還有面試高頻考點(diǎn)和典型報(bào)錯(cuò)排查方向。文章會(huì)盡量按實(shí)際操作的順序來寫新手可以照著一步步走有基礎(chǔ)的也可以直接跳到后面看問題和心得部分。1. 學(xué)習(xí)前必須想清楚的兩件事1.1 MySQL到底解決什么問題你的場(chǎng)景真的需要它嗎MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng)核心就是把數(shù)據(jù)按照行和列的結(jié)構(gòu)存起來通過SQL語言做增刪改查。很多人一上來就背命令其實(shí)先搞清楚它解決什么問題更重要。簡(jiǎn)單說只要有“多個(gè)人同時(shí)讀寫同一批結(jié)構(gòu)化數(shù)據(jù)”的需求MySQL就是很穩(wěn)妥的選型。它內(nèi)部有事務(wù)機(jī)制保證數(shù)據(jù)一致性有索引機(jī)制加速查詢有權(quán)限體系控制訪問范圍還有各種備份、復(fù)制、集群方案支撐業(yè)務(wù)增長(zhǎng)。選型方面我要多說一句。如果你的項(xiàng)目只是單機(jī)小工具SQLite反而更輕量如果是海量非結(jié)構(gòu)化數(shù)據(jù)MongoDB或者對(duì)象存儲(chǔ)可能更合適如果只是簡(jiǎn)單的內(nèi)存緩存Redis就夠了。MySQL適合的是“數(shù)據(jù)結(jié)構(gòu)穩(wěn)定、關(guān)系復(fù)雜、要求強(qiáng)一致性”的業(yè)務(wù)系統(tǒng)比如電商訂單、用戶賬號(hào)、內(nèi)容管理、進(jìn)銷存這類。學(xué)它之前先明確自己的實(shí)際場(chǎng)景才不會(huì)學(xué)了用不上也不會(huì)為了用而用。1.2 學(xué)習(xí)路線的建議別急著看源碼先把這三層打通我見過太多人一上來就鉆研InnoDB源碼或者B樹的分裂過程結(jié)果連基本的SQL都寫不利索反而打擊信心。合理的路線一般分三層走。第一層是“跑起來”完成安裝、能用命令行連上數(shù)據(jù)庫、能執(zhí)行簡(jiǎn)單的建表和查詢先建立體感。第二層是“寫正確”把增刪改查、條件過濾、排序分組、多表連接這些語法練熟能獨(dú)立完成一個(gè)小項(xiàng)目的數(shù)據(jù)庫設(shè)計(jì)。第三層是“寫高效”這時(shí)候才去研究索引、事務(wù)隔離級(jí)別、死鎖排查、執(zhí)行計(jì)劃優(yōu)化這些進(jìn)階內(nèi)容。我個(gè)人的建議是前兩層不用花太多時(shí)間兩周左右就能覆蓋重點(diǎn)是盡早接觸真實(shí)數(shù)據(jù)。比如把手頭某個(gè)Excel表格搬到MySQL里模擬日常查詢需求這個(gè)過程比刷一百道練習(xí)題都有用。到第三層時(shí)再回到原理上深挖你會(huì)發(fā)現(xiàn)之前遇到的問題全都能對(duì)號(hào)入座學(xué)習(xí)效率高很多。2. 環(huán)境搭建Windows、Linux、Docker三種方式實(shí)測(cè)記錄2.1 Windows安裝MSI安裝器的一些細(xì)節(jié)Windows下最省事的是用官方MSI安裝包。下載時(shí)注意選擇MySQL Community Server版本不要下成Cluster或者其他的變體。安裝過程中有幾個(gè)選擇容易讓人懵我逐個(gè)說一下。端口默認(rèn)3306除非本機(jī)默認(rèn)端口已經(jīng)被占用否則不用改。認(rèn)證方式這里要特別留意MySQL 8.0默認(rèn)用caching_sha2_password而很多舊客戶端、舊驅(qū)動(dòng)只支持mysql_native_password。如果后續(xù)用Navicat、Delphi的Firedac或者其他老驅(qū)動(dòng)連接時(shí)報(bào)“does not support authentication protocol”問題多半出在這里后面常見問題部分我會(huì)詳細(xì)講解決辦法。配置密碼時(shí)一定要記好忘記root密碼是后續(xù)很多事故的開端。安裝完服務(wù)之后Windows服務(wù)里能看到“MySQL80”之類的服務(wù)名稱默認(rèn)啟動(dòng)類型是自動(dòng)。我第一次裝完總是啟動(dòng)失敗后來發(fā)現(xiàn)是安裝目錄和數(shù)據(jù)目錄的權(quán)限問題用管理員身份運(yùn)行安裝器基本能避免。還需要確認(rèn)一件事安裝器默認(rèn)會(huì)創(chuàng)建C:\ProgramData\MySQL下的數(shù)據(jù)目錄如果這個(gè)目錄被安全軟件攔截后續(xù)初始化也會(huì)失敗。2.2 Linux安裝apt和yum兩條路線Ubuntu/Debian系列用apt最簡(jiǎn)單先更新索引然后安裝mysql-server。裝完默認(rèn)沒有設(shè)密碼直接sudo mysql進(jìn)入本地root再手動(dòng)ALTER USER設(shè)置密碼。CentOS/RHEL系列用yum或者dnf默認(rèn)倉庫里的版本可能比較舊建議先配置官方倉庫再install mysql-community-server。裝完第一次啟動(dòng)會(huì)生成臨時(shí)密碼在/var/log/mysqld.log里grep一下就能看到首次登錄會(huì)強(qiáng)制讓你改密碼。Linux下裝完千萬別急著跑先檢查兩件事。一是防火墻如果3306端口沒放行遠(yuǎn)程連接必掛二是bind-address默認(rèn)監(jiān)聽127.0.0.1要在配置里改成實(shí)際的監(jiān)聽地址或者用注釋的方式讓它監(jiān)聽所有地址。很多時(shí)候下載、安裝都成功就是連不上基本都是這兩處沒配。2.3 Docker安裝適合快速起測(cè)試環(huán)境Docker方式最推薦給做開發(fā)和測(cè)試的人它最大的優(yōu)勢(shì)是干凈、可重復(fù)、刪了不心疼。我自己常用的啟動(dòng)命令是這樣的docker run -d \ --name mysql-test \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD123456 \ -e MYSQL_DATABASEdemo \ -e MYSQL_USERdemo_user \ -e MYSQL_PASSWORDdemo_pass \ mysql:8.0這里需要解釋幾點(diǎn)。MYSQL_ROOT_PASSWORD是root賬號(hào)的初始密碼MYSQL_DATABASE會(huì)自動(dòng)創(chuàng)建一個(gè)數(shù)據(jù)庫MYSQL_USER和MYSQL_PASSWORD會(huì)創(chuàng)建普通用戶并授權(quán)給這個(gè)庫。端口映射-p 3306:3306表示把容器里的3306映射到宿主機(jī)的3306。生產(chǎn)環(huán)境一定要加-v參數(shù)把數(shù)據(jù)目錄掛載出來不然容器一刪數(shù)據(jù)全部消失這個(gè)坑我踩過教訓(xùn)很深刻。2.4 安裝后的驗(yàn)證清單環(huán)境搭好后別急著進(jìn)入下一步先跑一組最小驗(yàn)證命令確認(rèn)安裝沒問題mysql -u root -p SHOW VARIABLES LIKE version%; SHOW DATABASES; SELECT 1 5 AS result;這樣能確認(rèn)服務(wù)啟動(dòng)正常、賬號(hào)權(quán)限正常、基礎(chǔ)表達(dá)式計(jì)算正常。我第一次裝完就是只執(zhí)行了mysql -V看到版本號(hào)就覺得行了結(jié)果過了一天重新連接才發(fā)現(xiàn)密碼策略導(dǎo)致的連接問題。老老實(shí)實(shí)走一遍清單后面少很多幺蛾子。3. 核心SQL從建庫到增刪改查的完整認(rèn)知3.1 庫和表的操作邏輯數(shù)據(jù)庫的概念就是一個(gè)邏輯上的容器里面放著各種表、視圖、存儲(chǔ)過程等對(duì)象。建庫時(shí)字符集一定要想清楚。我最推薦的組合是utf8mb4 utf8mb4_unicode_ciutf8mb4不是老舊的utf8它能存emoji表情也能存生僻字。很多項(xiàng)目上線之后出現(xiàn)亂碼問題源頭就是建庫時(shí)用了默認(rèn)的latin1。表的設(shè)計(jì)聚焦在字段類型上。字符串類型要考慮長(zhǎng)度和排序規(guī)則數(shù)字類型要區(qū)分整數(shù)和浮點(diǎn)日期類型要看用DATE還是DATETIME。我在設(shè)計(jì)表時(shí)有一條經(jīng)驗(yàn)?zāi)苡谜麛?shù)ID作為主鍵就不要用字符串IP地址可以存成整數(shù)用INET_ATON轉(zhuǎn)換查詢效率提升明顯金額字段一定要用DECIMAL不能用FLOAT因?yàn)楦↑c(diǎn)運(yùn)算有精度問題涉及錢的時(shí)候絕不能省這個(gè)事。3.2 INSERT、UPDATE、DELETE的容易踩的點(diǎn)INSERT語句我踩過最多的坑是字符集和自增主鍵。字符集混亂會(huì)導(dǎo)致中文變問號(hào)自增主鍵要看清楚當(dāng)前值是多少備份恢復(fù)后容易出現(xiàn)主鍵沖突。批量插入百萬級(jí)數(shù)據(jù)時(shí)盡量用一個(gè)INSERT攜帶多條VALUES比一條條循環(huán)執(zhí)行快很多。UPDATE是初學(xué)者翻車率最高的語句。SQL里UPDATE沒有WHERE就更新整張表這幾乎是新手最容易造成的生產(chǎn)事故。我還記得自己第一次把線上用戶表的昵稱全部改成同一個(gè)值就是因?yàn)槁慦HERE。所以現(xiàn)在我寫UPDATE的習(xí)慣是先寫SELECT把WHERE條件查一遍確認(rèn)影響行數(shù)再改成UPDATE語句。這個(gè)習(xí)慣雖然多一步但價(jià)值極大。另外MySQL默認(rèn)在事務(wù)里執(zhí)行UPDATE加的是行鎖如果條件沒走索引InnoDB會(huì)退化成鎖表高并發(fā)下極易產(chǎn)生鎖等待和死鎖。DELETE同樣要留意MySQL沒有撤銷刪除的功能誤刪只能靠備份恢復(fù)。所以刪除大表數(shù)據(jù)之前我習(xí)慣先查SELECT COUNT(*)再確認(rèn)WHERE條件最后用事務(wù)包起來執(zhí)行確認(rèn)沒問題再提交。但這里再補(bǔ)一句如果表數(shù)據(jù)量特別大一次性DELETE會(huì)留下大量碎片和長(zhǎng)事務(wù)更合適的方式是分批刪除比如每次刪除1000條循環(huán)執(zhí)行這樣能減少鎖持有時(shí)間和日志壓力。3.3 SELECT查詢的骨架WHERE、ORDER BY、LIMITSELECT是使用頻率最高的語句它的執(zhí)行邏輯理解到位后面優(yōu)化才能上手。WHERE負(fù)責(zé)過濾行GROUP BY做分組聚合HAVING過濾分組結(jié)果ORDER BY排序LIMIT限制返回行數(shù)。關(guān)鍵點(diǎn)是執(zhí)行順序和書寫的順序不一致實(shí)際執(zhí)行順序大致是FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT。這個(gè)順序每多理解一分SQL優(yōu)化就多一分把握。比如很多人問“為什么WHERE里不能用SELECT里起的別名”就是因?yàn)閃HERE比SELECT先執(zhí)行別名在WHERE階段根本還不存在。ORDER BY也一樣所以排序的分組字段一定要是源表真實(shí)字段。LIMIT的坑主要在分頁查詢。偏移量大的時(shí)候比如LIMIT 1000000, 20MySQL會(huì)把前100萬行都掃出來再扔掉性能極差。更好的方案是記錄上一頁最后一條記錄的主鍵或唯一索引用WHERE id ? LIMIT 20來實(shí)現(xiàn)“基于游標(biāo)”的分頁這樣能走索引不加掃描量。3.4 數(shù)據(jù)類型的選擇策略選字段類型不能只看“能不能存”還要看“效率怎么樣”。整數(shù)類型按范圍分TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT長(zhǎng)度設(shè)置并不限制數(shù)值范圍只是影響顯示寬度這是非常多人的誤解。字符串里VARCHAR適合長(zhǎng)度可變的字段CHAR適合定長(zhǎng)字段但大量使用VARCHAR會(huì)導(dǎo)致行溢出具體性能問題要看實(shí)際場(chǎng)景。日期時(shí)間類型中DATETIME不帶時(shí)區(qū)信息TIMESTAMP帶有時(shí)區(qū)轉(zhuǎn)換國(guó)內(nèi)場(chǎng)景通常用DATETIME更直白。還有一個(gè)高頻概念MySQL里int5這樣的表達(dá)式運(yùn)算只要兩邊是數(shù)字類型就能直接相加但如果字段是字符串型且插入了非數(shù)字內(nèi)容轉(zhuǎn)換會(huì)得到0這是一個(gè)容易造成數(shù)據(jù)錯(cuò)誤的地方查數(shù)據(jù)前一定要先確認(rèn)字段類型。4. 進(jìn)階機(jī)制索引、事務(wù)、鎖與存儲(chǔ)過程4.1 索引到底是怎么工作的索引可以理解成書的目錄沒有目錄就要一頁頁翻有了目錄就能直接定位到章節(jié)。MySQL里最常用的索引底層是B樹它讓查詢只需要從根節(jié)點(diǎn)沿路徑找到葉子節(jié)點(diǎn)復(fù)雜度大概是O(log n)。相比B樹B樹把所有數(shù)據(jù)都存在葉子節(jié)點(diǎn)葉子節(jié)點(diǎn)之間還有鏈?zhǔn)竭B接做范圍查詢和排序非常高效。建索引的幾條原則我提一下頻繁出現(xiàn)在WHERE和JOIN條件里的字段適合建索引區(qū)分度高的字段建索引收益更明顯比如性別這種只有兩個(gè)值的字段建了索引意義不大聯(lián)合索引要遵守最左前綴原則查詢條件從左往右能匹配上的時(shí)候才會(huì)用到索引。如果你有(a,b)聯(lián)合索引查詢條件只有b的時(shí)候索引是用不上的。為了找到慢SQL的根源我用EXPLAIN的次數(shù)最多。看EXPLAIN時(shí)重點(diǎn)看type列性能從好到差大致是const、eq_ref、ref、range、index、ALL。ALL代表全表掃描屬于需要重點(diǎn)優(yōu)化的對(duì)象。還有rows列和Extra列rows是預(yù)估掃描行數(shù)Extra里出現(xiàn)Using filesort或Using temporary時(shí)通常意味著查詢還有優(yōu)化空間常見辦法就是調(diào)整索引或者改SQL寫法。4.2 事務(wù)的ACID和隔離級(jí)別事務(wù)就是一組要么全部成功、要么全部回滾的操作。MySQL的InnoDB引擎默認(rèn)支持事務(wù)MyISAM不支持這也是為什么現(xiàn)在生產(chǎn)環(huán)境幾乎都用InnoDB。每次開啟事務(wù)后執(zhí)行的寫操作會(huì)先記錄到undo log里任何一步失敗都可以回滾到事務(wù)開始前的狀態(tài)。ACID是事務(wù)的四大特性原子性保證不可分割一致性保證數(shù)據(jù)狀態(tài)合法隔離性防止事務(wù)之間互相干擾持久性保證提交后不丟失。理解ACID時(shí)把原子性和一致性分開會(huì)更容易原子性解決“做不做完”的問題一致性解決“做了之后對(duì)不對(duì)”的問題。隔離級(jí)別是事務(wù)進(jìn)階里的重要內(nèi)容。MySQL默認(rèn)級(jí)別是REPEATABLE READ可重復(fù)讀。四個(gè)級(jí)別從低到高分別是READ UNCOMMITTED可能出現(xiàn)臟讀READ COMMITTED避免臟讀但可能出現(xiàn)不可重復(fù)讀REPEATABLE READ避免不可重復(fù)讀但可能出現(xiàn)幻讀SERIALIZABLE全部解決但性能代價(jià)極大。InnoDB在REPEATABLE READ下通過間隙鎖可以很大程度抑制幻讀所以很多場(chǎng)景下這個(gè)默認(rèn)級(jí)別是夠用的。事務(wù)開啟后要盡快提交這是我很想強(qiáng)調(diào)的經(jīng)驗(yàn)。有的同事把整個(gè)業(yè)務(wù)邏輯都放進(jìn)一個(gè)事務(wù)一個(gè)接口跑好幾秒事務(wù)長(zhǎng)時(shí)間不提交會(huì)導(dǎo)致鎖持有時(shí)間過長(zhǎng)影響并發(fā)量不說還容易造成死鎖。事務(wù)里盡量只放必要的讀寫操作外部接口調(diào)用和耗時(shí)計(jì)算不要放在事務(wù)內(nèi)。4.3 鎖機(jī)制概述鎖是保證并發(fā)安全的底層手段。InnoDB支持行級(jí)鎖也支持表級(jí)鎖還有意向鎖這種偏底層的鎖類型。行級(jí)鎖并發(fā)性能高但管理和排查復(fù)雜表級(jí)鎖實(shí)現(xiàn)簡(jiǎn)單但并發(fā)能力弱。最常見的行鎖分共享鎖和排他鎖共享鎖允許其他事務(wù)讀但不允許寫排他鎖不允許其他事務(wù)讀寫。普通SELECT默認(rèn)不加任何鎖只有顯式加FOR UPDATE或LOCK IN SHARE MODE才會(huì)產(chǎn)生鎖等待。死鎖是并發(fā)場(chǎng)景下的經(jīng)典問題。兩個(gè)事務(wù)分別持有對(duì)方需要的鎖互相等待MySQL檢測(cè)到死鎖后會(huì)自動(dòng)回滾代價(jià)較小的事務(wù)。避免死鎖的幾個(gè)常用思路固定程序的訪問順序盡量讓所有事務(wù)都按相同的表順序去操作控制每個(gè)事務(wù)的鎖數(shù)量減少長(zhǎng)事務(wù)保持查詢條件能用到索引避免鎖升級(jí)為表鎖。查看當(dāng)前鎖狀態(tài)的命令是SHOW ENGINE INNODB STATUS里面會(huì)打印最近一次死鎖的相關(guān)信息。4.4 存儲(chǔ)過程與觸發(fā)器用好它們但別濫用存儲(chǔ)過程是把一段SQL邏輯保存在數(shù)據(jù)庫端可以帶輸入輸出參數(shù)支持流程控制。好處是減少網(wǎng)絡(luò)傳輸、代碼集中管理壞處是維護(hù)成本高、調(diào)試驗(yàn)證不方便。以我的經(jīng)驗(yàn)看業(yè)務(wù)簡(jiǎn)單的場(chǎng)景沒必要用存儲(chǔ)過程復(fù)雜的統(tǒng)計(jì)任務(wù)適合把存儲(chǔ)過程當(dāng)作定時(shí)批處理工具來用。如果團(tuán)隊(duì)里不只一個(gè)人負(fù)責(zé)數(shù)據(jù)庫存儲(chǔ)過程的版本管理一定要重視不然上線出問題很麻煩。觸發(fā)器的機(jī)制是表上發(fā)生INSERT、UPDATE、DELETE時(shí)自動(dòng)執(zhí)行一段邏輯。最常用的場(chǎng)景是審計(jì)日志、更新時(shí)間戳自動(dòng)維護(hù)、庫存聯(lián)動(dòng)。真實(shí)開發(fā)里我不建議放重要業(yè)務(wù)邏輯在觸發(fā)器里因?yàn)樗膱?zhí)行是隱式的出問題很難排查而且會(huì)影響主流程的寫入性能。我曾經(jīng)排查過一個(gè)訂單重復(fù)日志的問題最后發(fā)現(xiàn)是每個(gè)字段更新都觸發(fā)了兩次觸發(fā)器邏輯場(chǎng)面很尷尬。所以觸發(fā)器能做但盡量讓它“小且透明”。4.5 常用函數(shù)讓SQL少一點(diǎn)、快一點(diǎn)字符串函數(shù)里CONCAT、SUBSTRING、REPLACE、UPPER、LOWER用得最多。數(shù)字函數(shù)ROUND、CEIL、FLOOR處理精度問題很好用。日期函數(shù)DATE_FORMAT、DATEDIFF、NOW、DATE_ADD在統(tǒng)計(jì)報(bào)表里出現(xiàn)頻率很高。判斷函數(shù)IF、IFNULL、CASE WHEN讓查詢邏輯更緊湊。但函數(shù)用的時(shí)候要注意索引失效問題。比如在WHERE里寫了YEAR(create_time)2024把字段包進(jìn)函數(shù)之后索引通常就用不上了。正確寫法是create_time 2024-01-01 AND create_time 2025-01-01這樣既能走索引邏輯也更清晰。類似的情況還有對(duì)字段做計(jì)算、字符串拼接后再比較都是索引失效的高危寫法。5. 數(shù)據(jù)庫設(shè)計(jì)與連接查詢實(shí)戰(zhàn)5.1 設(shè)計(jì)規(guī)范三范式與反范式數(shù)據(jù)庫設(shè)計(jì)最基本的是范式理論。第一范式要求字段不可再分第二范式要求非主鍵字段完全依賴主鍵第三范式要求非主鍵字段之間不能有傳遞依賴。實(shí)際項(xiàng)目中完全遵守第三范式很容易讓查詢需要大量JOIN所以資深的做法是在工程里適度反范式比如冗余一些熱門查詢字段犧牲一點(diǎn)存儲(chǔ)換查詢性能。以學(xué)生課程成績(jī)系統(tǒng)為例通常至少要設(shè)計(jì)學(xué)生表、課程表、成績(jī)表三張表。學(xué)生表存學(xué)生基本信息課程表存課程信息成績(jī)表用student_id和course_id做聯(lián)合外鍵再存分?jǐn)?shù)和考試日期。這種設(shè)計(jì)避免了把成績(jī)字段塞進(jìn)學(xué)生表導(dǎo)致重復(fù)存儲(chǔ)的問題也符合業(yè)務(wù)邏輯自然延伸的方向。很多實(shí)際項(xiàng)目就是因?yàn)樵缙诒碓O(shè)計(jì)不規(guī)范后面業(yè)務(wù)擴(kuò)展時(shí)改起來痛苦不堪這個(gè)案例值得新手親手做一遍。5.2 連接查詢的9種組合別再把JOIN搞混了兩表連接查詢的場(chǎng)景非常多網(wǎng)上流傳的“9種組合”本質(zhì)上就是兩張表JOIN時(shí)按保留哪一側(cè)數(shù)據(jù)來劃分的典型寫法。覆蓋這幾種寫法后絕大多數(shù)連接需求都能表達(dá)清楚。INNER JOIN只返回兩表都匹配的行這是最常見的類型。LEFT JOIN返回左表全部行右表沒有匹配就補(bǔ)NULL。RIGHT JOIN反過來。FULL OUTER JOIN在MySQL里沒有直接實(shí)現(xiàn)需要用LEFT JOIN和RIGHT JOIN的結(jié)果做UNION合并。除了這三種基礎(chǔ)組合還有LEFT JOIN排除右表已匹配行的寫法也就是WHERE右表主鍵IS NULL對(duì)應(yīng)“只在左表不在右表”的數(shù)據(jù)RIGHT JOIN排除左表已匹配行同理。再加上UNION合并形成“兩表并集”“兩表對(duì)稱差集”以及CROSS JOIN交叉連接統(tǒng)計(jì)組合數(shù)加起來就湊成了大家說的9種組合。注意寫JOIN時(shí)一定要明確ON后面的關(guān)聯(lián)條件。漏掉ON會(huì)導(dǎo)致交叉連接結(jié)果行數(shù)是兩表行數(shù)的乘積數(shù)據(jù)量一旦大起來查詢會(huì)直接卡死這是新手特別容易踩的坑。5.3 子查詢和UNION什么時(shí)候用合適子查詢可以用在WHERE、FROM和SELECT里。WHERE里的子查詢適合過濾條件FROM里的子查詢相當(dāng)于臨時(shí)表SELECT里的子查詢一般用來做標(biāo)量計(jì)算。不過子查詢不是萬能的某些場(chǎng)景改成JOIN或窗口函數(shù)性能更好。比如“查詢每門課最高分的學(xué)生”這種問題用窗口函數(shù)ROW_NUMBER() OVER(PARTITION BY course_id ORDER BY score DESC)就能一次搞定往往比自連接和子查詢組合更清晰。UNION用來合并多個(gè)結(jié)果集注意UNION默認(rèn)去重UNION ALL不去重。如果不需要去重一定用UNION ALL因?yàn)槿ブ貢?huì)有額外排序代價(jià)。我在早期寫報(bào)表時(shí)經(jīng)常圖省事用UNION后來才發(fā)現(xiàn)其實(shí)很多地方用OR也能實(shí)現(xiàn)但兩者語義有區(qū)別OR不會(huì)自動(dòng)去重返回行UNION會(huì)根據(jù)列值去重。這就是為什么有人問“MySQL的OR能去重嗎”時(shí)答案是否定的——去重要用DISTINCT或UNION。6. 運(yùn)維與錯(cuò)誤排查實(shí)戰(zhàn)中的典型問題快查6.1 認(rèn)證協(xié)議問題客戶端不支持caching_sha2_passwordMySQL 8.0默認(rèn)的認(rèn)證插件是caching_sha2_password很多老版本的客戶端和驅(qū)動(dòng)不認(rèn)識(shí)它。使用Navicat 15以前的版本、某些版本的JDBC驅(qū)動(dòng)、Delphi的Firedac組件時(shí)都會(huì)報(bào)類似“phys mysql client does not support authentication protocol requested”或“Authentication plugin caching_sha2_password cannot be loaded”的錯(cuò)誤。解決辦法有兩種。如果你能升級(jí)客戶端就升級(jí)到支持MySQL 8的版本如果不能升級(jí)把對(duì)應(yīng)用戶改回mysql_native_passwordALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 你的密碼; FLUSH PRIVILEGES;這里需要注意改了之后安全性弱于新插件但很多企業(yè)內(nèi)部用的老工具不得不這么處理。第二種做法是新建一個(gè)給老客戶端專用的用戶用mysql_native_password插件。這樣既不影響root賬號(hào)的安全策略也不用改全局配置。6.2 安裝配置卡住Configuration of MySQL Server is taking longWindows安裝MySQL 8過程中經(jīng)常出現(xiàn)安裝進(jìn)度卡在Configuration這一步的情況。多數(shù)原因是安裝器需要執(zhí)行初始化數(shù)據(jù)目錄、創(chuàng)建服務(wù)、啟動(dòng)服務(wù)等動(dòng)作如果電腦上安裝了安全軟件或者服務(wù)權(quán)限不足就會(huì)長(zhǎng)時(shí)間卡住。我處理過的典型場(chǎng)景是用戶之前裝過MySQL但卸載不干凈殘留的服務(wù)或數(shù)據(jù)目錄導(dǎo)致新裝的實(shí)例無法初始化。建議先卸載干凈把C:\ProgramData\MySQL和C:\Program Files\MySQL下的殘留目錄手動(dòng)清理再用管理員身份重新安裝。如果還卡著可以看安裝日志一般在%TEMP%\mysql_installer_*.log里里面會(huì)寫明具體卡在哪一步。另一個(gè)比較隱蔽的原因是機(jī)器名或用戶名包含中文字符某些安裝階段會(huì)處理不好這個(gè)遇到的時(shí)候很難排查但把當(dāng)前用戶換成純英文的Windows用戶就能過。6.3 端口、服務(wù)啟動(dòng)、連接超時(shí)這類基礎(chǔ)問題端口3306被占用是最容易發(fā)現(xiàn)的錯(cuò)誤netstat -ano | findstr 3306能看占用進(jìn)程。但還有個(gè)坑是MySQL自己配的端口和客戶端輸入的端口不一致比如改了配置的端口值但沒重啟服務(wù)。每次改完my.cnf或my.ini都要重啟服務(wù)才能生效很多人改完配置文件直接連不上就一臉懵。連接超時(shí)先分清楚是網(wǎng)絡(luò)問題、防火墻問題還是賬號(hào)權(quán)限問題。網(wǎng)絡(luò)層用ping驗(yàn)證IP通不通防火墻在Windows端檢查入站規(guī)則在Linux端檢查firewalld或iptables賬號(hào)權(quán)限問題是user表里的host字段限制比如rootlocalhost就只能本機(jī)登錄遠(yuǎn)程登錄必須用root%之類的記錄。user表改完之后一定要FLUSH PRIVILEGES不然不生效。6.4 給已有重復(fù)數(shù)據(jù)的表加唯一約束業(yè)務(wù)表運(yùn)行久了想給某個(gè)字段加唯一索引結(jié)果提示字段里有重復(fù)值這是很常見的問題。比如我接手過一個(gè)客戶表email字段里有多條重復(fù)記錄想建唯一約束直接報(bào)錯(cuò)。正確的順序是先把重復(fù)數(shù)據(jù)清理掉再加約束。先分組找出重復(fù)項(xiàng)SELECT email, COUNT(*) AS cnt FROM customer GROUP BY email HAVING cnt 1;留下的通常是業(yè)務(wù)上那個(gè)最新的記錄所以可以先保留每組里id最小的一條然后把其他重復(fù)記錄刪除或合并。數(shù)據(jù)清理完后再ALTER TABLE ADD UNIQUE INDEX。這條經(jīng)驗(yàn)在數(shù)據(jù)治理和報(bào)表項(xiàng)目里非常實(shí)用。還要提醒一點(diǎn)清理重復(fù)數(shù)據(jù)前要備份或者先跑通事務(wù)不要一上來就DELETE。6.5 數(shù)據(jù)庫同步與遷移DataX、Kettle、Sqoop的使用思路跨數(shù)據(jù)庫同步和數(shù)據(jù)遷移我接觸到的工具有DataX、Kettle、Sqoop等。DataX是阿里開源的數(shù)據(jù)同步工具適合MySQL、SQLServer、PostgreSQL、HDFS、TDengine等多個(gè)數(shù)據(jù)源之間的批量同步。它的核心是配置JSON格式的job描述文件把reader和writer參數(shù)寫清楚比如連接地址、用戶名、密碼、表名、切分鍵、并發(fā)數(shù)。我習(xí)慣在同步前先用較小的行數(shù)做試運(yùn)行確認(rèn)數(shù)據(jù)一致后再跑全量。Kettle是圖形化ETL工具拖拽式操作對(duì)非開發(fā)者很友好做復(fù)雜的轉(zhuǎn)換流程時(shí)能省很多代碼但性能瓶頸通常集中在內(nèi)存和數(shù)據(jù)庫端大批量同步要控制好提交批次大小。Sqoop主要是在關(guān)系型數(shù)據(jù)庫和Hadoop生態(tài)之間做導(dǎo)入導(dǎo)出遇到SQLServer或者PostgreSQL要記得把對(duì)應(yīng)JDBC驅(qū)動(dòng)放到Sqoop的lib目錄下否則連接就失敗。不管是哪個(gè)工具遷移后一定要做一致性校驗(yàn)比如對(duì)比行數(shù)、對(duì)比關(guān)鍵字段的SUM值計(jì)算MD5等。我吃過一次虧同步工具返回成功但目標(biāo)表行數(shù)少了2萬原因是一個(gè)字段的轉(zhuǎn)換規(guī)則寫錯(cuò)了所以任何工具都不能完全替代校驗(yàn)這一步。7. 面試高頻知識(shí)點(diǎn)速記7.1 索引與執(zhí)行計(jì)劃面試環(huán)節(jié)問索引相關(guān)的概率非常高。比如為什么InnoDB用B樹而不是哈希表或者紅黑樹。哈希表適合等值查詢但不適合范圍查詢紅黑樹在數(shù)據(jù)量增大時(shí)層數(shù)會(huì)變深磁盤IO次數(shù)變多。B樹的葉子節(jié)點(diǎn)連成鏈表范圍查詢和順序讀取都很快同時(shí)所有數(shù)據(jù)都在葉子節(jié)點(diǎn)非葉子節(jié)點(diǎn)只存索引鍵可以容納更多節(jié)點(diǎn)把樹的高度控制得很低。回答時(shí)結(jié)合磁盤IO和范圍查詢兩個(gè)角度會(huì)比死背結(jié)論有說服力。執(zhí)行計(jì)劃EXPLAIN里通常還會(huì)追問type等級(jí)重點(diǎn)關(guān)注possible_keys、key、rows、Extra幾列Extra里出現(xiàn)Using filesort或Using temporary要能解釋出原因和優(yōu)化手段。我之前被問過“索引為什么會(huì)失效”常見場(chǎng)景包括對(duì)索引列做函數(shù)運(yùn)算、隱式類型轉(zhuǎn)換、LIKE前置通配符、JOIN時(shí)字符集不一致、OR條件里有非索引列。這些都能答出來面試基本就過關(guān)了。7.2 事務(wù)與隔離級(jí)別事務(wù)相關(guān)的高頻問題集中在隔離級(jí)別、臟讀、不可重復(fù)讀、幻讀的區(qū)別以及MySQL默認(rèn)為什么是REPEATABLE READ。一個(gè)經(jīng)典的追問是“REPEATABLE READ下幻讀不存在了嗎”答案要結(jié)合InnoDB的當(dāng)前讀和快照讀機(jī)制來講快照讀在事務(wù)首次讀取時(shí)建立快照后續(xù)讀到的是快照里的數(shù)據(jù)所以看不到新插入的行但當(dāng)前讀SELECT ... FOR UPDATE會(huì)通過間隙鎖來限制插入范圍避免幻讀。能說到“當(dāng)前讀”和“快照讀”這兩個(gè)詞面試官通常就會(huì)認(rèn)為你有實(shí)戰(zhàn)理解。MVCC多版本并發(fā)控制也常被提起。簡(jiǎn)單說InnoDB通過undo log保存行的多個(gè)版本配合ReadView判斷當(dāng)前事務(wù)可以看到哪個(gè)版本從而在鎖開銷很小的情況下實(shí)現(xiàn)隔離。理解MVCC對(duì)排查線上數(shù)據(jù)不一致問題也有幫助不只是面試考點(diǎn)。7.3 SQL優(yōu)化與慢查詢排查優(yōu)化類問題一般會(huì)給一條慢SQL讓分析原因和優(yōu)化方案。我的固定思路是先看WHERE條件和JOIN條件是否都有合適的索引再看返回字段是否只是必要的列最后看是否有文件排序和臨時(shí)表。舉例來說如果發(fā)現(xiàn)一條統(tǒng)計(jì)報(bào)表的SQL慢可以先打開慢查詢?nèi)罩究磮?zhí)行時(shí)間再用EXPLAIN看掃描行數(shù)。遇到大表查詢第一反應(yīng)不是加內(nèi)存而是檢查是否缺少復(fù)合索引或者是否能在應(yīng)用層做緩存。SHOW PROFILE也可以用來定位查詢耗時(shí)所在階段但更常用的還是performance_schema里的events_statements_summary_by_digest它能按SQL模板聚合統(tǒng)計(jì)執(zhí)行次數(shù)、平均耗時(shí)、最大耗時(shí)。線上慢SQL的排查必須有這樣的工具支撐光靠看業(yè)務(wù)日志效率太低。8. 工具鏈與個(gè)人體會(huì)8.1 客戶端工具怎么選MySQL官方提供了MySQL Workbench功能全支持表設(shè)計(jì)、SQL開發(fā)、服務(wù)器狀態(tài)檢查適合剛?cè)腴T時(shí)熟悉數(shù)據(jù)庫對(duì)象但界面某些交互偏重。Navicat是很流行的商業(yè)工具功能很順手用的人多網(wǎng)上教程也多不過版本和MySQL 8的認(rèn)證插件兼容性問題要注意。DBeaver是免費(fèi)開源的通用數(shù)據(jù)庫客戶端支持多種數(shù)據(jù)庫Linux和Windows都有版本本身基于JDBC所以只要能配好驅(qū)動(dòng)連接問題和驅(qū)動(dòng)版本問題會(huì)少很多。命令行工具mysql也別丟下。腳本化操作、服務(wù)器上沒有圖形界面時(shí)命令行才是真正可靠的手段。建議至少熟練使用mysql -u xxx -p -h xxx -P xxx、source filename.sql導(dǎo)入、mysqldump導(dǎo)出這些基礎(chǔ)命令。我見過不少開發(fā)者圖形界面用得飛起一到線上環(huán)境就手足無措這個(gè)基本功還是得扎實(shí)。8.2 JDBC驅(qū)動(dòng)與連接池Java連接MySQL時(shí)JDBC驅(qū)動(dòng)版本要和數(shù)據(jù)庫版本匹配。MySQL 8.0對(duì)應(yīng)的驅(qū)動(dòng)是mysql-connector-java 8.x連接URL建議加上serverTimezoneAsia/Shanghai和useSSLfalse避免時(shí)區(qū)異常和SSL握手警告。驅(qū)動(dòng)類名也變了老的是com.mysql.jdbc.Driver新的是com.mysql.cj.jdbc.Driver寫錯(cuò)會(huì)直接報(bào)ClassNotFoundException。連接池方面HikariCP是當(dāng)前Spring Boot默認(rèn)的連接池性能好配置簡(jiǎn)單。Druid是阿里的連接池有監(jiān)控SQL和Web頁面國(guó)內(nèi)項(xiàng)目中使用很廣。連接池的核心參數(shù)包括最大連接數(shù)、最小空閑連接數(shù)、連接超時(shí)時(shí)間、空閑回收時(shí)間。大流量項(xiàng)目里最大連接數(shù)不是越大越好因?yàn)槊總€(gè)連接都占用數(shù)據(jù)庫端的線程和內(nèi)存盲目調(diào)大會(huì)拖垮數(shù)據(jù)庫。具體要結(jié)合壓測(cè)數(shù)據(jù)和業(yè)務(wù)QPS來定。8.3 我這些年養(yǎng)成的學(xué)習(xí)習(xí)慣最后分享幾個(gè)在實(shí)際工作中幫助很大的習(xí)慣。第一每學(xué)一個(gè)新命令都用一個(gè)臨時(shí)數(shù)據(jù)庫做實(shí)驗(yàn)別在生產(chǎn)庫里試。我自己的電腦上常年跑著一個(gè)Docker MySQL容器專門用來折騰。第二SQL寫完之后先看EXPLAIN不看執(zhí)行計(jì)劃的SQL都不算寫完。第三建表時(shí)把注釋寫全。字段注釋就是給別人和自我未來的文檔團(tuán)隊(duì)協(xié)作時(shí)沒有注釋的表維護(hù)起來痛苦程度非常高。第四定期看慢查詢?nèi)罩竞湾e(cuò)誤日志這兩份日志就是數(shù)據(jù)庫的體檢報(bào)告。第五做任何批量更新和刪除之前把WHERE條件原樣套到SELECT上先查一遍這個(gè)習(xí)慣我已經(jīng)堅(jiān)持了很多年確實(shí)幫我擋掉了好幾次事故。MySQL是個(gè)很老牌的工具表面看起來簡(jiǎn)單實(shí)際深入后會(huì)發(fā)現(xiàn)查詢優(yōu)化、事務(wù)并發(fā)、運(yùn)維備份的話題根本沒有盡頭。這篇筆記是我個(gè)人學(xué)習(xí)路線和實(shí)戰(zhàn)經(jīng)驗(yàn)的整理不一定適合所有人但如果你照著走一遍從安裝到面試再到排查問題至少能有一條清晰的路不會(huì)像無頭蒼蠅一樣亂撞。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丁香色播五月天| 五月天激情综合首页| 丁香色综合| 五月丁香激情综合| 久久 中文 日本| 亚洲激情综合| 天天射综合网站| 天天狠狠色噜噜| 婷婷五月天精品| 最近中文字幕2019视频1| 五月激情六月综合| 久热网在线视频| 婷婷五月天免费小说| 五月深情久久| 91大屁股在线| 91re色综合视频| 亚洲av综合网| 丁香六月啪啪啪| SS丁香五月婷婷| 色五月大香蕉| 大香蕉久久伊人婷婷五月丁香| 亚洲视频在线网| 色999五月色| 五月婷婷色播| 六月婷婷久久| 久久久五月天| 久久婷婷视频| 91久久久久久久久18| 思思久久精品| 国产精品国产| 五月色色网| 色色com| 99视频精品全部免费 在线| 伊久久婷婷| 26UUU一区二区| 久久停停超碰| 丁香亭亭久久| 色爱综合视频| 天天天天做夜夜夜夜做| 岛国AV网站| 97久久香草精品视频| 啪啪啪大香蕉| 日日操夜夜爽天天天| 中文字幕在线观看视频www| 九九久久免费视频44| 久超免费视频| 综合99视频| 久久99jiu9| 婷婷五月丁香国产| 免费97碰碰| 色婷亚洲五月丁香| 色婷网| 99久久精品色老| 香焦网五月天| 色久播播| 天天爽日日爽夜夜爽| 色性五月天| 久久久久人无码人妻| 亚洲性色XXXXX| 色视五月天婷婷| 袁子仪视频观看| 翔田千里aV中文字幕| 青草青草久热这里只有精品| 五月婷婷六月丁香激情综合网| 婷婷5月开心6月| 色婷婷色久综| 婷婷五月天成人| 夜夜资源站| 成人AV在线电影| 中文字幕在线观看视频www| 99无码超碰| 亚洲综合色色色| 另类少妇人与禽zOZZ0性伦| 另类在线免费视频| 色欲久久久久久综合网综合网| 天天久综合网永久入口17v | 爱之国产色情综合| 五月婷婷开心综合| 免费观看的av| 人操人| 97日在线视频| 99热这里精| 激情五月天伊人影院| 久久99精品久久久久久三级| 欧美性做爰大片免费看办公室| 久久大香蕉丁香| 青青草网武则天| 91精品久久久久久综合五月天| 色五月丁香总合网| 天天插天天插| 久9综合| 99热日| 亚洲九九免费| 久久在线大香蕉| 欧美99热| 色婷婷亚洲| 五月噜噜| 日本久久99| 日韩天堂久久| 婷婷五月天性| 开心激情五月天网| 毛片新网地| 亚洲激情免费久久| 久久只有18视频| 九九爱激情| 无码啪啪| 婷婷五月色情| 五月丁香婷婷综合网色欲| 国产在线黄色| 天天噜| 欧洲第一无人区观看| 久久婷婷资源| 丁香婷婷十月| 国产乱妇乱子在线播视频播放网站| 九九中文字幕九| 99在线观看精彩视频| 九九激情| 九九99九九精品视频| 超碰超碰在线| 亚洲国产精品成人免费一区久久久在线观看AAAA | 99久久久久| 九九久久99精品免费观看www| 色色色丁香| 激情五月天开心| 91人人操| 视频一区二区在线| 夜夜干天天操| 99色视频在线观看| 成人Av在线大片| 国产特级毛片AAAAAAA高清| 激情丁香六月| 综合久久婷婷| 国产精品蜜臀99| 亞洲自怕| 久久色婷婷| 六月婷婷日| 精品九九久久| 色婷婷激情五月天在线观看| 97超碰在线免费观看| 久久大大香| 99re热在线视频| 亚洲第一精品网站| 一本道综合网| 久久这里只精品66| 久久性操| 五月丁香激情四射综合| 色色色天堂网| 超级碰碰碰久久网站视频| A久久| 亚洲无码99| 狠狠五月天婷婷激情网。| wWwCom夜操wwW| 久综合色| 开心久久xxx色| 狠狠爱综合| 123草逼网| 探花搜索结果 - 黄上黄| 婷婷六月成人| 东北黄色一级| 九色91视频| 亚洲综合一区二区| 五月丁香亭亭| 人人爱国产| 日本色五月| 色欲资源网| 在线五月色播| 欧美成人无码一区二区三区| 久久婷婷综合国产| 人人操人人看97干| 一级性爱大片| 伊人玖玖网| 久久超视频| 4399人妻无码久久久| 五月天婷婷色色首页| 激情色情五月天| 国产熟女大叫受不了| 色婷婷91| 五月天婷婷乱论小说| 伊人色综合久久久| 九九热免费视频| 亚洲人妻五月丁香婷婷| 狠狠色噜噜狠狠| 久久精品9| 六月丁香视频网站| 久久五月丁香激情综合| 婷婷五月天激情综合网| 五月婷婷AV| 九九激情| 亚洲国产网址| 五月婷婷性爱| 国产高清精品色| 五月婷婷综合在线| www.色婷婷.com| 99精彩视频在线观看| 婷婷五月天首页| 精品成人在线观看| 五月婷婷视频啪啪美女| 色婷婷狠| 8区视频在线| 2020夜夜操天天爽| 婷婷五月丁香91| 少妇大叫太大太粗太爽了A片| 99热www| 色色热99| 日韩在线99| 丁香婷婷天堂| 99精品视频在线观看免费| 婷婷五月天亚洲综合网| 五月丁香在线观看| 操逼国产91| 99精品在线播放| 亚洲黄色精品| 2016日日夜夜操| 久久与婷婷| 逼特逼在线免费播放| 99久久高清视频| 天天操天天爽天天爱| 日本片日本片祼观看网站在线看中文版网页在线看| 99免费在线视频| 亚洲av成人在线| 99综合在线| 五月丁香六月天| 黑人无码一区| 婷婷五月av| 亚洲AV日韩在线观看| 婷婷五月小说色综合| 玖玖在线| 色V狠狠的干| 婷婷激情性爱| 国产韩日亚洲美州欧亚综合在线| w婷婷五月婷婷w| 日本久久婷婷| 丁香久久| 婷婷激情五月天在线视频| 五月天激情综合| 男人天堂AV在线一区二区| 色网五月婷婷| 成人五月天综合网| 欧美色色网| 97福利视频| 久久蜜臀婷婷| 丁香婷婷视频| 九九色插| 日日天天干| 久久精品夜色噜噜亚洲a∨| 99热精品在线| 色5月婷婷色| www.99婷婷| 中文在线成人| 九月婷婷激情久久| 26uuu丁香婷婷五月| 成人做爰高潮A片免费视频| 99极品视频| 99碰碰。| 人人干女人| 色婷婷玖玖影院| 国产真人做爰视频免费| 狠狠色大香蕉| 午夜色丁香| 成人短视频在线观看| 大香蕉色婷婷伊人在线| 久久综合丁香| 这里只有精品视频在线| 开心五月丁香综合久久| 伊大人久久| 中文字幕精品在线观看| 美女亚洲五月丁香| 超碰成人在线免费观看| www超碰| 婷婷五月天天天| 黄色网址五月婷婷| 五月婷婷激情久久| 久久奄也去色色网站| 免费观看高清无码| 99精品网| 夜夜躁爽日日| 色婷婷丁香五月综合| 五月天婷婷色综合| av在线色五月丁香婷区久| 五月婷婷婷婷| 婷婷久久色| 久久久精品色| 人人操Av| 97久久视频| 久99视频在线观看| 久久亚洲天堂| 99热精品网| 久热精彩视频98| 丁香五月激情综合| 99热这里是精品| 亚洲最大视频| www.狠狠操| 91操人| 欧美在线视频99| 成人短视频在线观看| 先锋资源91| 日本3级片偷拍网站| 五月天婷网| 开心久久五月天| 九九热青青草| 猫咪伊人AV| 婷婷狠狠干| 中文字幕丰满人妻无码专区| www.夜夜.com| 美女丁香五月天| 影音先锋秋秋五月婷婷| 天天在线XXX| 黄色99视频| 99热网精品| 97人人操| 人妻22p| 婷婷丁香社区| 99re在线精品视频| 五月伊人婷婷| 日本操天堂| 久9免费视频| 激情99热| 天天激情站| 色婷婷狠狠18yy| 色播六月| 99ri精品在线| 99热在线观看99| 人妻内射麻豆视频| 婷婷黄色| 99狠狠| 色五月丁香一区在线| 五月天婷婷在线观看| 激情小说五月天| 9精品一区| WWW色综合| 五月天停婷基地| 久久加勤综合| 青青草蜜臀| 婷婷激情综合| 婷婷激情九月| 久久婷婷五月天激情四射| 久久精品99国产精品日本| 91肏| 人人操插| 五月天激情久久| 夜夜操,天天撸| 人妻内射一区二区在线视频| site:jszngf.com| 国产婷婷五月天| 精品婷婷丁香五| 天天色综合色色色色色。| 操逼123网| 丁香六月激| 98永久精品| 亚洲影院婷婷色| 五月天婷婷导航| 激情五月丁香五月| 亚洲AV激情五月综合网| 99热这里是精品| 久久丝丝热| www.婷婷六月天| 9精品一区| 五月草影视| 色婷婷性爱网| 五月丁香花婷婷玉莉AV| 91在线人| 婷婷刺激综合| 我爱大香蕉| 4399在线日本A片| 五月天婷婷操逼视频| 天天综合中文| 9操在线| 99在线精品视频| 五月天操逼网| 五月丁香综合在线| 日日色五月天| 超碰免费电影| 97婷婷狠狠| 婷婷射综合| 五月综合丁香婷婷| 色五月婷婷激情综合网| 国产XXXX搡XXXXX搡麻豆| 五月色情网| 五月婷婷 激情按摩| 婷婷五月AV| 97色一二三| 激情欧美丁香五月| 97人人草| 色无婷婷| 91丨九色丨丰满人妖| 婷婷五月丁香啪啪| 无码激情AAAAA片-区区| 久久这里只有精品热在99| 啪啪黄页网| 五月丁香六月婷综合成人综合| 97碰| 亚洲小说五月婷婷| 六月婷婷操逼| 丁香五月影院| 99热99这里只有精品| 中文成人在线| 亚洲另类在线观看| 天天精品视频免费观看| 五月婷婷六月丁香免费| 超碰97在线观看免费| 久久99热这里只频精品6学生| 五月天激情四射| 老师的粉嫩小又紧水又多A片视频| 久久这里只有精品16| 狠狠爱婷婷色| 日本熟妇乱妇熟色A片蜜桃| 丁香激激情网| 五月婷婷色| 热99视频精品在线| 婷婷五月天色色| 777丁香六月青青草婷婷综合久月 五月丁香综合伦理片 | 夜夜骑日日操| 香蕉乱插| 五月综合激情久久| 大香蕉综合网| 五月天久久91| 五月激情开心婷婷| 婷婷色五月丁香六月欧美啪| 婷婷情色五月| 午夜精品人妻无码一区二区三区| www.99久| 五月婷婷五月天在线| 丁香六月天AV| 久久久久激情| 国产操逼视频网站| 97caop| 五月久久婷婷天堂视频| 这里只有精品9| 五月天激情国产综合婷婷婷就去爱| 日韩一级淫乱片一区二区三区| www色色com| 天天久综合| 精品色情一区二区三区四区| 综合久久综合| 欧美人人女女精品综合五月天| 色情五月天小说| 激情文学 综合 九月| 久久综合五月天| 99re6久热只有精品6在线直播| 色五月天综合| 五月丁香好婷婷姑娘综合网| av九九| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 狠狠色综合网| 婷婷五月天成人| 婷婷五月天国产在线播放| 色人五月婷婷| 综合xx网| 激情五月天综合图片小说网站| 91男同| 九九热re99re6在线精品| 五月丁香婷婷欧美色图视频五月丁香777电影| 99在线热| 色综合九九| 色五月激情| 日日懆天天懆| 天天爽天天草| 天天综合天综合| 丁香六月色情| 青青草六月丁香| 天天草狠狠擦| 99re这里只有精品首页| 开心五月丁香啪| 婷婷丁香水多多视频| 国产噜一噜天天噜| 五月人妻婷婷| 五月丁香久久久| 五月丁香网中文字幕| 99在线精品视频观看免费下载| 激情婷婷在线中文字幕| 丁香婷婷性爱| 妻久久久久| 丁香月五月天婷婷久久| 久久五月天激情视频| 天天模,夜夜模夜夜爽| 色婷婷五月天天天做| 激情五月网站| 亚洲精品午夜国产va久久成人| 九九9久九9国产视频| 99热精品在线观看| 熟惀91九色在线| 精品99*| 99在线看片| 丁香花五月天社区| 九热免费视频| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 久久亚洲天堂| 五月天无码| 琪琪秋霞| 深爱婷婷丁香五月激情| 97性视频| 亚洲精品色| 精品人妻一区二区三区在| 亚洲无码影音| 六月丁香六月婷婷欧美| 激情深爱综合| 天天婷婷色六月| 婷婷色婷婷| 五月停停999| 性爱久久| 五月丁香婷婷色播无码| 色欲久久综合| 九九视频这里有精品| 婷婷五月在线视频| www.狠狠操| 97超级碰人人| 99热欧美| 综合激情网激情五月。| 人妻av在线| www.97视频| 日hao1区| 六月婷婷狠狠做| 亚洲色婷婷五月天| 中字幕视频在线永久在线观看免费| 色欲五月丁香| 色五月丁香六月资源站| www99热| 亚洲色五月天| 九九人人看| 丁香五月狠狠在线观看| 狠狠狠色激情综合适合| 国产真实乱对白精彩| 停停综合色色| 婷婷亚洲五月色综合| 麻豆雪千夏| 大地资源色婷婷视频在线| 婷婷激情五月视频| 甈吧vv| 91大屁股精品| 99视频在线看| 9999热这里只有精品| 精品久久9| www.com久久久久久久久久久久久久久久久| 五月天伊人综合| 开心激情久久久久久久| 亚洲操操操| 69人妻人人澡人人爽久久| 开心久久爱五月天| 久热九九| 婷婷色吧| 丁香午夜天| 最近中文字幕大全免费版在线 | 在线99热| 色欲丁香| 婷婷欧美激情综合| 天天草比天天爽| 国产精品第一国产精品| 色五月无码| 婷婷五月激情网| 丁香婷婷五月综合| 婷婷无码五月天| 丁香情色五月| 99精品在线下载| 97人人干| 五月天亚洲最大成人| 色五月综合网| 亚洲九区| 久久精品性爱| 五月久久五月激情| 色色色色综合| 欧美成人无码一区二区三区| 色色色综合网| 91免费在线视频6| www.国产色| 五月丁香婷婷综合久久| 久热人妻| 天天日天天做天天舔| 婷婷五月天激情网| 97成人丁香婷婷| 影音先锋一区二区三区| 秋霞性爱AV| 日日操日日撸| 天天色综合色色色色色。| 色五月丁香网| 丁香五月大片| 国模狼狼| 丁香五月偷拍| 99色干| 天天综合在线网| 五月丁香六月综合情在线观看| 99热这里有精力| 久久永久网址| 99婷婷狠狠成为人免费视频| 99热99热99热99热| 色婷婷影| 开心五月网| 久婷婷五月丁香在线观看| 五月丁香啪啪| 66精品成人免费网站在线观看| 久9久视频精品| 天天天操天天天日| 激情婷婷久久| 伊人久久艹| 日韩激情人伦人| www.婷婷五月.com| 九九精品综合| 激情校园 亚洲| 亚洲精品第一国产综合亚AV | 五月开心久久| 综合激情伊人影视在线| 影音先锋91在线资源站| 色婷婷电影网| 婷婷五月天播| 中文AⅤ大全| 激情六月天婷婷| 开心婷婷五月激情网小说| 天天日中文| 人人草人人爱| 色五月开心五月激情五月| 色99久草在线| 久久五月天婷婷| 狠狠操天天日| 9久久久久久久久久久| 久久九九99| www.com五月天| 91久久久久久| 亚洲视频在线观看区| 欧美一级色| 久久五月婷天天干| 日本片日本片祼观看网站在线看中文版网页在线看| 国产成人精品一区二三区熟女在线 | 丁香五月aV| 婷婷六月综合基地| 激情又色又爽又黄的A片| 婷婷深爱五月丁香| 凹凸探花电影| 超碰免费99| 操操操B| AV在线免费播放| 天天爽天天透天天爱| 爱操人妻| 婷婷激情四射五月天| www.99热| 婷婷丁香花五月天| 九九免费精品| 色色婷五月天| 丁香五月婷婷激情小说| 亚州色综合| CHINESE熟女老女人HD视频| 人人操AV| 欧美狠狠地| 九九精品片一| 人妻人人操| 亚洲欧洲一二| 久久久亚洲成人无码A片| 久久婷婷六月综合综合| 中文字幕综合| 天天舔天天爽| 久热这里只有精品99re| 开心五月丁香婷婷| 99爱在线| 日本女va| 丁香色五月直播| 五月丁香激情综合六月涩涩爱| 亚洲第一成人AV| 国产肥白大熟妇BBBB视频| 中文字幕黄色片| 色五月婷婷一二| 久噜久噜| 五月婷高清视频| 伊人久久婷婷| 日夜操B| 51成人| 日日噜噜久久婷婷五月天| 国产精产国品一二三在观看| 亚洲操人| 少妇人妻偷人精品无码视频新浪| www色婷婷| 七七九色| 婷婷五月天影院| 婷婷精品在线| 色情五月天丁香社区| 欧美激情综合五月色丁香| 99热99热| 99愛国产| 天天操婷婷| 五月丁香婷婷基地| 可以看的AV| 99精品视频免费观看| 婷婷丁香18| 播四月婷婷六月丁香| 丁香五月激情啪啪| 激情综合一| 婷婷激情图片| 久久五月激情| 色婷婷久久综合中文久久一本| xx久久| 97人人操人人干| 99re在线精品视频| 99热精品在线观看| 五月丁香综合啪啪| 成人五月丁香花| 天天射天天操天天干| av网站免费在线| 九九久久9 9在线观看| 婷婷六月丁综合| 性色综合网| 亚洲国产网站| 超碰人人在线| 【乱子伦】黄色| 婷婷五月丁香色情| 亚洲五月情| 丁香五月天堂网| 五月丁香啪综合| 五月婷婷六月丁香综合在线| 九九色综合| 五月婷婷久久网| 久久全色| 色婷婷五月天中文字幕| 婷婷六月丁香1| 五月婷婷久草在线视频综合| 日日日日日| 99精品无码| 激情人妻蜜夜系列区| 丁香婷婷久久综合在线| 九月婷婷激情| 久这里只有精品99| 色五月六月| 激情九九这里只有精品| 9久国产精品| 99成人| 亚洲婷婷综合视频| 久操大香蕉| www.亚洲激情| 婷婷五月天亚洲综合| 久久综合丁香五月| av网站中文| 天天摸天天肏| 偷拍丁香九月激情| 久久综合五月天| 99热这里只有精品13| 9l视频自拍九色9l视频在线观看| 99热这里都是精品| 五月婷婷草| 日韩好吊操| 久久婷婷五月| 天天天天干| 毛片蕉地一二| 日日操夜夜操狠狠操| 五月婷婷婷自由综合| 五月丁香亭亭操逼| 日本操天堂| 免费黄色片子| 久久五月激情网| 激情久久久久| 丁香六月综合| 开心五月婷婷在线视频免费观看| 思思99久久| 人妻在线观看视频| www.激情五月天.com| 九九99精品视频| 99久久婷婷国产综合精品| 性爱AV天堂| 青青草五月天| 97久久婷婷色| 色色色视频免费无码| 久9久9久9久9久9久9| 久久五月热| 99视频在线观看欧| 天天干狠狠| 91网站黄| 天天爽天天干天天| 热99玖玖99玖玖99九九| 日韩a热| 男女99免费视频| 97精品综合久久内射| 人妻自慰高清合集| 日韩中文字幕| 天天爱天天做综合| 天天色视频| 婷婷五月天激情网| 婷婷在线播放| 久久久jd| 天天干夜晚夜操| 日韩啪啪自拍| 天天干com| 91色综合久久| 思思热在线视频99| 亚州在线中文字幕| 加勒比色色| 欧美 日韩 人妻 高清 中文 | 久久这里只有精品07| 色婷婷电影网| 另类小说五月天| 99久久6| 色婷婷色99国产综合精品| 亚洲熟女色| 五月丁香激情综合六月涩涩爱| 丁香婷婷六月男男| 色九九丁香九月色九九色| 五月天欧美 另类小说| 精品国产乱码久久久久夜深人妻| 爱草视频在线观看| AA片在线观看视频在线播放| 春色激情第四色| 国产肥白大熟妇BBBB视频| 色情五月天首页| 亚洲情综合五月天| 激情文学综合婷婷五月天丁香花| 丁香五月在线视频| 成人做爰A片免费看视频| 五月天色婷婷av| 亚洲无码影音| 色色COm| 婷婷色在线视频| 日亚二欧美| 五月天婷婷综合久久| 久久婷婷六月综合| 丁香五月天五码婷婷| 丁香六月丁香婷婷激情| 激情五月天com| 9精品视频在线| 激情五月丁香五月| 亚洲五月婷婷在线| 婷婷五月丁香性爱| 六月婷婷综合| 99色色热| 五月天激情网站| 啪啪激情网站| 九九99香蕉在线视频播放| 在线观看av网站| 99热这是里只有精品| 国产性爱在线| 综合网啪| 女性自慰系列第五页| 久久五月天激情| 九九热只有精品| 婷婷五月色| 五月天综合在线网| 日本婷久久| 五月色婷婷综合色| 超碰永久在线| 四色99久久| 狠狠操性爱av| 狠狠爱激情网| 国产操B| 第四色五月婷婷| 国产精品色色色色| 丁香天堂夜| 激情综合网五月婷婷| 五月天婷婷激情春色小说| 婷婷五月天电影网| 99久久久99久久91熟女| 97婷婷五月丁香| 久久丁香五月天| www.夜夜.com| 丁香五月婷婷六月婷婷| av首页在线| 九九aV| www.99热精品| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 中文字幕在线资源| 九九色婷| 九九热超碰| 五月婷婷69| 操逼123网| 自拍偷窥99热| 超热久碰.com| 国产激情视频在线观看| 欧美综合激情五月丁香| 久热亚洲| 久777| 五月激情综合网| 停停五月色宗合| 可以免费看AV网站| 日本人妻丁香婷婷久久寝取熟女五月| 丁香婷婷午夜| 亚洲视频在线网站| 天天做天天爽| 午夜成人AV在线| 亚洲婷婷性爱| 色五月av| 4399人妻无码久久久| 综合五月丁香六月婷婷| 九九这里是免费的视频5| 激情五月瑟瑟| 影音先锋男人av资源站| 色婷婷99| 99久久久久| 偷拍91九色| 婷婷色六月| 九九综合久久| wwwC0maV五月花| 久久久久久草黄色片AV在线观看| 深爱激情中文五月天av| 五月天堂色色| 丁香花操逼| 97操在线资源| 九九色插| 五月婷九九草| 影音先锋一区二区资源站| 狠狠色丁香乆乆| 婷婷久久综合| 国产精品人人做人人爽人人添| 亚洲九区| 99精品视频在线观看| 九九热这里只有精品6| 九热免费视频| 日本超碰在线| 天天操加勒比| 99精品在线播放| 丁香六月婷婷综合在线| 天天插天天操| 深爱五月婷婷| 婷婷五月天综合在线| 婷婷五月天六月丁香| 婷婷开心激情五月激情网| www.日日夜夜.com| 丁香五月播播| 人人干99| 五月婷婷丁香六月| 九九色热| 色婷婷狠狠禁18久久| 99年操人人爽| 五月天天综合网色婷婷| 99精品九九| www.久久爱.c n| 超级碰碰91| 国产日批视频免费播放| 思思久久96热在精品国产,| 丁香亚洲婷婷五月| 六月丁香VA| 色婷婷日本| 婷香五月激情视频| 色情综合网| 婷婷五月丁香四射| 99亚洲精品视频| 天天射美女| 激情五月综合免费| 五月丁香六月婷婷玖玖| 色婷狠狠| 婷婷九月丁香| 亚洲午夜成人av电影网| 欧美久人人| 日韩狠狠色| 日韩AAA| 天天爽综合网| 91精品无码| 能直接看的av网站| 被强行糟蹋的女人A片| 丁香97综合| 操人久久| 99视频精品8 | 久久婷婷激情五月天一区二区| 色久婷婷网| 狠狠操狠狠插| 五月婷婷六月丁香| 在线只有精品| 久久日曰| 欧美日本VA| 丁香婷婷六月在线资源观看| 激情五月天天狠狠久久| 另类少妇人与禽zOZZ0性伦| 五月丁香另类网| 久久综合五月天| 99国产性感视频| 亚洲视频二区| 久久99久久99www| 99九九综合久久九九| 天天天添天天操| 色综合久久88色综合天天99| 色狠狠色噜噜AV天堂五区| 色色色色色五月| 久热这里有精品视频| 色婷婷日本| 大香蕉久久综合网| 丁香六月婷婷综合激情欧美| 丁香五月婷婷手机| 99热18| 91九色成人原创视频| 国产精品操| | 高清无码入口| 久婷视频| 五月丁香综合啪啪対白| 精品女人九九九| 影音先锋AV男人站| 激情黄色五月天| 久久久精品AV| 亚州综合色| 91热er| 97资源欧美日韩大香蕉超碰一区| 97碰91| 亚洲亚洲激情| AV九九| 98色花堂98t.R| 欧洲免费视频色| 亚洲国产精品VA在线看黑人| 99热老司机| 中文久久婷婷| 去色色五月天| 五月丁香好婷婷A片网| 婷婷五月天久久久| 91色色色18| 久青草影院| 日韩AV中文字幕在线| 日日婷婷不卡| 99热在线观看| 欧美影院婷婷| 可以看的av| 色婷婷综合在线| 激情综合色| 国产在线激情视频| VA婷婷| 色婷婷小说| 国产熟女一区二区三区五月婷| 婷婷六月丁香欧美视频在线| 亚洲啪啪自拍| 洗浴中心操B视频| 最近免费中文字幕大全高清大全1| 五月花综合网| 综合色播| 六月丁香五月激情亚洲AV| 九九伊人网| 五月丁香婷婷在线| 在线播放成人网站| 71在线精品视频一区| 丁香六月婷婷综合欧美| 超碰京东热av男人的天堂| 另类综合网| 99久久天堂婷婷| 欧美一级操逼视频| 久久五月天精品视频| 日本五月婷| 色五月天丁香婷婷| 国产成人高清| 激情综合亚洲| 六月综合婷婷开心伊人| XXXX岛国| 婷婷视频在线碰| 丁香五月天BBw| 色播色丁香五月| 九九99香蕉在线视频播放| 九九偷拍网| 大香蕉伊人久久| 开心五月婷婷五月| 亚洲精品又粗又大又爽A片 | 久8色色| 成人va在线| 色五月婷婷综合在线| 丁香五月激情婷婷视频| 五月激情啪啪| 日韩精品无码99| 啪啪操超碰| 婷婷久草| 九九热这里只有精品9| 校园春色亚洲色| 综合伊人久久| 九九热这里精品| 色五月婷婷777| 激情第四色| 色五月丁香总合网| 超碰成人公开| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 五月婷婷AV| 五月天婷婷激情小说| 亚洲在线成人| 国产精品色色| 亚洲精品色色色| 婷婷色吧| 日日夜夜天天| 99在线精品在线视频| 久久女人天堂| 亚洲春色奇米影视| 婷婷五月天无码| 天天搞夜夜六| 99热这里都是精品| 激情五月婷婷五月| 99这里只有精品8| 超碰免费观看| 婷婷五月天色播| 人人爱国产| 综合五月婷婷| 99九九热播在线免费视频| 大香蕉av在线| 天天精品视频在线观看视频| 伊九九三级区| 国产探花一片区| 91久久久久久| 五月在线| 色亚洲婷婷| 97色色综合| 9色婷婷| 99久在线精品99re8| 播五月丁香六月| 婷婷激情五月天天天开心| 91好好热日本在线| 成人午夜天| 久久伊人大香蕉| 婷婷无码五月天| 天天爱天天做天天舔| 久久婷婷成人| 亚洲网在线观看| 九色视频91| 日日杆天天| 久久视频这里都是精品| 九九这里是免费的视频5| 嫩草视频| 91久久婷婷| 激情网婷婷五月天| 欧美va欧美va差| 91综合色| 99热 在线播放| 在线精品97| 337p大胆噜噜噜噜噜91Av| 中文字幕,综合,91| 丁香五月婷婷激情蜜桃| 婷婷五月大香蕉| 视频1区2区| 五月婷婷丁香五月| 精品国产乱码久久久久久免费| 五月天色丁香| 久久网日本| 五月婷婷综合在线视频小说| 深爱激情久久| 影音先锋激情网| 天天五月丁香五月| 色婷婷导航| 日本在线视频www色| 婷婷五月超碰| www.9色色色| 中文字幕91,综合| 国产乱人偷精品人妻A片| 婷婷五月天福利| 色婷婷狠狠| 无码99| www,天天干| 五月婷婷真爱激情网| 狠狠操之狠狠操| 欧美大奶熟女噜噜噜噜| 久久永久网址| 六月五月丁香五月欧美| 色色爽爽天天| 婷婷久久五月| site:xmssd.com| www99热| 五月丁香六月婷婷综合在线| 五月丁香激情综合网| 欧美97超碰| 夜夜干夜夜操| 狠狠搞狠狠操| 欧美日韩成人| 成人综合网站| 97自拍视频在线| 天天日日夜夜| 裸睡玩奶头(高H)| 成人超碰网| 亚洲旡码| 五月天激情四射| 色播五月丁香| 天堂美国久久| 91在线精品一区二区| 色色婷婷婷丁香五月天| 久婷自拍视频| 色综合区| 丁香五月天导航| 五月天开心色情网| 色丁香五月婷婷在线| 热久久66| 天天狠狠色综合| 色五婷婷在线视频| 67194成I人在线观看线路1| 婷婷色综合| 99热久久这里只有精品| 日韩av在线播放综合网| 五月情涩综合婷婷| 婷婷丁香五月视频| 五月婷色丁香| 二色AV| 色婷婷五月天激情综合| 亚洲天天| 超碰色综合| www.久久久久久久| 欧美日本VA| 丁香六月婷婷| 99色婷婷视频| 狠狠爱深色婷婷综合| 成人免费网站免费看| 久久激情五月网| 综合亚洲六月婷婷在线| 天天狠狠色| 91男同| 九九热这里| 色域五月丁香| 超碰人人干| 99re在线观看| 免费99情趣网视频| 五月综合婷婷五月| www.夜夜操.com| 久99999热视频在线观看免费| 色吊丝99| 狠狠操天天操| 免费观看的婷婷五月视频在线| 亚洲综合五月天婷婷丁香| www久久99| 欧美色碰| 性爱网久久| 26uuu欧美日本| 激情五月丁香五月| 婷婷性爱五月天丁香网| 成人精品人妻| 色婷婷在线视频综合| 天天噜| 51XX午夜影福利| 97成人丁香| 色婷婷色五月另类综合| 色婷婷丁香五月天| 色九区| 日韩大片艹艹| 色色色色av777| 91人人网| 91久女| 丁香五月天信号| 六月婷婷色色色| 国产精品电影| 色婷婷色综合| 影音先锋 91工厂| 超碰亚洲天堂| 七七色综合| 综合五月草| 色婷婷五月综合在线| 香蕉99网| 伦乱美欧| 成人婷99最新| 天堂五月婷婷| 亚洲精品激情| 日韩成人无码| 婷婷99狠狠躁| 国产FREESEXVIDEOS性中国| 九月av| 小视频aaa久久久| www.91.com处女在线直播| 密桃激情五月天综合网| 色日本五月天| 综合性爱网| 99在线免费视| 人人操AV| 丁香六月婷婷综合啪啪| av在线色五月丁香婷区久| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 色婷婷五月天激情在线观看| 99久久国产宗和精品1上映| 婷综合| 婷婷五月天成人| 亚洲成Av人片乱码色第1集| 婷婷色婷婷亚洲成人| 无码啪啪| 婷婷久久精品| 色五月婷婷网| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 99视频在线| 久草A片| 色五月综合网| 国产婷婷色五月| 猫咪伊人久久| 九九久久99精品免费观看www| 九九热啪啪| 中美日韩成人在线| 色婷婷五月天| 亚洲色图日韩网址| 99热这里只有精品99| 都市激情亚洲| 五月婷婷av| YW无码| 久久国产色| 成人免费在线电影|