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

超級實用的 MySQL 常用優化指南!

新聞 數據庫運維
當MySQL單表記錄數過大時,增刪改查性能都會急劇下降,可以參考以下優化指南。

 [[337507]]

當MySQL單表記錄數過大時,增刪改查性能都會急劇下降,可以參考以下步驟來優化:

單表優化

除非單表數據未來會一直不斷上漲,否則不要一開始就考慮拆分,拆分會帶來邏輯、部署、運維的各種復雜度,一般以整型值為主的表在 千萬級 
以下,字符串為主的表在  五百萬 以下是沒有太大問題的。而事實上很多時候MySQL單表的性能依然有不少優化空間,甚至能正常支撐千萬級以上的數據量:

字段

  • 盡量使用 TINYINT 、  SMALLINT 、  MEDIUM_INT 作為整數類型而非  INT ,如果非負則加上UNSIGNED

  • VARCHAR 的長度只分配真正需要的空間

  • 使用枚舉或整數代替字符串類型

  • 盡量使用 TIMESTAMP 而非  DATETIME ,

  • 單表不要有太多字段,建議在20以內

  • 避免使用NULL字段,很難查詢優化且占用額外索引空間

  • 用整型來存IP

索引

  • 索引并不是越多越好,要根據查詢有針對性的創建,考慮在 WHERE 和  ORDER BY 命令上涉及的列建立索引,可根據  EXPLAIN 來查看是否用了索引還是全表掃描

  • 應盡量避免在 WHERE 子句中對字段進行  NULL 值判斷,否則將導致引擎放棄使用索引而進行全表掃描

  • 值分布很稀少的字段不適合建索引,例如"性別"這種只有兩三個值的字段

  • 字符字段只建前綴索引

  • 字符字段最好不要做主鍵

  • 不用外鍵,由程序保證約束

  • 盡量不用 UNIQUE ,由程序保證約束

  • 使用多列索引時主意順序和查詢條件保持一致,同時刪除不必要的單列索引

查詢SQL

  • 可通過開啟慢查詢日志來找出較慢的SQL

  • 不做列運算: SELECT id WHERE age + 1 = 10 ,任何對列的操作都將導致表掃描,它包括數據庫教程函數、計算表達式等等,查詢時要盡可能將操作移至等號右邊

  • sql語句盡可能簡單:一條sql只能在一個cpu運算;大語句拆小語句,減少鎖時間;一條大sql可以堵死整個庫

  • 不用 SELECT *

  • OR 改寫成  IN : OR 的效率是n級別,  IN 的效率是log(n)級別,in的個數建議控制在200以內

  • 不用函數和觸發器,在應用程序實現

  • 避免 %xxx 式查詢

  • 少用 JOIN

  • 使用同類型進行比較,比如用 '123' 和  '123' 比,  123 和  123 比

  • 盡量避免在 WHERE 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃描

  • 對于連續數值,使用 BETWEEN 不用  IN : SELECT id FROM t WHERE num BETWEEN 1 AND 5

  • 列表數據不要拿全表,要使用 LIMIT 來分頁,每頁數量也不要太大

引擎

目前廣泛使用的是MyISAM和InnoDB兩種引擎:

MyISAM

MyISAM引擎是MySQL 5.1及之前版本的默認引擎,它的特點是:

  • 不支持行鎖,讀取時對需要讀到的所有表加鎖,寫入時則對表加排它鎖

  • 不支持事務

  • 不支持外鍵

  • 不支持崩潰后的安全恢復

  • 在表有讀取查詢的同時,支持往表中插入新紀錄

  • 支持 BLOB 和  TEXT 的前500個字符索引,支持全文索引

  • 支持延遲更新索引,極大提升寫入性能

  • 對于不會進行修改的表,支持壓縮表,極大減少磁盤空間占用

InnoDB

InnoDB在MySQL 5.5后成為默認索引,它的特點是:

  • 支持行鎖,采用MVCC來支持高并發

  • 支持事務

  • 支持外鍵

  • 支持崩潰后的安全恢復

  • 不支持全文索引

ps: 據說innodb已經在mysql 5.6.4支持全文索引了

總體來講,MyISAM適合 SELECT 密集型的表,而InnoDB適合  INSERT 和  UPDATE 密集型的表

系統調優參數

可以使用下面幾個工具來做基準測試:

  • sysbench  :一個模塊化,跨平臺以及多線程的性能測試工具

  • iibench-mysql  :基于 Java 的 MySQL/Percona/MariaDB 索引進行插入性能測試工具

  • tpcc-mysql  :Percona開發的TPC-C測試工具

