精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

活動中臺系統慢 SQL 治理實踐

數據庫
活動中臺系統作為中臺項目非常注重系統性能和用戶體驗,數據庫系統性能問題會對應用程序的性能和用戶體驗產生負面影響。慢查詢可能導致應用程序響應變慢、請求堆積、系統負載增加等問題,甚至引發系統崩潰或不可用的情況,因此,需要在數據庫系統中針對執行緩慢的SQL查詢進行優化和改進。

活動中臺系統作為中臺項目非常注重系統性能和用戶體驗,數據庫系統性能問題會對應用程序的性能和用戶體驗產生負面影響。慢查詢可能導致應用程序響應變慢、請求堆積、系統負載增加等問題,甚至引發系統崩潰或不可用的情況,因此,需要在數據庫系統中針對執行緩慢的SQL查詢進行優化和改進。本文主要介紹活動中臺系統針對慢SQL問題的實踐治理案例。

一、慢 SQL 的含義

1.1 慢 SQL 的含義

慢SQL是指執行時間較長的SQL查詢或操作。真實的慢 SQL 通常會伴隨著大量的行掃描、臨時文件排序或者頻繁的磁盤 flush ,直接影響就是磁盤 IO 升高,讓正常的 SQL 變成了慢 SQL ,大面積執行超時。

大家不要被慢查詢這個名字誤導,以為慢查詢日志只會記錄 select 語句,其實也會記錄執行時間超過了long_query_time設定的閾值的 insert、update 等 DML 語句。

1.2 慢 SQL 的危害

從業務的角度來看:慢 SQL 會導致產品用戶體驗差,會減低用戶對產品的好感度。

從數據庫的角度來看:慢 SQL 會影響數據庫的性能,每個 SQL 執行都需要消耗一定的 I/O 資源。假設總資源是100,有一條慢 SQL 占用了30的資源共計1分鐘。那么在這1分鐘時間內,其他 SQL 能夠分配的資源總量就是70,如此循環,當資源分配完的時候,所有新的 SQL 執行將會排隊等待。

二、慢SQL是怎么產生的?

【缺乏索引】:如果在查詢中涉及到的列沒有適當的索引,數據庫系統可能需要執行全表掃描來找到匹配的行,從而導致查詢變慢。

【查詢條件不當】:查詢條件過于復雜、使用了不必要的 JOIN 操作、存在子查詢等,都可能導致查詢性能下降。

【數據量過大】:當數據表中的數據量非常龐大時,即使有索引,查詢也可能變得緩慢。

【鎖等待】:如果查詢需要訪問被其他事務鎖定的資源,就會導致查詢阻塞,執行時間變長。

【硬件資源不足】:數據庫服務器的硬件資源(如 CPU、內存、磁盤)不足以支撐查詢的執行,也會導致查詢變慢。

【不合適的數據庫設計】:數據庫表的設計不合理,如過度范式化、冗余數據等,會導致查詢性能下降。

【統計信息不準確】:數據庫的統計信息不準確會導致查詢優化器做出錯誤的執行計劃,影響查詢性能。

三、慢 SQL 治理實踐

3.1 問題分析和解決方案

通過監控平臺發現,項目的慢 SQL 數量較多,每天可能會產生幾千甚至上萬的慢 SQL,這對系統性能和用戶體驗都有不小的影響,因此,優化慢 SQL 問題值得被重視。我們從以下幾個方面進行排查和分析:

圖片

1.數據量

我們都知道,同樣的 SQL 語句,對于不同數據量的庫表,查詢效率也不一樣,當數據量達到千萬級甚至上億,普通的查詢語句執行時間可能也會超過一秒,進而出現慢 SQL 問題。

經過排查,發現不少庫表的數據量已經達到千萬,個別分表的數據量已經達到一億多,幾年前的歷史數據仍然保留,需要進行人工清理。

針對數據量對 SQL 執行帶來的影響,我們可以從三個方面解決:

(1)清理數據

最直接的方式就是將無效數據清理,很多幾年前的數據,幾乎沒有存儲的價值,可以直接提交刪除語句進行清理掉,當然,我們在刪除時要注意線上影響,避免一次性刪除太多數據,容易造成線上數據庫效率受到影響,對于單個分表可以采用分批刪除,每一批只刪除一個時間段;對于多個分表可以按照分表去刪除,盡量減小對線上環境的影響。

