精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

avav在线看| 91在线中文字幕| 精品少妇一区二区三区免费观| 亚洲欧美se| 亚洲国产精华液网站w| 91在线视频一区| 亚洲免费在线观看av| 日韩精品一卡| 欧美精品一区二区三| 成人免费无码av| 羞羞的视频在线观看| 久久先锋影音av鲁色资源网| 成人精品一区二区三区| 欧美另类一区二区| 亚洲最大av| 亚洲欧美日韩精品久久亚洲区 | 制服丝袜在线播放| 91麻豆精品秘密| 91美女片黄在线观| 九九精品免费视频| 欧美精品激情| 久久精品国产久精国产一老狼 | 午夜精品蜜臀一区二区三区免费| 中文字幕有码在线播放| 中文字幕一区二区三区中文字幕| 欧美日韩亚洲综合一区| 久草青青在线观看| 国产精品69xx| 亚洲免费观看高清完整版在线| 欧美日韩综合网| 婷婷色在线观看| 国产成人午夜精品5599 | 亚洲大片免费观看| 伊人久久大香线蕉av超碰演员| 久久精品免费电影| www.xx日本| 精品国产一区二区三区久久久樱花| 欧美不卡一区二区三区| 性鲍视频在线观看| 亚洲精品777| 日本韩国欧美国产| 欧美一级片中文字幕| 亚洲美女炮图| 欧美午夜激情在线| 黄色一级在线视频| 91精品国产黑色瑜伽裤| 一个色在线综合| 好吊色视频988gao在线观看| 岛国成人毛片| 亚洲色图制服丝袜| 国产精品jizz在线观看老狼| 第一页在线观看| 国产日韩欧美高清| 日韩av高清| 国产高清自拍视频在线观看| 国产欧美一区二区精品婷婷 | 91麻豆国产语对白在线观看| 国产精品久久欧美久久一区| 国产在线视频一区二区三区| 91网在线免费观看| 亚洲av无码片一区二区三区| 成人性生交大片| 国产在线观看一区| 色久视频在线播放| 久久久国产精品不卡| 欧美日韩精品免费在线观看视频| 国产系列电影在线播放网址| 中文一区一区三区高中清不卡| 亚洲国产日韩美| 免费高清在线观看| 樱花影视一区二区| www.好吊操| a欧美人片人妖| 欧美主播一区二区三区美女| 中文字幕免费高清在线| 蜜桃在线一区| 亚洲精品白浆高清久久久久久| 国产精品一区二区入口九绯色| 免费成人av| 日日摸夜夜添一区| 久草视频免费在线| 小嫩嫩精品导航| 国产精品一香蕉国产线看观看| 国产毛片久久久久| 成人黄色一级视频| 日本高清不卡三区| 99久久精品免费观看国产| 亚洲国产wwwccc36天堂| 美女黄色片视频| 精品国产伦一区二区三区观看说明| 精品国产亚洲一区二区三区在线观看 | 天堂av中文在线观看| 欧美亚洲一区三区| 三级黄色片免费看| 欧美美女黄色| 日韩中文视频免费在线观看| 久久久久成人网站| 日韩av不卡一区二区| 亚洲a成v人在线观看| 亚洲 美腿 欧美 偷拍| 国产精品色在线观看| 给我免费播放片在线观看| 精品亚洲a∨| 亚洲国产欧美日韩精品| 欧洲美熟女乱又伦| 极品少妇一区二区三区| 国产精品爽爽爽爽爽爽在线观看| 亚洲精品一区二区三区蜜桃| 国产偷国产偷精品高清尤物| 无码熟妇人妻av在线电影| 91精品店在线| 日韩成人在线免费观看| 中文字幕手机在线观看| 久久久久国产精品午夜一区| 岛国视频一区免费观看| 伊人免费在线| 日本国产一区二区| 国产精品久久久免费观看| 99久久99热这里只有精品| 欧美一区三区三区高中清蜜桃| av男人天堂网| 国产精品久久久久aaaa樱花| 两根大肉大捧一进一出好爽视频| 精品91福利视频| 精品国产欧美成人夜夜嗨| 中文字幕一区在线播放| 成人av资源在线| 欧美交换配乱吟粗大25p| 成人黄色视屏网站| 亚洲欧美中文另类| 亚洲第一精品在线观看| a级精品国产片在线观看| 一级黄色片播放| 国产精品一区二区三区av| 正在播放欧美一区| 久久久久精彩视频| 国产视频视频一区| 免费午夜视频在线观看| 亚洲人成网亚洲欧洲无码| 韩国三级电影久久久久久| 亚洲大尺度视频| 一区二区三区加勒比av| 国产黄色一区二区三区| 婷婷伊人综合| 91色视频在线观看| a级在线观看| 欧美一级精品大片| 欧美日韩在线视频免费| 国产精品亚洲综合一区在线观看| 一区二区日本| 国产视频一区二| 久久人体大胆视频| www.污视频| 亚洲午夜精品一区二区三区他趣| 9191在线视频| 黑人一区二区| 精品久久久久久一区| 川上优av中文字幕一区二区| 亚洲娇小xxxx欧美娇小| 黄色免费av网站| 久久精品欧美日韩| 天堂网在线免费观看| 羞羞色午夜精品一区二区三区| 91欧美激情另类亚洲| 综合图区亚洲| 亚洲国产精品高清久久久| 日韩三级免费看| 久久亚洲一区二区三区明星换脸| 热久久精品免费视频| 视频在线不卡免费观看| 91久久精品美女| 欧美人动性xxxxz0oz| 日韩精品在线免费观看视频| 亚洲精品一区二三区| 亚洲欧美一区二区在线观看| 国内自拍偷拍视频| 免费日韩av| 亚洲无玛一区| 高清欧美性猛交xxxx黑人猛| 日本久久久久亚洲中字幕| 免费在线看黄| 精品精品国产高清a毛片牛牛| 国产午夜免费福利| 中文字幕字幕中文在线中不卡视频| 精品伦一区二区三区| 老牛嫩草一区二区三区日本| 日本黄色a视频| 欧美一区二区三区红桃小说| 石原莉奈在线亚洲二区| 欧美激情视频网站| 清纯唯美亚洲色图| 911国产精品| 欧美日韩精品区| 中文字幕一区二区三区精华液| www.黄色网| 蜜桃久久久久久| 久草视频国产在线| 色男人天堂综合再现| 国产精品视频免费一区二区三区| 欧美不卡高清一区二区三区| 色综合久久中文字幕综合网小说| 黄色网址在线播放| 日韩欧美的一区| 在线观看你懂的网站| 亚洲午夜久久久久久久久电影网| 日本一级免费视频| 成人网在线播放| 亚洲午夜激情影院| 久久一区亚洲| www.射射射| 一级毛片免费高清中文字幕久久网| 美脚丝袜一区二区三区在线观看| 麻豆一区在线| 国产精品免费久久久| www.超碰在线| 色综合久久悠悠| 日本暖暖在线视频| 亚洲午夜久久久影院| 天天色综合久久| 日韩精品一区二区三区视频在线观看| 中文文字幕一区二区三三| 婷婷成人激情在线网| 波多野结衣亚洲色图| 国产精品视频一二三区 | 91丨porny丨中文| 亚洲三级在线视频| 久久66热偷产精品| 超碰在线播放91| 日韩黄色小视频| 日本久久久精品视频| 亚洲人成人一区二区三区| 影音先锋成人资源网站| 久久日文中文字幕乱码| 视频在线观看成人| 国内成人自拍| 欧美一区二区高清在线观看| 丝袜美腿一区二区三区动态图 | 91视频一区| 亚洲电影一二三区| 成人嫩草影院| 亚洲高清在线播放| 日韩精品诱惑一区?区三区| 日韩欧美99| 青青草97国产精品麻豆| 亚洲国产精品一区在线观看不卡 | 亚洲av无码精品一区二区 | 91丨porny丨在线中文| 欧美日韩一区精品| 亚洲综合免费视频| 69堂成人精品免费视频| 99热这里只有精品99| 91精品在线免费| www.午夜激情| 精品99999| 神马亚洲视频| 亚洲天堂2020| √新版天堂资源在线资源| 色偷偷偷综合中文字幕;dd| 麻豆传媒在线免费| 色综合久久88色综合天天看泰| 92久久精品| 国产黑人绿帽在线第一区| 成人在线免费| 99一区二区三区| 日韩高清影视在线观看| 欧美视频1区| 午夜av一区| 国产女主播自拍| 久久精品亚洲| 中文字幕av专区| 国产精品夜夜嗨| 午夜一区二区三区免费| 国产嫩草影院久久久久| 日韩亚洲欧美中文字幕| 一区二区在线观看不卡| 中文字幕视频网| 欧美日韩免费观看一区三区| 99久久精品国产成人一区二区| 精品sm在线观看| av播放在线观看| 欧美大片欧美激情性色a∨久久| 极品在线视频| 国产日韩欧美在线看| a看欧美黄色女同性恋| 欧美亚洲免费高清在线观看| 久久精品免费一区二区三区| 很污的网站在线观看| 日本欧美在线观看| 国产精品99久久久精品无码| 久久综合狠狠综合久久激情| 欧美在线视频第一页| 欧美性猛交xxxx免费看| 国产精品九九九九| 亚洲精品福利在线| 麻豆视频免费在线观看| 日韩av电影在线网| 精品中文在线| 日韩女优中文字幕| 99成人在线| 91精产国品一二三产区别沈先生| 91麻豆精东视频| 久久国产在线视频| 欧美日韩国产区一| 免费在线观看污视频| 欧美黑人xxx| 欧洲亚洲精品| 日本在线观看一区| 精品人妻av一区二区三区| 亚洲日本一区二区| 波多野结衣不卡| 亚洲国产成人精品女人久久久| 日本成人网址| 日本在线精品视频| 91精品久久久久久综合五月天| 亚洲在线视频一区二区| 亚洲欧美激情诱惑| 午夜影院福利社| 亚洲乱码国产乱码精品精可以看| 成人免费一级片| 亚洲美腿欧美激情另类| 99re6在线精品视频免费播放| 91精品国产自产在线| 精品久久91| 少妇高潮喷水久久久久久久久久| 成人午夜激情在线| 久久午夜鲁丝片午夜精品| 8x福利精品第一导航| 免费在线观看黄色网| 国产精品一区av| 欧美伦理在线视频| 日韩欧美在线免费观看视频| 97se亚洲国产综合自在线不卡| 国产亚洲欧美精品久久久www| 91精品国产综合久久福利软件| 在线免费观看黄| 国产视频福利一区| 日韩精品诱惑一区?区三区| 爱情岛论坛vip永久入口| 91丝袜美腿高跟国产极品老师 | 天天干天天舔天天操| 色婷婷av一区二区三区gif| 色视频免费在线观看| 日本亚洲欧洲色α| 精品国产视频| 亚洲欧美国产中文| 亚洲欧洲在线观看av| 一女二男一黄一片| 久久精品人人做人人爽| 国产精品视频一区二区三区综合 | 666欧美在线视频| 操你啦视频在线| 成人av影视在线| 最新亚洲一区| 爱爱免费小视频| 欧洲色大大久久| 老司机午夜在线| 国产精品久久久久久久天堂第1集| 国产一区观看| 亚洲AV无码国产精品| 色妹子一区二区| 欧美精品日韩少妇| 91av免费看| 99热这里只有精品8| 国产综合精品在线| 欧美精品一级二级| 色老头在线观看| 久久99精品国产99久久| 日韩精品乱码免费| 强制高潮抽搐sm调教高h| 日韩一区二区三区电影| 热色播在线视频| 欧美一区少妇| 国产呦精品一区二区三区网站 | 欧美在线观看18| 成人免费网站在线观看视频| 国产日韩欧美精品| 日韩电影在线免费| 欧美精品xxxxx| 亚洲欧美在线播放| av在线国产精品| 国产91xxx| 国产精品久久久久影院老司| 精品人妻无码一区二区| 欧美在线观看网址综合| 久久精品免费一区二区三区| 艳妇乳肉亭妇荡乳av| 欧美丝袜丝nylons| а√在线中文在线新版| 亚洲国产日韩欧美| www..com久久爱| 一区二区视频在线免费观看| 性色av香蕉一区二区| 欧美高清视频手机在在线| 亚洲色偷偷色噜噜狠狠99网| 欧美午夜理伦三级在线观看| 久草免费在线色站| 亚洲午夜精品国产| 2019国产精品| av网站免费播放| 国产日韩av在线播放|