具體的調優參數內容較多,具體可參考官方文檔,這里介紹一些比較重要的參數:

  • back_log:back_log值指出在MySQL暫時停止回答新請求之前的短時間內多少個請求可以被存在堆棧中。也就是說,如果MySql的連接數據達到max_connections時,新來的請求將會被存在堆棧中,以等待某一連接釋放資源,該堆棧的數量即back_log,如果等待連接的數量超過back_log,將不被授予連接資源。可以從默認的50升至500

  • wait_timeout:數據庫連接閑置時間,閑置連接會占用內存資源。可以從默認的8小時減到半小時

  • max_user_connection: 最大連接數,默認為0無上限,最好設一個合理上限

  • thread_concurrency:并發線程數,設為CPU核數的兩倍

  • skip_name_resolve:禁止對外部連接進行DNS解析,消除DNS解析時間,但需要所有遠程主機用IP訪問

  • key_buffer_size:索引塊的緩存大小,增加會提升索引處理速度,對MyISAM表性能影響最大。對于內存4G左右,可設為256M或384M,通過查詢 show status like 'key_read%' ,保證  key_reads / key_read_requests 在0.1%以下最好

  • innodb_buffer_pool_size:緩存數據塊和索引塊,對InnoDB表性能影響最大。通過查詢 show status like 'Innodb_buffer_pool_read%' ,保證  (Innodb_buffer_pool_read_requests – Innodb_buffer_pool_reads) / Innodb_buffer_pool_read_requests 越高越好

  • innodb_additional_mem_pool_size:InnoDB存儲引擎用來存放數據字典信息以及一些內部數據結構的內存空間大小,當數據庫對象非常多的時候,適當調整該參數的大小以確保所有數據都能存放在內存中提高訪問效率,當過小的時候,MySQL會記錄Warning信息到數據庫的錯誤日志中,這時就需要該調整這個參數大小

  • innodb_log_buffer_size:InnoDB存儲引擎的事務日志所使用的緩沖區,一般來說不建議超過32MB

  • query_cache_size:緩存MySQL中的ResultSet,也就是一條SQL語句執行的結果集,所以僅僅只能針對select語句。當某個表的數據有任何任何變化,都會導致所有引用了該表的select語句在Query Cache中的緩存數據失效。所以,當我們的數據變化非常頻繁的情況下,使用Query Cache可能會得不償失。根據命中率 (Qcache_hits/(Qcache_hits+Qcache_inserts)*100)) 進行調整,一般不建議太大,256MB可能已經差不多了,大型的配置型靜態數據可適當調大.  

    可以通過命令  show status like 'Qcache_%' 查看目前系統Query catch使用大小

  • read_buffer_size:MySql讀入緩沖區大小。對表進行順序掃描的請求將分配一個讀入緩沖區,MySql會為它分配一段內存緩沖區。如果對表的順序掃描請求非常頻繁,可以通過增加該變量值以及內存緩沖區大小提高其性能

  • sort_buffer_size:MySql執行排序使用的緩沖大小。如果想要增加 ORDER BY 的速度,首先看是否可以讓MySQL使用索引而不是額外的排序階段。如果不能,可以嘗試增加sort_buffer_size變量的大小

  • read_rnd_buffer_size:MySql的隨機讀緩沖區大小。當按任意順序讀取行時(例如,按照排序順序),將分配一個隨機讀緩存區。進行排序查詢時,MySql會首先掃描一遍該緩沖,以避免磁盤搜索,提高查詢速度,如果需要排序大量數據,可適當調高該值。但MySql會為每個客戶連接發放該緩沖空間,所以應盡量適當設置該值,以避免內存開銷過大。

  • record_buffer:每個進行一個順序掃描的線程為其掃描的每張表分配這個大小的一個緩沖區。如果你做很多順序掃描,可能想要增加該值

  • thread_cache_size:保存當前沒有與連接關聯但是準備為后面新的連接服務的線程,可以快速響應連接的線程請求而無需創建新的

  • table_cache:類似于thread_cache_size,但用來緩存表文件,對InnoDB效果不大,主要用于MyISAM

升級硬件

Scale up,這個不多說了,根據MySQL是CPU密集型還是I/O密集型,通過提升CPU和內存、使用SSD,都能顯著提升MySQL性能

讀寫分離