以活動中臺系統的答題活動為例,隨著答題活動幾年的運行,數據庫已經有大量的用戶數據,目前線上數據量很多到了千萬級,個別到了上億的數據量,這對線上訪問影響很大。

所以我們進行手動清理數據,目前線上一共10張分表,考慮到對線上用戶業務的影響,我們通過兩方面減小影響

一是分五次進行清理,每次只清理2~3張分表;

二是將刪除語句轉化為根據主鍵刪除,大大提升 SQL 語句執行的效率。

最終清理掉大量的活動數據,我們采用的刪除策略是將一年以前的歷史數據進行刪除,這部分數據已經不會用到,這個時間范圍清理掉了大量的無效數據。

(2)分庫分表

手動清理數據雖然能解決問題,但是治標不治本,而且對于一些特殊的活動,可能留下的數據量仍然很大,這個時候如果庫表的數據量仍然較大,且不能進行刪除,就要考慮分庫分表是否足夠,可能之前出于業務考慮沒有進行分表或者分表數量較少,這個時候就要考慮進行更多的分表,以提升數據庫訪問的效率。這里如果可以的話最好設置分表策略,建立配置項,靈活擴充分表,避免直接發版。

活動中臺系統會有一張單獨的路由表,記錄分表路由,便于快速查詢分表。

同時可以把路由相關配置直接建立在配置中心,無須發版就可以快速擴分表。可以根據數據量大小創建10、20、50、100張分表。

(3)大數據量查詢移步ES數據庫

當然,對于一些響應要求比較高的業務需求,MySQL 數據庫的性能可能無法達到要求,這個時候可以考慮將數據存儲在 ElasticSearch 數據庫或者緩存當中。

2.SQL 語句

數據庫的數據量是重要的影響因素,但是 SQL 語句本身更會影響執行的效率,規范的 SQL 語句是避免慢 SQL 的前提。根據下圖可以看出,SQL 的執行順序為:

  • 首先執行 from、join 來確定表之間的連接關系,得到初步的數據。
  • 然后利用 where 關鍵字后面的條件對符合條件的語句進行篩選。
  • from & join&where:用于確定要查詢的表的范圍,涉及到哪些表。

圖片


那么根據這個執行順序,我們來看下 SQL 執行過程中常見的問題有哪些?

(1)查詢字段

我們在項目中查詢最常用的是返回整個 DO 層對象,但其實很多時候我們只需要其中幾個字段甚至一個字段,這個時候查詢整個對象是很不劃算的,比如下面這個例子,該語句在數據庫管理器中的執行結果如下,執行時間為9269ms。

select * from a where id = 0;

然而我們只是想查詢指定活動下的單個字段,這個時候可以不需要返回其他字段,只返回需要的字段,優化后示例如下,執行時間為4104ms,明顯執行時間變短了。

select result from a where id = 0;

(2)索引問題

索引在數據庫查詢中是一個很重要的影響因素,走不到索引和走到索引是有很大的區別的。但是索引有弊也有利:

優點

  • 提高查詢語句的執行效率,減少 IO 操作的次數
  • 創建唯一性索引,可以保證數據庫表中每一行數據的唯一性
  • 加了索引的列會進行排序,在使用分組和排序子句進行查詢時,可以顯著減少查詢中分組和排序的時間

缺點

  • 索引需要占物理空間
  • 創建索引和維護索引要耗費時間,這種時間隨著數據量的增加而增加
  • 當對表中的數據進行增刪改查時,索引也要動態的維護,這樣就降低了數據的更新效率
  • 所以合理的設置索引并利用索引是高效執行SQL的重要因素。

以下面這個案例來分析:

CREATE TABLE `table_test` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`test` varchar(128) NOT NULL DEFAULT '' COMMENT '索引測試字段',
............
`result` varchar(128) NOT NULL DEFAULT '' COMMENT '結果測試字段',
PRIMARY KEY (`id`),
KEY `test` (`test`),
) COMMENT='記錄表';

這是活動平臺系統紀錄的數據表,其中【result】是唯一的,這里可以看到索引沒有涉及【result】,如果我們根據這個字段去查詢唯一記錄,看下執行結果如何:

圖片

耗時4286ms,這里根據建表語句可以看到有索引【KEY test (test)】,如果我們根據索引字段來查詢該條記錄的話,看下執行結果如何:

圖片

可以看到只需要16ms,索引對數據庫效率的提升至關重要。我們可以根據 explain 關鍵字來解析一下 SQL 語句,比如剛才的案例,我們來看下相應的結果:

圖片


圖片

可以看到,直接根據非索引字段【result】查詢,type 字段值為【ALL】,代表遍歷全表,掃描行數為3144273,如果帶上索引字段【test】,type 字段值為【ref】,代表匹配到單行記錄值,掃描行數為1,顯然通過索引查詢效率得到了極大的提升。對于索引的使用會出現以下幾種常見類型

ALL:全表掃描,表示 MySQL 將遍歷整個表以滿足查詢條件。這通常是效率最低的訪問類型,應盡量避免。

index:索引全掃描,表示 MySQL 將遍歷整個索引以滿足查詢條件,而不是遍歷整個表。雖然比全表掃描效率要高,但仍然需要遍歷索引的每一行。

range:范圍掃描,表示 MySQL 使用了索引的一部分來滿足查詢條件,例如使用了索引的某個范圍。這通常發生在有范圍查詢條件時,例如使用了 WHERE 子句中的 BETWEEN、>、< 等操作符。

index_merge:索引合并,表示 MySQL 使用了多個索引來滿足查詢條件,然后將結果合并。這通常發生在查詢中有多個條件,每個條件可以使用不同的索引來訪問數據。

unique_subquery:唯一子查詢,表示 MySQL 使用了子查詢來獲取唯一的結果,并且子查詢使用了唯一索引。

const:常量,表示 MySQL 使用了常量表來獲取結果,這通常發生在查詢條件中包含了常量值。

ref:引用,表示 MySQL 使用了非唯一索引來掃描表,通常發生在查詢中使用了單個索引列作為條件。

(3)聯表查詢

JOIN】關鍵詞在項目的日常查詢中可能會遇到,對于一些管理臺項目可能要求較低,可以作為日常開發查詢語句,但是對于面向用戶的項目,由于數據量較大,往往需要避免聯合查詢的使用。以下面這個案例來分析:

select * from a left join b on a.id = b.id where a.id = 0;

這個SQL是聯合多張表進行聯合查詢,還有其他查詢條件,執行得出結果時間為1432ms,超過1秒則為慢 SQL,這里聯合兩張表,如果相關的數據量較大,則執行速度會較慢。我們可以將 SQL 拆分為兩個語句執行,拆為以下兩個 SQL 分步執行:

select * from a where id = 0;
select * from b where id = 0;

分步獲取數據庫結果后再進行聚合,分步執行結果分別為728ms和744ms,聯合查詢拆分為簡單查詢可以有效減少慢 SQL,同時可以提高SQL查詢的復用性。

(4)條件查詢

在項目的日常開發中,SQL 語句切忌使用復雜查詢,這會對數據庫造成較大的壓力。下面這個例子就是使用了比較復雜的條件查詢:

select * from a where id in (select id from b) and time > '2024-03-29';

使用查詢條件的同時還嵌套了查詢語句,除此之外還夾雜了聯合查詢,語句已經比較復雜,我們來看下查詢結果:

圖片

可以看到執行時間非常緩慢,達到12648ms,這個SQL的背景是用于業務對賬,雖然使用的是離線數據庫,但是仍然不能忽視它的風險,每天大量的執行這種復雜 SQL,還是對業務有一定的風險影響。考慮到業務價值單一,復用性不高,我們可以直接冗余一份數據到單獨的表里,避免復雜查詢,直接一步到位解決對賬帶來的慢 SQL 問題。

3. 整體策略

清理完數據庫的無效數據,優化完 SQL 語句本身,可能還是會出現慢 SQL 問題,這個時候我們要考慮下,是否可以優化整體的數據庫交互策略,以活動中臺系統的數據清理慢 SQL 為例。

活動中臺系統創建了一個定時任務,每天凌晨執行一次,對數據庫的無效歷史數據進行統一清理,具體刪除哪些庫表、什么時間段、什么條件都由配置項靈活控制,配置項示例如下:

"分表數量":7,
"表名":table,
"條件":condition

包括分表的數量、要刪除數據的表名、查詢的條件信息,查詢條件對應SQL語句中的【where】信息。執行流程如下圖:


圖片

整體上看刪除策略很通用,條件配置靈活,可以同時應對不同分表、不同查詢條件等。但是線上運行發現會產生大量的慢SQL,可能每天就會產生幾千條。

主要原因如下:

  • 會出現聯表查詢的情況,數據量較大的表會出現執行時間超過一秒的 SQL 語句;
  • 刪除策略中時間是重要的因素,但是時間往往不會設置為索引字段,所以很難充分利用索引;
  • 刪除策略會掃描所有分表,但是很多分表可能全部掃描也沒有需要刪除的數據,會出現無效執行的情況。

針對以上策略,我們進行了綜合改進,主要措施有以下幾條:

  • 避免聯表查詢,盡可能的拆分為簡單 SQL 執行;
  • 不要從時間維度直接出發,而是從活動維度出發,如果一個活動結束時間較長,那么這個活動相關的數據自然不再需要,可以直接刪除;
  • 利用分表路由信息,從活動本身出發快速路由到相關分表,減少 SQL 語句的無效執行。

修改完的配置項如下:

"分表數量":7,
"表名":table,
"條件":condition,
"刪除數量":1,
"刪除策略":1,
"開始時間":"",
"結束時間":""

包括分表的數量、要刪除數據的表名、查詢條件、每次刪除的數量、開始時間和結束時間,在這個時間范圍內的活動都符合條件,整體上看刪除策略更為通用,條件配置更加靈活。優化的刪除策略流程圖如下:

圖片

從圖中可以看到,我們保留原有的刪除策略,避免個別數據表沒有活動信息和分表信息,只能單純根據時間掃描刪除;除此之外,對于有活動信息的數據,我們會先查詢活動,根據活動去刪除,如果數據表是根據活動進行分表,則直接查詢路由信息,并刪除指定分表的數據即可,也就是圖中的第三種策略,線上大部分的數據都會按照第三種策略執行,如果有活動信息但是未按照活動進行分表,可能按照用戶等維度進行分表,則可以根據活動信息進行刪除,也可以有效避免慢 SQL 的出現。

3.2 治理效果

經過對慢 SQL 的專項治理,活動中臺系統的慢 SQL 數量由幾千個,穩定在了兩位數,有效減少了慢SQL的數量,進一步提升了系統穩定性。

圖片

四、經驗總結

  • 治理慢 SQL 的根本是從源頭避免慢 SQL,項目組內部必須達成高度一致,根據編碼規范進行前置避免慢 SQL 的出現。
  • 離線數據庫不能成為忽視慢 SQL 問題的原因,仍然會有影響線上業務的風險,數據庫實例如果是混合部署的方式,可能離線庫所在的機器有其他業務的主庫,而且如果從庫延遲嚴重會影響主從故障切換。
  • 數據庫的合理設計不能依賴后期重構,一開始就要盡可能的考慮充分。
  • 慢 SQL 治理過程中出現的問題可以及時復盤,避免團隊其他成員繼續踩坑。
責任編輯:龐桂玉 來源: vivo互聯網技術
相關推薦

2024-10-23 21:21:32

2021-08-03 17:15:19

SQL 慢 SQL

2022-01-10 09:44:41

MySQL數據庫開發

2025-03-27 03:22:00

2022-02-28 08:09:14

sql分頁查詢

2022-03-30 17:13:23

慢 SQL字節查詢

2023-02-24 13:29:11

2023-08-02 10:58:18

SP_WHOSQL Server

2019-05-28 23:00:45

數據中臺大數據開源工具

2022-11-24 08:50:07

數據中臺Data Catal

2023-01-31 15:27:13

數據治理數據管理

2024-07-30 08:54:03

2022-12-30 11:46:00

數據中臺

2023-08-14 07:28:02

2023-06-05 07:24:46

SQL治理防御體系

2022-10-21 10:40:08

攜程酒店MySQL慢查詢

2025-11-13 08:31:23

2023-08-07 08:40:24