也是目前常用的優化,從庫讀主庫寫,一般不要采用雙主或多主引入很多復雜性,盡量采用文中的其他方案來提高性能。同時目前很多拆分的解決方案同時也兼顧考慮了讀寫分離

緩存

緩存可以發生在這些層次:

  • MySQL內部:在  系統調優參數  介紹了相關設置

  • 數據訪問層:比如MyBatis針對SQL語句做緩存,而Hibernate可以精確到單個記錄,這里緩存的對象主要是持久化對象 Persistence Object

  • 應用服務層:這里可以通過編程手段對緩存做到更精準的控制和更多的實現策略,這里緩存的對象是數據傳輸對象 Data Transfer Object

  • Web層:針對web頁面做緩存

  • 瀏覽器客戶端:用戶端的緩存

可以根據實際情況在一個層次或多個層次結合加入緩存。這里重點介紹下服務層的緩存實現,目前主要有兩種方式:

  • 直寫式(Write Through):在數據寫入數據庫后,同時更新緩存,維持數據庫與緩存的一致性。這也是當前大多數應用緩存框架如Spring Cache的工作方式。這種實現非常簡單,同步好,但效率一般。

  • 回寫式(Write Back):當有數據要寫入數據庫時,只會更新緩存,然后異步批量的將緩存數據同步到數據庫上。這種實現比較復雜,需要較多的應用邏輯,同時可能會產生數據庫與緩存的不同步,但效率非常高。

表分區

MySQL在5.1版引入的分區是一種簡單的水平拆分,用戶需要在建表的時候加上分區參數,對應用是透明的無需修改代碼

對用戶來說,分區表是一個獨立的邏輯表,但是底層由多個物理子表組成,實現分區的代碼實際上是通過對一組底層表的對象封裝,但對SQL層來說是一個完全封裝底層的黑盒子。MySQL實現分區的方式也意味著索引也是按照分區的子表定義,沒有全局索引

 

 

mysql優化

 

 

用戶的SQL語句是需要針對分區表做優化,SQL條件中要帶上分區條件的列,從而使查詢定位到少量的分區上,否則就會掃描全部分區,可以通過 EXPLAIN PARTITIONS 來查看某條SQL語句會落在那些分區上,從而進行SQL優化,如下圖5條記錄落在兩個分區上:

 

 

 

 

mysql優化

 

 

分區的好處是:

  • 可以讓單表存儲更多的數據

  • 分區表的數據更容易維護,可以通過清楚整個分區批量刪除大量數據,也可以增加新的分區來支持新插入的數據。另外,還可以對一個獨立分區進行優化、檢查、修復等操作

  • 部分查詢能夠從查詢條件確定只落在少數分區上,速度會很快

  • 分區表的數據還可以分布在不同的物理設備上,從而搞笑利用多個硬件設備

  • 可以使用分區表賴避免某些特殊瓶頸,例如InnoDB單個索引的互斥訪問、ext3文件系統的inode鎖競爭

  • 可以備份和恢復單個分區

分區的限制和缺點:

  • 一個表最多只能有1024個分區

  • 如果分區字段中有主鍵或者唯一索引的列,那么所有主鍵列和唯一索引列都必須包含進來

  • 分區表無法使用外鍵約束

  • NULL值會使分區過濾無效

  • 所有分區必須使用相同的存儲引擎

分區的類型:

  • RANGE分區:基于屬于一個給定連續區間的列值,把多行分配給分區

  • LIST分區:類似于按RANGE分區,區別在于LIST分區是基于列值匹配一個離散值集合中的某個值來進行選擇

  • HASH分區:基于用戶定義的表達式的返回值來進行選擇的分區,該表達式使用將要插入到表中的這些行的列值進行計算。這個函數可以包含MySQL中有效的、產生非負整數值的任何表達式

  • KEY分區:類似于按HASH分區,區別在于KEY分區只支持計算一列或多列,且MySQL服務器提供其自身的哈希函數。必須有一列或多列包含整數值

分區適合的場景有:

  • 最適合的場景數據的時間序列性比較強,則可以按時間來分區,如下所示:

  1. CREATE TABLE members ( 
  2.        firstname VARCHAR(25) NOT NULL, 
  3.        lastname VARCHAR(25) NOT NULL, 
  4.        username VARCHAR(16) NOT NULL, 
  5.        email VARCHAR(35), 
  6.        joined DATE NOT NULL 
  7.    ) 
  8.    PARTITION BY RANGE( YEAR(joined) ) ( 
  9.        PARTITION p0 VALUES LESS THAN (1960), 
  10.        PARTITION p1 VALUES LESS THAN (1970), 
  11.        PARTITION p2 VALUES LESS THAN (1980), 
  12.        PARTITION p3 VALUES LESS THAN (1990), 
  13.        PARTITION p4 VALUES LESS THAN MAXVALUE 
  14.    ); 

查詢時加上時間范圍條件效率會非常高,同時對于不需要的歷史數據能很容的批量刪除。

  • 如果數據有明顯的熱點,而且除了這部分數據,其他數據很少被訪問到,那么可以將熱點數據單獨放在一個分區,讓這個分區的數據能夠有機會都緩存在內存中,查詢時只訪問一個很小的分區表,能夠有效使用索引和緩存

另外MySQL有一種早期的簡單的分區實現 - 合并表(merge table),限制較多且缺乏優化,不建議使用,應該用新的分區機制來替代

垂直拆分

垂直分庫是根據數據庫里面的數據表的相關性進行拆分,比如:一個數據庫里面既存在用戶數據,又存在訂單數據,那么垂直拆分可以把用戶數據放到用戶庫、把訂單數據放到訂單庫。垂直分表是對數據表進行垂直拆分的一種方式,常見的是把一個多字段的大表按常用字段和非常用字段進行拆分,每個表里面的數據記錄數一般情況下是相同的,只是字段不一樣,使用主鍵關聯

比如原始的用戶表是:

 

 

mysql優化

 

 

垂直拆分后是:

 

 

mysql優化

 

 

垂直拆分的優點是:

  • 可以使得行數據變小,一個數據塊(Block)就能存放更多的數據,在查詢時就會減少I/O次數(每次查詢時讀取的Block 就少)

  • 可以達到最大化利用Cache的目的,具體在垂直拆分的時候可以將不常變的字段放一起,將經常改變的放一起

  • 數據維護簡單

缺點是:

  • 主鍵出現冗余,需要管理冗余列

  • 會引起表連接JOIN操作(增加CPU開銷)可以通過在業務服務器上進行join來減少數據庫壓力

  • 依然存在單表數據量過大的問題(需要水平拆分)

  • 事務處理復雜

水平拆分

概述

水平拆分是通過某種策略將數據分片來存儲,分庫內分表和分庫兩部分,每片數據會分散到不同的MySQL表或庫,達到分布式的效果,能夠支持非常大的數據量。前面的表分區本質上也是一種特殊的庫內分表

庫內分表,僅僅是單純的解決了單一表數據過大的問題,由于沒有把表的數據分布到不同的機器上,因此對于減輕MySQL服務器的壓力來說,并沒有太大的作用,大家還是競爭同一個物理機上的IO、CPU、網絡,這個就要通過分庫來解決

前面垂直拆分的用戶表如果進行水平拆分,結果是:

 

 

mysql優化

 

 

實際情況中往往會是垂直拆分和水平拆分的結合,即將 Users_A_M 和  Users_N_Z 再拆成  Users 和 UserExtras ,這樣一共四張表

水平拆分的優點是:

  • 不存在單庫大數據和高并發的性能瓶頸

  • 應用端改造較少

  • 提高了系統的穩定性和負載能力

缺點是:

  • 分片事務一致性難以解決

  • 跨節點Join性能差,邏輯復雜

  • 數據多次擴展難度跟維護量極大

分片原則

  • 能不分就不分,參考  單表優化

  • 分片數量盡量少,分片盡量均勻分布在多個數據結點上,因為一個查詢SQL跨分片越多,則總體性能越差,雖然要好于所有數據在一個分片的結果,只在必要的時候進行擴容,增加分片數量

  • 分片規則需要慎重選擇做好提前規劃,分片規則的選擇,需要考慮數據的增長模式,數據的訪問模式,分片關聯性問題,以及分片擴容問題,最近的分片策略為范圍分片,枚舉分片,一致性Hash分片,這幾種分片都有利于擴容

  • 盡量不要在一個事務中的SQL跨越多個分片,分布式事務一直是個不好處理的問題

  • 查詢條件盡量優化,盡量避免Select * 的方式,大量數據結果集下,會消耗大量帶寬和CPU資源,查詢盡量避免返回大量結果集,并且盡量為頻繁使用的查詢語句建立索引。

  • 通過數據冗余和表分區賴降低跨庫Join的可能