2024-03-26 06:46:52

大數據數據治理大數據資產治理

2025-03-13 06:48:22

點贊
收藏

51CTO技術棧公眾號

26uuu亚洲伊人春色| 精品国产第一区二区三区观看体验| 免费国产在线精品一区二区三区| 天堂免费在线视频| 日本一区二区三区视频| 日韩一区二区免费在线电影| 免费看日本毛片| 在线毛片网站| 成人的网站免费观看| 国产精品成人播放| 国产一级视频在线观看| 亚洲瘦老头同性70tv| 欧美日韩国产高清一区| 成人午夜视频在线观看免费| 成人在线免费观看| 成人高清视频在线| 国产美女搞久久| 成人毛片18女人毛片| 五月天综合网站| 亚洲欧洲国产伦综合| 波多野结衣办公室双飞 | 国产欧美日韩亚州综合| 成人91视频| 中文字幕免费高清在线观看| 一区二区日韩免费看| 久久久国产视频91| 亚洲色图日韩精品| 亚欧日韩另类中文欧美| 欧美大片在线观看| 爱豆国产剧免费观看大全剧苏畅 | 国产精品美女久久| 黄色片视频网站| 欧美女激情福利| 久久国产一区二区三区| 性欧美一区二区| 日韩av网址大全| 日韩一级二级三级| 欧美午夜aaaaaa免费视频| av资源网在线播放| 亚洲综合在线观看视频| 美女在线免费视频| 欧美性天天影视| 国产精品三级视频| 五月天丁香综合久久国产| 能在线看的av| 91免费看视频| 久久久久网址| 日韩黄色影片| 91麻豆免费视频| 九九九九九精品| 亚洲人在线观看视频| 成人一区二区三区视频在线观看| 99影视tv| 黑人精品一区二区三区| 国产精品亚洲午夜一区二区三区| 亚洲va欧美va国产综合剧情| 国产又粗又长视频| 国产精品资源在线看| 亚洲伊人第一页| 国产av无码专区亚洲a∨毛片| 极品少妇一区二区| 91免费看国产| 亚洲国产成人精品一区二区三区| 国产白丝网站精品污在线入口| 99久久精品久久久久久ai换脸| av中文字幕免费| 成人午夜在线播放| 精品一区二区三区国产| 精品视频二区| 国产精品视频一二三区| 制服诱惑一区| 欧美hdxxxxx| 黑丝美女久久久| 成人黄色一区二区| 亚洲精品一区av| 欧美v日韩v国产v| 免费无码一区二区三区| 精品国产一级毛片| 欧美xxxx14xxxxx性爽| 国产一级免费av| 蘑菇福利视频一区播放| 国产欧美精品一区二区| 午夜精品久久久久久久爽 | 欧美体内she精视频| 污污网站在线观看视频| 亚洲小说春色综合另类电影| 亚洲国产精品久久久久| 久久精品无码一区| 最新欧美人z0oozo0| 4k岛国日韩精品**专区| 在线观看亚洲国产| 成人午夜大片免费观看| 视频一区二区三区免费观看| av色综合久久天堂av色综合在| 亚洲大型综合色站| www.色就是色| 国产一区二区三区亚洲| 中日韩美女免费视频网站在线观看 | 久久久久久久久久久久久久久99| 综合视频在线观看| 黄色污网站在线观看| 欧美日韩色综合| xxxx黄色片| 欧美在线免费| 国产精品美女在线| 人妻91麻豆一区二区三区| 中文字幕第一页久久| 国产av麻豆mag剧集| 香蕉久久一区| 亚洲欧美日韩第一区| 欧美成人精品一区二区免费看片| 亚洲免费网址| 成人动漫视频在线观看完整版| 国产美女性感在线观看懂色av| 一区二区三区高清在线| 免费精品99久久国产综合精品应用| 精品亚洲免a| 欧美成人在线免费视频| 亚洲免费视频二区| 久久青草国产手机看片福利盒子 | 国产传媒一区| 在线免费av电影| 色拍拍在线精品视频8848| 深田咏美中文字幕| 亚洲精品一区二区在线看| 国产成人综合久久| 偷拍自拍在线| 婷婷综合另类小说色区| 91精品国产高清91久久久久久 | 久艹在线免费观看| 嫩呦国产一区二区三区av| 综合欧美国产视频二区| 国产一卡二卡三卡| 91啪九色porn原创视频在线观看| 国产二区视频在线| 99久久香蕉| 欧美成人精品一区| 国产色在线视频| 中文字幕在线观看一区| 一级片视频免费观看| 成人羞羞网站入口| 国产成人综合一区二区三区| 欧美日本网站| 色呦呦网站一区| 无码国产69精品久久久久同性| 亚洲女同同性videoxma| 精品乱码一区| 手机在线观看av网站| 日韩大陆毛片av| 日本免费观看视| 久久亚洲一区二区三区四区| 欧美 日韩 国产一区| 国产欧美一区二区三区精品观看| 日本高清+成人网在线观看| 色网站在线免费观看| 欧美性猛交xxxx免费看漫画| 亚洲第一香蕉网| 日韩和欧美的一区| 天堂社区 天堂综合网 天堂资源最新版| 欧美gay视频| 一本色道久久综合狠狠躁篇的优点 | 欧美一区二区三区在线| 天天综合天天做| 国产成人在线看| 毛片在线播放视频| 久久成人高清| 国产精品中文字幕在线| 成人av免费| 精品国产乱码久久| 亚洲图片在线视频| 欧美国产一区在线| jizz18女人| 欧美精品97| 久久综合狠狠综合久久综青草| 91精品店在线| 久久99久久久久久久噜噜| 日本黄色不卡视频| 91福利小视频| www.99re7| 久久综合色之久久综合| 亚洲视频一二三四| 好看的av在线不卡观看| 欧美激情第一页在线观看| 久久麻豆视频| 欧美激情一区二区三区高清视频 | 第一区第二区在线| 国产成人精品在线观看| 黄色成人影院| 日韩电影免费在线观看中文字幕 | 久久久久久久久久久97| 91影院在线观看| 中文字幕亚洲欧洲| 99精品国产福利在线观看免费| 亚洲精品日韩在线观看| 大型av综合网站| 国产乱人伦真实精品视频| √最新版天堂资源网在线| 中文字幕亚洲欧美一区二区三区 | 日本www高清视频| 91精品国产视频| 蜜桃导航-精品导航| 成人污版视频| 国产成人精品视频| 俺来也官网欧美久久精品| 中文字幕国产亚洲| 亚洲色欧美另类| 欧美一区二区人人喊爽| 欧美一区免费看| 午夜亚洲国产au精品一区二区| jizzjizzjizz国产| 91在线观看污| 国内精品免费视频| 日本va欧美va瓶| 国产免费黄视频| 狠狠入ady亚洲精品经典电影| 亚洲精品一卡二卡三卡四卡| 色婷婷狠狠五月综合天色拍| 成人动漫视频在线观看免费| 日韩有码欧美| 国产精品久久久久久久久久| 无遮挡在线观看| 午夜精品久久久99热福利| 最新黄网在线观看| 中文字幕亚洲一区二区三区五十路| 日本精品久久久久久| 日韩欧美国产系列| 国产精品一品二区三区的使用体验| 色综合夜色一区| 日韩av在线播放观看| 亚洲综合成人在线| 放荡的美妇在线播放| 欧美经典一区二区| 免费网站在线高清观看| 91视频在线观看免费| 黄色网址在线视频| a亚洲天堂av| 亚洲啪av永久无码精品放毛片| 老司机免费视频一区二区| 亚洲性生活网站| 老色鬼久久亚洲一区二区| 97国产精东麻豆人妻电影| 99精品视频免费观看| 国产a级片网站| 99精品国产一区二区青青牛奶 | 国产99在线观看| 久久人人看视频| mm视频在线视频| 97国产精品视频| 岛国av免费在线观看| 97视频在线观看免费| 涩涩视频在线播放| 奇米四色中文综合久久| 老司机2019福利精品视频导航| 欧美最猛性xxxxx亚洲精品| 亚洲性色av| 国产精品色悠悠| 婷婷久久免费视频| 97免费资源站| 欧美日韩破处| 欧美精品一区在线| 日韩国产一区| 免费观看中文字幕| 雨宫琴音一区二区在线| 国产a级一级片| 免费av网站大全久久| www,av在线| 成人国产精品免费观看| 亚洲a v网站| 亚洲视频一区二区免费在线观看| 91九色丨porny丨极品女神| 亚洲综合久久av| 国产成人精品777777| 欧美精品少妇一区二区三区| 午夜精品久久久久久久爽| 精品亚洲国产视频| 在线看的av网站| 欧美激情小视频| 国产精品极品美女在线观看| 成人免费直播live| 国产一级成人av| 亚洲欧洲国产精品久久| 欧美日韩精品| 黑鬼大战白妞高潮喷白浆| 韩国一区二区视频| 日本黄色动态图| 国产精品久久久久久久久果冻传媒| avove在线播放| 欧美性猛交xxxx免费看| av男人天堂网| 亚洲全黄一级网站| 亚洲综合图区| 日本免费在线精品| 欧美激情精品| 欧洲精品亚洲精品| 欧美视频不卡| 欧美特级aaa| 久久色在线视频| 男女免费视频网站| 欧美色大人视频| | 亚洲色图校园春色| 91最新在线视频| 国产精品高清在线观看| 成人看片黄a免费看视频| 亚洲日本欧美在线| 亚洲欧美日韩国产| 久久久久中文字幕亚洲精品| 国产色产综合产在线视频| 国产亚洲第一页| 欧美精品第1页| 国产午夜视频在线观看| 91国产中文字幕| 一区二区视频| 中文字幕精品—区二区日日骚| 国产亚洲一级| 国产性生活毛片| 亚洲男帅同性gay1069| 中文字幕+乱码+中文| 日韩成人高清在线| 黑人另类精品××××性爽| 成人亚洲激情网| 成人羞羞网站入口| av五月天在线| 久久精品在这里| 在线能看的av| 亚洲国产精品va在线看黑人动漫| 97影院秋霞午夜在线观看| 国产欧美精品一区二区三区-老狼| 国产精品亚洲人成在99www| 99爱视频在线| 91免费观看在线| 国产精品500部| 亚洲国产精品va在线看黑人动漫| 少女频道在线观看免费播放电视剧| 成人av在线网址| 91蜜臀精品国产自偷在线 | 成人精品在线视频观看| 青青草原免费观看| 日韩视频一区在线观看| 国产欧美久久久久久久久| 成人黄色免费网站在线观看| 日韩在线高清| 手机免费av片| 亚洲视频在线一区观看| 国产免费黄色网址| 成年无码av片在线| 久久天堂久久| 中文字幕日韩精品无码内射| 国产乱码精品一品二品| 强行糟蹋人妻hd中文| 日韩午夜电影av| 91精品国产黑色瑜伽裤| 国产无套精品一区二区| 国产偷自视频区视频一区二区| 国产精品三级在线观看无码| 色婷婷av一区二区三区gif| 国产在线播放av| 国产日韩欧美电影在线观看| 中国成人一区| 亚洲黄色小说在线观看| 亚洲国产一区二区在线播放| 色婷婷av一区二区三区之e本道| 9.1国产丝袜在线观看| 欧美美乳视频| 亚洲精品www.| 亚洲一区二区三区视频在线播放 | 中文字幕在线日亚洲9| 日韩小视频网址| 2023国产精华国产精品| 欧美 日韩精品| 中文字幕精品在线不卡| 国产夫妻自拍av| 91精品国产乱码久久久久久蜜臀| 亚洲国产网址| 日本国产一级片| 亚洲午夜精品久久久久久久久| 亚洲 美腿 欧美 偷拍| 国产精品偷伦视频免费观看国产 | 久久999免费视频| 日本久久成人网| 国产aⅴ爽av久久久久| 亚洲不卡一区二区三区| 二区三区在线| 成人看片视频| 日日嗨av一区二区三区四区| 日韩a级片在线观看 | 1769视频在线播放免费观看| 亚洲最大福利视频网站| 久久激情一区| 久久人人爽人人爽人人| 国产亚洲激情在线| 国产成人精品福利| 色戒在线免费观看| 欧美日韩美女在线| 超碰caoporn久久| 欧美在线一二三区| 成人永久看片免费视频天堂| 亚洲一级在线播放| 97在线观看免费| 亚洲综合专区|