這里特別強調一下分片規則的選擇問題,如果某個表的數據有明顯的時間特征,比如訂單、交易記錄等,則他們通常比較合適用時間范圍分片,因為具有時效性的數據,我們往往關注其近期的數據,查詢條件中往往帶有時間字段進行過濾,比較好的方案是,當前活躍的數據,采用跨度比較短的時間段進行分片,而歷史性的數據,則采用比較長的跨度存儲。

總體上來說,分片的選擇是取決于最頻繁的查詢SQL的條件,因為不帶任何Where語句的查詢SQL,會遍歷所有的分片,性能相對最差,因此這種SQL越多,對系統的影響越大,所以我們要盡量避免這種SQL的產生。

解決方案

由于水平拆分牽涉的邏輯比較復雜,當前也有了不少比較成熟的解決方案。這些方案分為兩大類:客戶端架構和代理架構。

客戶端架構

通過修改數據訪問層,如JDBC、Data

Source、MyBatis,通過配置來管理多個數據源,直連數據庫,并在模塊內完成數據的分片整合,一般以Jar包的方式呈現

這是一個客戶端架構的例子:

 

 

mysql優化

 

 

可以看到分片的實現是和應用服務器在一起的,通過修改Spring JDBC層來實現

客戶端架構的優點是:

  • 應用直連數據庫,降低外圍系統依賴所帶來的宕機風險

  • 集成成本低,無需額外運維的組件

缺點是:

  • 限于只能在數據庫訪問層上做文章,擴展性一般,對于比較復雜的系統可能會力不從心

  • 將分片邏輯的壓力放在應用服務器上,造成額外風險

代理架構

通過獨立的中間件來統一管理所有數據源和數據分片整合,后端數據庫集群對前端應用程序透明,需要獨立部署和運維代理組件

這是一個代理架構的例子:

 

 

mysql優化

 

 

代理組件為了分流和防止單點,一般以集群形式存在,同時可能需要Zookeeper之類的服務組件來管理

代理架構的優點是:

  • 能夠處理非常復雜的需求,不受數據庫訪問層原來實現的限制,擴展性強

  • 對于應用服務器透明且沒有增加任何額外負載

缺點是:

  • 需部署和運維獨立的代理中間件,成本高

  • 應用需經過代理來連接數據庫,網絡上多了一跳,性能有損失且有額外風險

各方案比較

 

mysql優化

 

如此多的方案,如何進行選擇?可以按以下思路來考慮:

  1. 確定是使用代理架構還是客戶端架構。中小型規模或是比較簡單的場景傾向于選擇客戶端架構,復雜場景或大規模系統傾向選擇代理架構

  2. 具體功能是否滿足,比如需要跨節點 ORDER BY ,那么支持該功能的優先考慮

  3. 不考慮一年內沒有更新的產品,說明開發停滯,甚至無人維護和技術支持

  4. 最好按大公司->社區->小公司->個人這樣的出品方順序來選擇

  5. 選擇口碑較好的,比如github星數、使用者數量質量和使用者反饋

  6. 開源的優先,往往項目有特殊需求可能需要改動源代碼

按照上述思路,推薦以下選擇:

  • 客戶端架構:ShardingJDBC

  • 代理架構:MyCat或者Atlas

兼容MySQL且可水平擴展的數據庫

目前也有一些開源數據庫兼容MySQL協議,如:

  • TiDB

  • Cubrid

但其工業品質和MySQL尚有差距,且需要較大的運維投入,如果想將原始的MySQL遷移到可水平擴展的新數據庫中,可以考慮一些云數據庫:

  • 阿里云PetaData

  • 阿里云OceanBase

  • 騰訊云DCDB

NoSQL

在MySQL上做Sharding是一種戴著鐐銬的跳舞,事實上很多大表本身對MySQL這種RDBMS的需求并不大,并不要求ACID,可以考慮將這些表遷移到NoSQL,徹底解決水平擴展問題,例如:

  • 日志類、監控類、統計類數據

  • 非結構化或弱結構化數據

  • 對事務要求不強,且無太多關聯操作的數據

參考資料:

  • Mysql那點事

  • Mysql策略

  • MySQL :: MySQL 5.6 Reference Manual

 

責任編輯:張燕妮 來源: 服務端思維
相關推薦

2020-03-27 15:40:10

MySQL索引數據庫

2025-03-25 08:48:35

PiniaAPI管理

2018-03-13 14:20:24

數據庫MySQL調試和優化

2025-03-12 10:55:30

2025-01-24 14:57:24

2011-08-11 10:38:50

windows7技巧Windows7技巧

2023-12-19 13:31:00

CSS前端技巧

2024-02-26 08:20:00

CSS開發

2025-05-20 08:05:00

分頁查詢MySQL索引

2019-09-26 14:20:27

JavaScript代碼編程語言

2013-06-26 16:12:21

MySQL集群性能優化

2023-06-11 15:51:13

2011-07-14 10:07:19

PHP

2020-07-01 07:58:20

ES6JavaScript開發

2024-04-09 00:00:00

Java代碼片段

2022-09-01 23:17:07

Python編程語言開發

2023-11-01 07:24:55

2022-03-01 10:51:15

領導者CIOIT團隊

2018-10-09 09:42:27

MySQL優化單表

2018-09-28 15:06:41

MySQL優化指南數據庫
點贊
收藏

51CTO技術棧公眾號

在线一区二区三区视频| 色鬼7777久久| 欧美区一区二| 亚洲精品国产精品乱码不99按摩| 99爱视频在线| 午夜激情在线观看| 国产98色在线|日韩| 欧美在线视频观看免费网站| 又色又爽的视频| 18国产精品| 欧美性色黄大片手机版| 激情五月六月婷婷| 国产午夜在线观看| 高清久久久久久| 国产成人精品免费久久久久 | 国产午夜精品久久久久| 久久一区91| 亚洲精品久久久久中文字幕欢迎你 | 亚洲制服中文字幕| 亚洲天堂导航| 亚洲色图.com| 日韩av免费电影| 国产香蕉在线观看| 久久成人免费网| 91成人国产在线观看| 国产女人被狂躁到高潮小说| 九一成人免费视频| 精品粉嫩aⅴ一区二区三区四区| 日韩欧美xxxx| 久久久男人天堂| 亚洲欧美日韩久久精品| 亚洲乱码一区二区三区| 亚洲人妻一区二区三区| 精品中文字幕一区二区| 国产97在线播放| 国产一级在线观看视频| 亚洲天堂免费| 深夜福利亚洲导航| a级片在线观看| av av在线| а√天堂官网中文在线| 日本一区二区三区视频视频| 久久av免费一区| www.天天干.com| 九色|91porny| 成人精品在线视频| a片在线免费观看| 久久精品道一区二区三区| 久久久久久久久久久人体| 久久国产高清视频| 成人免费看片39| 亚洲人成在线一二| 男人天堂av电影| 婷婷综合成人| 日韩风俗一区 二区| 六十路息与子猛烈交尾| 豆花视频一区二区| 精品卡一卡二卡三卡四在线| 亚洲av无码久久精品色欲| 国产一区一区| 欧美一级高清片在线观看| 99中文字幕在线| 国产精品视频一区视频二区| 91精品国产91久久久久久最新毛片| 中文字幕成人在线视频| 国产亚洲精彩久久| 91精品国产综合久久久久久久 | 三级在线观看视频| 亚州成人在线电影| www.com毛片| 欧美xo影院| 欧美午夜在线观看| 午夜剧场高清版免费观看| av日韩一区| 日韩一区二区在线免费观看| 亚洲麻豆一区二区三区| 日韩精品丝袜美腿| 亚洲天堂av女优| 超碰人人人人人人人| 午夜精品偷拍| 97在线看免费观看视频在线观看| 五月婷婷色丁香| 日本亚洲天堂网| 91在线视频免费| 亚洲精品视频网| 国产亚洲女人久久久久毛片| 一本色道久久综合亚洲二区三区| 国产成人午夜| 亚洲成人你懂的| 免费激情视频在线观看| 亚洲欧美专区| 亚洲国产精品va在看黑人| 国产手机在线观看| 亚洲少妇第一页| 污污视频在线| 欧美视频免费在线观看| 国产探花在线看| 99久久香蕉| 国产一区二区三区在线观看视频 | 人妻少妇被粗大爽9797pw| 亚洲精品在线影院| 日韩三级视频在线看| 亚洲国产第一区| 国产国产精品| 97色伦亚洲国产| 91免费视频播放| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产精品视频久久久久久久| 老色鬼精品视频在线观看播放| caoporen国产精品| freemovies性欧美| 亚洲成人自拍一区| 91插插插插插插插插| 久久久久高潮毛片免费全部播放| 自拍偷拍亚洲一区| 波多野结衣国产| 国产一区二区三区观看| 日本欧美色综合网站免费| 手机在线免费看av| 欧美日韩国产高清一区| 亚洲午夜福利在线观看| 国产一区日韩欧美| 91久久国产精品91久久性色| 邻居大乳一区二区三区| 亚洲综合视频在线| 亚洲欧美aaa| 九九热爱视频精品视频| 久久久久女教师免费一区| 在线免费观看视频网站| 久久女同精品一区二区| 天堂…中文在线最新版在线| 精品久久免费| 久久久国产成人精品| 波多野结衣小视频| 久久综合久久久久88| 欧美大黑帍在线播放| 自拍偷拍亚洲| 日韩小视频在线| 国产三级理论片| 久久免费视频一区| 亚洲国产精品久久久久爰色欲| 91精品入口| 欧美成人合集magnet| 中文亚洲av片在线观看| 国产色产综合产在线视频| 免费黄色日本网站| 日韩精品丝袜美腿| 91产国在线观看动作片喷水| 欧美视频久久久| 亚洲一区二区在线播放相泽| 国产伦理在线观看| 狠狠88综合久久久久综合网| 91高跟黑色丝袜呻吟在线观看| 久久亚洲天堂| 91精品国产高清一区二区三区 | 林ゆな中文字幕一区二区| 色综合男人天堂| 性欧美一区二区三区| 亚洲色图视频免费播放| 亚洲AV无码久久精品国产一区| 午夜欧美在线| dy888夜精品国产专区| 黑人极品ⅴideos精品欧美棵| 日韩欧美色综合| 国产在线综合网| jizz一区二区| 国产亚洲综合视频| 日韩免费久久| 91在线观看欧美日韩| 精灵使的剑舞无删减版在线观看| 精品国产免费一区二区三区香蕉| 午夜影院在线看| 2023国产精品视频| 亚洲欧美久久久久| 亚洲女同另类| 国产伦精品一区二区三区高清| 欧美调教sm| 一本久久综合亚洲鲁鲁| 国产美女自慰在线观看| 亚洲在线视频网站| 91中文字幕永久在线| 麻豆精品在线看| 丰满人妻一区二区三区53号 | 日本在线播放一区二区三区| 亚洲一一在线| 高清日韩欧美| 国产97在线观看| 国产传媒在线播放| 日韩高清免费在线| 一级片视频免费| 亚洲国产一区二区a毛片| 少妇毛片一区二区三区| 久久av中文字幕片| 五十路熟女丰满大屁股| 区一区二视频| 国产精品手机视频| 91大神在线观看线路一区| 欧美日韩第一视频| 成人在线视频成人| 亚洲成av人片在线观看香蕉| 中文字幕免费视频观看| 亚洲一区在线免费观看| 欧美激情久久久久久久| 成人少妇影院yyyy| 午夜免费福利在线| 1024成人| 天天做天天爱天天高潮| 色婷婷av一区二区三区丝袜美腿| 91精品国产自产在线老师啪| 亚洲人成在线网站| 久久视频这里只有精品| 国产对白叫床清晰在线播放| 欧美成人一区二区三区片免费| 波多野结衣黄色| 亚洲h精品动漫在线观看| 5566中文字幕| 久久精品免视看| 日本在线不卡一区二区| www视频在线看| 亚洲国产高清在线| 国产麻豆剧传媒精品国产av| 久久草av在线| 青青青国产在线视频| 亚洲激情在线| 穿情趣内衣被c到高潮视频| 欧美性感美女一区二区| 久久免费视频1| 国产精品三p一区二区| 91久久精品在线| 成人在线免费av| 国产福利视频一区二区| 性爽视频在线| 韩剧1988免费观看全集| 日本大片在线播放| 久久精品中文字幕电影| av在线首页| 国产亚洲一区二区在线| 国产三级视频在线| 亚洲精品在线看| 无码国产精品一区二区免费16| 欧美成人精品3d动漫h| 国产精品女同一区二区| 欧美在线小视频| 波多野结衣视频在线观看| 色婷婷久久综合| 精品不卡一区二区| 色综合天天狠狠| 日韩熟女一区二区| 日本高清视频一区二区| 51国产偷自视频区视频| 精品久久久久久中文字幕一区奶水| 精品一区在线视频| 天天射综合影视| 日韩黄色三级视频| 欧美日韩免费在线观看| 好看的av在线| 色噜噜狠狠成人网p站| 久久久久久久亚洲| 欧美日韩在线直播| 国产精品视频第一页| 91麻豆精品91久久久久同性| 99久久精品国产色欲| 日韩欧美国产综合一区| 亚洲av综合色区无码一二三区| 精品国产一区二区在线观看| 日韩在线视频观看免费| 日韩av影片在线观看| 撸视在线观看免费视频| 一本一道久久a久久精品逆3p| 国产福利在线| 久久天天躁狠狠躁夜夜爽蜜月| 欧美xxxx视频| 欧美一乱一性一交一视频| 人人鲁人人莫人人爱精品| 国产免费亚洲高清| 免费精品一区二区三区在线观看| 成人免费视频网站| 神马久久影院| 午夜精品电影在线观看| 91精品久久久久久久蜜月| 激情五月婷婷六月| 久久中文在线| 婷婷中文字幕在线观看| 成人免费精品视频| 国产一区二区三区四区五区六区| 中文字幕一区二区三区精华液| 久久久久成人精品无码| 日韩欧美高清视频| 国产一区二区三区四区视频| 亚洲高清福利视频| 北岛玲一区二区三区| 欧美成人一二三| 色偷偷偷在线视频播放| 成人国产亚洲精品a区天堂华泰| 亚洲成av人片在线观看www| 六十路精品视频| 婷婷色综合网| 韩国日本在线视频| 国产在线精品一区二区夜色| 中文字幕日韩三级片| 中文字幕一区av| 日本一区二区三区精品| 91精品国产综合久久精品性色| 日韩av成人| 九九热r在线视频精品| 成人日韩在线观看| www.成人av| 成人三级视频| 777精品久无码人妻蜜桃| 极品少妇xxxx偷拍精品少妇| 国产精品久久无码| 亚洲精品v日韩精品| 日韩久久久久久久久久| 亚洲丁香久久久| 五月婷婷在线视频| 午夜欧美大片免费观看| 国产视频网站一区二区三区| 欧美日韩精品免费观看视一区二区| 91精品秘密在线观看| 九九九在线观看视频| av欧美精品.com| 久操免费在线视频| 欧美日韩高清一区| 国产小视频在线播放| 午夜精品久久久久久久99黑人| 91丨精品丨国产| 日韩精品极品视频在线观看免费| 亚洲伦伦在线| 中文字幕第10页| 日韩理论片在线| 中文字幕+乱码+中文乱码www| 亚洲精品一区二区三区不| 超碰97免费在线| 超碰在线观看97| 这里只有精品在线| 天天综合成人网| 一区在线中文字幕| 这里只有精品9| 中文日韩电影网站| 91精品影视| 欧美日韩国产综合视频在线| 欧美一区免费看| 亚洲精品www久久久| a级片在线免费| 国产经品一区二区| 亚洲国产高清视频| 99精品一区二区三区无码吞精 | 一区二区日本| 日韩精品午夜视频| 国产伦精品一区二区三区视频女| 欧美性猛交xxxx富婆| 日中文字幕在线| 欧美又大又硬又粗bbbbb| 欧美美女在线直播| 欧美成人免费在线观看视频| 99久久久国产精品| 国产无套丰满白嫩对白| 亚洲欧美日韩精品久久亚洲区 | 亚洲超丰满肉感bbw| 日韩一级中文字幕| 18性欧美xxxⅹ性满足| 亚洲精品白浆高清| 欧美极品欧美精品欧美图片| 久久精品视频一区二区| 中文天堂在线资源| 久久国产精品亚洲| 国产区精品视频在线观看豆花| 国产精品国产亚洲精品看不卡| 91香蕉视频mp4| 无码日韩精品一区二区| 中文字幕九色91在线| 国产aa精品| 91视频 - 88av| 99久久精品国产精品久久| 少妇高潮av久久久久久| 尤物九九久久国产精品的特点| 欧美日韩va| 伊人再见免费在线观看高清版| www.在线欧美| 超碰在线97观看| 欧美黑人极品猛少妇色xxxxx| 国产欧美三级电影| 自拍偷拍 国产| 亚洲私人黄色宅男| 性xxxx18| 国产精品入口尤物| 欧美福利一区| 亚洲午夜福利在线观看| 欧美剧情电影在线观看完整版免费励志电影 | 免费成人毛片| 日本一本中文字幕| 国产亚洲美州欧州综合国| 国产精品欧美久久久久天天影视 | 欧美日韩大片| 欧美日韩在线免费观看视频| 波多野结衣在线一区| 中文字幕乱码在线观看| 欧美激情日韩图片| 精品日本12videosex| 欧美做受高潮中文字幕|