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

MySQL大表深度優(yōu)化實(shí)戰(zhàn)策略

數(shù)據(jù)庫(kù) MySQL
select arrival_record操作記錄的慢查詢數(shù)量最多有4萬(wàn)多次,平均響應(yīng)時(shí)間為4s,delete arrival_record記錄了6次,平均響應(yīng)時(shí)間258s。

背景

XX實(shí)例(一主一從)xxx告警中每天凌晨在報(bào)SLA報(bào)警,該報(bào)警的意思是存在一定的主從延遲(若在此時(shí)發(fā)生主從切換,需要長(zhǎng)時(shí)間才可以完成切換,要追延遲來(lái)保證主從數(shù)據(jù)的一致性)。

XX實(shí)例的慢查詢數(shù)量最多(執(zhí)行時(shí)間超過(guò)1s的sql會(huì)被記錄),XX應(yīng)用那方每天晚上在做刪除一個(gè)月前數(shù)據(jù)的任務(wù)。

分析

使用pt-query-digest工具分析最近一周的mysql-slow.log。

pt-query-digest --since=148h mysql-slow.log | less

結(jié)果第一部分

最近一個(gè)星期內(nèi),總共記錄的慢查詢執(zhí)行花費(fèi)時(shí)間為25403s,最大的慢sql執(zhí)行時(shí)間為266s,平均每個(gè)慢sql執(zhí)行時(shí)間5s,平均掃描的行數(shù)為1766萬(wàn)

結(jié)果第二部分

select arrival_record操作記錄的慢查詢數(shù)量最多有4萬(wàn)多次,平均響應(yīng)時(shí)間為4s,delete arrival_record記錄了6次,平均響應(yīng)時(shí)間258s。

select xxx_record語(yǔ)句

select arrival_record 慢查詢語(yǔ)句都類似于如下所示,where語(yǔ)句中的參數(shù)字段是一樣的,傳入的參數(shù)值不一樣 select count(*) from arrival_record where product_id=26 and receive_time between '2019-03-25 14:00:00' and '2019-03-25 15:00:00' and receive_spend_ms>=0\G

select arrival_record 語(yǔ)句在mysql中最多掃描的行數(shù)為5600萬(wàn)、平均掃描的行數(shù)為172萬(wàn),推斷由于掃描的行數(shù)多導(dǎo)致的執(zhí)行時(shí)間長(zhǎng)

查看執(zhí)行計(jì)劃

explain select count(*) from arrival_record where product_id=26 and receive_time between '2019-03-25 14:00:00' and '2019-03-25 15:00:00' and receive_spend_ms>=0\G;
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: arrival_record
partitions: NULL
type: ref
possible_keys: IXFK_arrival_record
key: IXFK_arrival_record
key_len: 8
ref: const
rows: 32261320
filtered: 3.70
Extra: Using index condition; Using where
1 row in set, 1 warning (0.00 sec)

用到了索引IXFK_arrival_record,但預(yù)計(jì)掃描的行數(shù)很多有3000多w行。

show index from arrival_record;
+----------------+------------+---------------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+----------------+------------+---------------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| arrival_record | 0 | PRIMARY | 1 | id | A | 107990720 | NULL | NULL | | BTREE | | |
| arrival_record | 1 | IXFK_arrival_record | 1 | product_id | A | 1344 | NULL | NULL | | BTREE | | |
| arrival_record | 1 | IXFK_arrival_record | 2 | station_no | A | 22161 | NULL | NULL | YES | BTREE | | |
| arrival_record | 1 | IXFK_arrival_record | 3 | sequence | A | 77233384 | NULL | NULL | | BTREE | | |
| arrival_record | 1 | IXFK_arrival_record | 4 | receive_time | A | 65854652 | NULL | NULL | YES | BTREE | | |
| arrival_record | 1 | IXFK_arrival_record | 5 | arrival_time | A | 73861904 | NULL | NULL | YES | BTREE | | |
+----------------+------------+---------------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
show create table arrival_record;
..........
arrival_spend_ms bigint(20) DEFAULT NULL,
total_spend_ms bigint(20) DEFAULT NULL,
PRIMARY KEY (id),
KEY IXFK_arrival_record (product_id,station_no,sequence,receive_time,arrival_time) USING BTREE,
CONSTRAINT FK_arrival_record_product FOREIGN KEY (product_id) REFERENCES product (id) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=614538979 DEFAULT CHARSET=utf8 COLLATE=utf8_bin |
  • 該表總記錄數(shù)約1億多條,表上只有一個(gè)復(fù)合索引,product_id字段基數(shù)很小,選擇性不好
  • 傳入的過(guò)濾條件 where product_id=26 and receive_time between '2019-03-25 14:00:00' and '2019-03-25 15:00:00' and receive_spend_ms>=0 沒(méi)有station_nu字段,使用不到復(fù)合索引 IXFK_arrival_record的 product_id,station_no,sequence,receive_time 這幾個(gè)字段
  • 根據(jù)最左前綴原則,select arrival_record只用到了復(fù)合索引IXFK_arrival_record的第一個(gè)字段product_id,而該字段選擇性很差,導(dǎo)致掃描的行數(shù)很多,執(zhí)行時(shí)間長(zhǎng)
  • receive_time字段的基數(shù)大,選擇性好,可對(duì)該字段單獨(dú)建立索引,select arrival_record sql就會(huì)使用到該索引

現(xiàn)在已經(jīng)知道了在慢查詢中記錄的select arrival_record where語(yǔ)句傳入的參數(shù)字段有 product_id,receive_time,receive_spend_ms,還想知道對(duì)該表的訪問(wèn)有沒(méi)有通過(guò)其它字段來(lái)過(guò)濾了?

神器tcpdump出場(chǎng)的時(shí)候到了

使用tcpdump抓包一段時(shí)間對(duì)該表的select語(yǔ)句。

tcpdump -i bond0 -s 0 -l -w - dst port 3316 | strings | grep select | egrep -i 'arrival_record' >/tmp/select_arri.log

獲取select 語(yǔ)句中from 后面的where條件語(yǔ)句。

IFS_OLD=$IFS
IFS=$'\n'
for i in `cat /tmp/select_arri.log `;do echo ${i#*'from'}; done | less
IFS=$IFS_OLD
arrival_record arrivalrec0_ where arrivalrec0_.sequence='2019-03-27 08:40' and arrivalrec0_.product_id=17 and arrivalrec0_.station_no='56742'
arrival_record arrivalrec0_ where arrivalrec0_.sequence='2019-03-27 08:40' and arrivalrec0_.product_id=22 and arrivalrec0_.station_no='S7100'
arrival_record arrivalrec0_ where arrivalrec0_.sequence='2019-03-27 08:40' and arrivalrec0_.product_id=24 and arrivalrec0_.station_no='V4631'
arrival_record arrivalrec0_ where arrivalrec0_.sequence='2019-03-27 08:40' and arrivalrec0_.product_id=22 and arrivalrec0_.station_no='S9466'
arrival_record arrivalrec0_ where arrivalrec0_.sequence='2019-03-27 08:40' and arrivalrec0_.product_id=24 and arrivalrec0_.station_no='V4205'
arrival_record arrivalrec0_ where arrivalrec0_.sequence='2019-03-27 08:40' and arrivalrec0_.product_id=24 and arrivalrec0_.station_no='V4105'
arrival_record arrivalrec0_ where arrivalrec0_.sequence='2019-03-27 08:40' and arrivalrec0_.product_id=24 and arrivalrec0_.station_no='V4506'
arrival_record arrivalrec0_ where arrivalrec0_.sequence='2019-03-27 08:40' and arrivalrec0_.product_id=24 and arrivalrec0_.station_no='V4617'
arrival_record arrivalrec0_ where arrivalrec0_.sequence='2019-03-27 08:40' and arrivalrec0_.product_id=22 and arrivalrec0_.station_no='S8356'
arrival_record arrivalrec0_ where arrivalrec0_.sequence='2019-03-27 08:40' and arrivalrec0_.product_id=22 and arrivalrec0_.station_no='S8356'
select 該表 where條件中有product_id,station_no,sequence字段,可以使用到復(fù)合索引IXFK_arrival_record的前三個(gè)字段

綜上所示,優(yōu)化方法為,刪除復(fù)合索引IXFK_arrival_record,建立復(fù)合索引idx_sequence_station_no_product_id,并建立單獨(dú)索引indx_receive_time。

delete xxx_record語(yǔ)句

該delete操作平均掃描行數(shù)為1.1億行,平均執(zhí)行時(shí)間是262s。

delete語(yǔ)句如下所示,每次記錄的慢查詢傳入的參數(shù)值不一樣。

delete from arrival_record where receive_time < STR_TO_DATE('2019-02-23', '%Y-%m-%d')\G

執(zhí)行計(jì)劃

explain select * from arrival_record where receive_time < STR_TO_DATE('2019-02-23', '%Y-%m-%d')\G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: arrival_record
partitions: NULL
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 109501508
filtered: 33.33
Extra: Using where
1 row in set, 1 warning (0.00 sec)

該delete語(yǔ)句沒(méi)有使用索引(沒(méi)有合適的索引可用),走的全表掃描,導(dǎo)致執(zhí)行時(shí)間長(zhǎng)

優(yōu)化方法也是 建立單獨(dú)索引indx_receive_time(receive_time)

測(cè)試

拷貝arrival_record表到測(cè)試實(shí)例上進(jìn)行刪除重新索引操作XX實(shí)例arrival_record表信息

du -sh /datas/mysql/data/3316/cq_new_cimiss/arrival_record*
12K /datas/mysql/data/3316/cq_new_cimiss/arrival_record.frm
48G /datas/mysql/data/3316/cq_new_cimiss/arrival_record.ibd
select count() from cq_new_cimiss.arrival_record;
+-----------+
| count() |
+-----------+
| 112294946 |
+-----------+
1億多記錄數(shù)

SELECT
table_name,
CONCAT(FORMAT(SUM(data_length) / 1024 / 1024,2),'M') AS dbdata_size,
CONCAT(FORMAT(SUM(index_length) / 1024 / 1024,2),'M') AS dbindex_size,
CONCAT(FORMAT(SUM(data_length + index_length) / 1024 / 1024 / 1024,2),'G') AS table_size(G),
AVG_ROW_LENGTH,table_rows,update_time
FROM
information_schema.tables
WHERE table_schema = 'cq_new_cimiss' and table_name='arrival_record';
+----------------+-------------+--------------+------------+----------------+------------+---------------------+
| table_name | dbdata_size | dbindex_size | table_size(G) | AVG_ROW_LENGTH | table_rows | update_time |
+----------------+-------------+--------------+------------+----------------+------------+---------------------+
| arrival_record | 18,268.02M | 13,868.05M | 31.38G | 175 | 109155053 | 2019-03-26 12:40:17 |
+----------------+-------------+--------------+------------+----------------+------------+---------------------+

磁盤占用空間48G,mysql中該表大小為31G,存在17G左右的碎片,大多由于刪除操作造成的(記錄被刪除了,空間沒(méi)有回收)

備份還原該表到新的實(shí)例中,刪除原來(lái)的復(fù)合索引,重新添加索引進(jìn)行測(cè)試

mydumper并行壓縮備份

user=root
passwd=xxxx
socket=/datas/mysql/data/3316/mysqld.sock
db=cq_new_cimiss
table_name=arrival_record
backupdir=/datas/dump_$table_name
mkdir -p $backupdir
  nohup echo `date +%T` && mydumper -u $user -p $passwd -S $socket -B $db -c -T $table_name -o $backupdir -t 32 -r 2000000 && echo `date +%T` &

并行壓縮備份所花時(shí)間(52s)和占用空間(1.2G,實(shí)際該表占用磁盤空間為48G,mydumper并行壓縮備份壓縮比相當(dāng)高!)

Started dump at: 2019-03-26 12:46:04
........

Finished dump at: 2019-03-26 12:46:56

du -sh   /datas/dump_arrival_record/
1.2G  /datas/dump_arrival_record/

拷貝dump數(shù)據(jù)到測(cè)試節(jié)點(diǎn)

scp -rp /datas/dump_arrival_record root@10.230.124.19:/datas

多線程導(dǎo)入數(shù)據(jù)

time myloader -u root -S /datas/mysql/data/3308/mysqld.sock -P 3308 -p root -B test -d /datas/dump_arrival_record -t 32

real 126m42.885s user 1m4.543s sys 0m4.267s

邏輯導(dǎo)入該表后磁盤占用空間

du -h -d 1 /datas/mysql/data/3308/test/arrival_record.*
12K /datas/mysql/data/3308/test/arrival_record.frm
30G /datas/mysql/data/3308/test/arrival_record.ibd
沒(méi)有碎片,和mysql的該表的大小一致
cp -rp /datas/mysql/data/3308 /datas

分別使用online DDL和 pt-osc工具來(lái)做刪除重建索引操作 先刪除外鍵,不刪除外鍵,無(wú)法刪除復(fù)合索引,外鍵列屬于復(fù)合索引中第一列

nohup bash /tmp/ddl_index.sh &
2019-04-04-10:41:39 begin stop mysqld_3308
2019-04-04-10:41:41 begin rm -rf datadir and cp -rp datadir_bak
2019-04-04-10:46:53 start mysqld_3308
2019-04-04-10:46:59 online ddl begin
2019-04-04-11:20:34 onlie ddl stop
2019-04-04-11:20:34 begin stop mysqld_3308
2019-04-04-11:20:36 begin rm -rf datadir and cp -rp datadir_bak
2019-04-04-11:22:48 start mysqld_3308
2019-04-04-11:22:53 pt-osc begin
2019-04-04-12:19:15 pt-osc stop
online ddl 花費(fèi)時(shí)間為34 分鐘,pt-osc花費(fèi)時(shí)間為57 分鐘,使用onlne ddl時(shí)間約為pt-osc工具時(shí)間的一半

*做DDL 參考 *

實(shí)施

由于是一主一從實(shí)例,應(yīng)用是連接的vip,刪除重建索引采用online ddl來(lái)做。停止主從復(fù)制后,先在從實(shí)例上做(不記錄binlog),主從切換,再在新切換的從實(shí)例上做(不記錄binlog)

function red_echo () {

        local what="$*"
        echo -e "$(date +%F-%T)  ${what}"
}

function check_las_comm(){
    if [ "$1" != "0" ];then
        red_echo "$2"
        echo "exit 1"
        exit 1
    fi
}

red_echo "stop slave"
mysql -uroot -p$passwd --socket=/datas/mysql/data/${port}/mysqld.sock -e"stop slave"
check_las_comm "$?" "stop slave failed"

red_echo "online ddl begin"
 mysql -uroot -p$passwd --socket=/datas/mysql/data/${port}/mysqld.sock -e"set sql_log_bin=0;select now() as  ddl_start;ALTER TABLE $db_.\`${table_name}\` DROP FOREIGN KEY FK_arrival_record_product,drop index IXFK_arrival_record,add index idx_product_id_sequence_station_no(product_id,sequence,station_no),add index idx_receive_time(receive_time);select now() as ddl_stop" >>${log_file} 2>& 1
 red_echo "onlie ddl stop"
 red_echo "add foreign key"
 mysql -uroot -p$passwd --socket=/datas/mysql/data/${port}/mysqld.sock -e"set sql_log_bin=0;ALTER TABLE $db_.${table_name} ADD CONSTRAINT _FK_${table_name}_product FOREIGN KEY (product_id) REFERENCES cq_new_cimiss.product (id) ON DELETE NO ACTION ON UPDATE NO ACTION;" >>${log_file} 2>& 1
 check_las_comm "$?" "add foreign key error"
 red_echo "add foreign key stop"

red_echo "start slave"
mysql -uroot -p$passwd --socket=/datas/mysql/data/${port}/mysqld.sock -e"start slave"
check_las_comm "$?" "start slave failed"

*執(zhí)行時(shí)間 *

2019-04-08-11:17:36 stop slave mysql: [Warning] Using a password on the command line interface can be insecure. ddl_start 2019-04-08 11:17:36ddl_stop 2019-04-08 11:45:132019-04-08-11:45:13 onlie ddl stop 2019-04-08-11:45:13 add foreign key mysql: [Warning] Using a password on the command line interface can be insecure. 2019-04-08-12:33:48 add foreign key stop 2019-04-08-12:33:48 start slave

*再次查看delete 和select語(yǔ)句的執(zhí)行計(jì)劃 *

explain select count(*) from arrival_record where receive_time < STR_TO_DATE('2019-03-10', '%Y-%m-%d')\G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: arrival_record
partitions: NULL
type: range
possible_keys: idx_receive_time
key: idx_receive_time
key_len: 6
ref: NULL
rows: 7540948
filtered: 100.00
Extra: Using where; Using index
explain select count(*) from arrival_record where product_id=26 and receive_time between '2019-03-25 14:00:00' and '2019-03-25 15:00:00' and receive_spend_ms>=0\G;
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: arrival_record
partitions: NULL
type: range
possible_keys: idx_product_id_sequence_station_no,idx_receive_time
key: idx_receive_time
key_len: 6
ref: NULL
rows: 291448
filtered: 16.66
Extra: Using index condition; Using where
都使用到了idx_receive_time 索引,掃描的行數(shù)大大降低

索引優(yōu)化后

delete 還是花費(fèi)了77s時(shí)間

delete from arrival_record where receive_time < STR_TO_DATE('2019-03-10', '%Y-%m-%d')\G

delete 語(yǔ)句通過(guò)receive_time的索引刪除300多萬(wàn)的記錄花費(fèi)77s時(shí)間*

delete大表優(yōu)化為小批量刪除

應(yīng)用端已優(yōu)化成每次刪除10分鐘的數(shù)據(jù)(每次執(zhí)行時(shí)間1s左右),xxx中沒(méi)在出現(xiàn)SLA(主從延遲告警) 

另一個(gè)方法是通過(guò)主鍵的順序每次刪除20000條記錄 

#得到滿足時(shí)間條件的最大主鍵ID
#通過(guò)按照主鍵的順序去 順序掃描小批量刪除數(shù)據(jù)
#先執(zhí)行一次以下語(yǔ)句
 SELECT MAX(id) INTO @need_delete_max_id FROM `arrival_record` WHERE receive_time<'2019-03-01' ;
 DELETE FROM arrival_record WHERE id<@need_delete_max_id LIMIT 20000;
 select ROW_COUNT();  #返回20000


#執(zhí)行小批量delete后會(huì)返回row_count(), 刪除的行數(shù)
#程序判斷返回的row_count()是否為0,不為0執(zhí)行以下循環(huán),為0退出循環(huán),刪除操作完成
 DELETE FROM arrival_record WHERE id<@need_delete_max_id LIMIT 20000;
 select ROW_COUNT();
#程序睡眠0.5s

總結(jié)

  • 表數(shù)據(jù)量太大時(shí),除了關(guān)注訪問(wèn)該表的響應(yīng)時(shí)間外,還要關(guān)注對(duì)該表的維護(hù)成本(如做DDL表更時(shí)間太長(zhǎng),delete歷史數(shù)據(jù))。
  • 對(duì)大表進(jìn)行DDL操作時(shí),要考慮表的實(shí)際情況(如對(duì)該表的并發(fā)表,是否有外鍵)來(lái)選擇合適的DDL變更方式。
  • 對(duì)大數(shù)據(jù)量表進(jìn)行delete,用小批量刪除的方式,減少對(duì)主實(shí)例的壓力和主從延遲。
責(zé)任編輯:武曉燕 來(lái)源: 一安未來(lái)
相關(guān)推薦

2024-11-05 11:14:05

2016-08-04 13:19:06

MySQL數(shù)據(jù)庫(kù)大優(yōu)化

2020-03-27 15:40:10

MySQL索引數(shù)據(jù)庫(kù)

2009-04-20 08:51:50

MySQL查詢優(yōu)化數(shù)據(jù)庫(kù)

2023-10-12 19:41:55

2025-11-19 07:59:57

2025-01-15 08:05:06

MySQLLEFT JOIN數(shù)據(jù)庫(kù)

2020-04-08 07:55:08

MySQLSLA數(shù)據(jù)

2025-01-15 12:48:30

2025-06-03 02:55:00

2017-03-15 16:15:35

2025-02-17 10:13:27

2012-11-14 11:18:29

Mysql

2010-11-23 11:36:15

MySQL創(chuàng)建關(guān)聯(lián)表

2011-05-11 10:46:51

2025-04-15 08:30:00

2018-03-30 18:17:10

MySQLLinux

2018-10-19 12:47:35

MySQLSQL優(yōu)化數(shù)據(jù)庫(kù)

2020-11-17 08:08:34

分庫(kù)分表

2025-10-30 00:00:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

精品无人区一区二区三区竹菊 | 成人免费福利片| 亚洲三级电影网站| 性色av一区二区三区红粉影视| 小毛片在线观看| 欧美日韩在线精品一区二区三区激情综合| 久久韩国免费视频| 区一区二区三区中文字幕| 国产一级淫片a视频免费观看| 欧州一区二区| 韩剧1988免费观看全集| 国产片侵犯亲女视频播放| 高h震动喷水双性1v1| 69国产精品视频免费观看| 五月婷婷免费视频| 久久久久久黄| 久久伊人色综合| 欧美黑人欧美精品刺激| 精品中文视频| 91成人在线观看喷潮| 亚洲国产天堂久久国产91| 亚洲人成免费电影| gogogo高清免费观看在线视频| 污的网站在线观看| 久久免费看少妇高潮| 91精品视频免费| 久久天天狠狠| 91精品国产三级| 99在线精品视频免费观看20| 亚洲小说欧美另类婷婷| 国产一区二区三区视频免费| 午夜影院福利社| 日韩欧国产精品一区综合无码| 精精国产xxxx视频在线中文版 | 亚洲国产精品va在线看黑人| 污污的网站18| a天堂视频在线| 天堂久久一区二区三区| 日韩精品91亚洲二区在线观看| 尤物tv国产一区| 国产精品无码电影| 一区二区三区视频播放| 欧美日韩不卡在线| 亚洲在线播放电影| 男女网站在线观看| www.亚洲在线| 中文字幕精品—区二区日日骚| 欧美人与禽zoz0善交| 动漫av一区| 欧美亚一区二区| 日韩a在线播放| sm捆绑调教国产免费网站在线观看| 中文字幕在线一区免费| 亚洲高清久久久| 亚洲精选在线观看| 国产又黄又大久久| 久久成人精品一区二区三区| 人人妻人人澡人人爽| 精品少妇一区| 精品国产一区二区三区久久久蜜月 | 久久国产成人精品| 久色成人在线| 欧美日韩国产第一页| 日韩在线一卡二卡| 久久国产电影| 久久夜色精品亚洲噜噜国产mv | 久久精品aⅴ无码中文字字幕重口| 国产同性人妖ts口直男| 七七婷婷婷婷精品国产| 国产97在线观看| 伊人久久久久久久久| 欧美第一在线视频| 精品福利av导航| 国产网友自拍视频导航网站在线观看| 日韩精品一二三四| 国产不卡视频在线| 中文字幕在线观看免费| 激情综合亚洲精品| 日韩在线国产精品| 国产二级一片内射视频播放| 欧美爱爱网站| 欧美精品v国产精品v日韩精品 | av在线小说| 欧美性xxxx在线播放| 欧美 另类 交| 欧美日韩经典丝袜| 婷婷开心激情综合| 天天干天天av| 国产精品对白久久久久粗| 亚洲人成在线观| 永久免费看片直接| 亚洲承认在线| 国产精品普通话| 亚洲精品视频专区| 极品美女销魂一区二区三区免费 | 99产精品成人啪免费网站| 国产99久久久国产精品潘金网站| 精品亚洲一区二区三区四区五区高| 蜜桃免费在线| 一区二区三区欧美久久| 免费黄色福利视频| 国产精品日本一区二区三区在线| 欧洲生活片亚洲生活在线观看| 欧美大片久久久| 欧美爱爱网站| 欧美另类极品videosbest最新版本| 精品91久久久| 日本成人在线视频网站| 国产精华一区| 91在线播放网站| 亚洲综合精品久久| 日本中文字幕精品—区二区| 任我爽精品视频在线播放| 久久视频在线看| 尤物视频免费观看| 不卡的av网站| 日本天堂免费a| 国产一区二区三区四区五区3d| 精品国产免费一区二区三区四区 | 国产精品视频最多的网站| 亚洲精品一区二区三区不卡| 国产精品国产a| 国产精品免费观看久久| 黄色免费大全亚洲| 伦伦影院午夜日韩欧美限制| jizz国产在线| 久久影视一区二区| 国产精品无码人妻一区二区在线| 丁香花电影在线观看完整版| 欧美日韩午夜在线视频| 亚洲一区二区三区蜜桃| 在线看片一区| 99久久一区三区四区免费| 日本美女高清在线观看免费| 在线亚洲一区观看| 中文字幕xxx| 夜夜爽av福利精品导航| 粉嫩av四季av绯色av第一区| 怡红院在线观看| 欧美精品三级在线观看| 亚洲精品一区二区三区影院忠贞| 国产精品日韩| 国产欧美在线一区二区| 久草在线视频资源| 精品久久久久久久久久久久包黑料 | 欧美日韩精品三区| 能直接看的av| 欧美aaaaaa午夜精品| 亚洲free嫩bbb| 麻豆tv入口在线看| 91麻豆精品国产91| 最新一区二区三区| 国产精品99久久久久| 免费看污污视频| 国产精品一站二站| 久久久久久久久中文字幕| 日韩在线观看视频网站| 亚洲成人免费影院| 欧亚乱熟女一区二区在线| 国产精品久久777777毛茸茸| 久久艹中文字幕| 新片速递亚洲合集欧美合集| 欧美一区二区三区啪啪| 国产精品免费在线视频| 国产中文字幕精品| 青青草视频在线视频| 午夜免费欧美电影| 97在线精品视频| 欧美69xxxxx| 欧美日韩中文另类| 天天干中文字幕| 91在线视频免费观看| 久久久久久香蕉| 精品久久影视| 91成人伦理在线电影| 嗯啊主人调教在线播放视频| 亚洲欧美资源在线| 国产精品久久综合青草亚洲AV| 亚洲久草在线视频| 四虎永久在线精品无码视频| 欧洲美女日日| 亚洲xxxx做受欧美| gay欧美网站| 精品国产拍在线观看| 日本黄色三级视频| 欧美亚洲国产怡红院影院| 曰本女人与公拘交酡| 99久久99精品久久久久久| 超碰在线人人爱| 国色天香一区二区| 免费在线国产精品| 国产精久久久| 欧洲午夜精品久久久| 免费观看在线黄色网| 日韩欧美中文字幕精品| 国产高清中文字幕| 亚洲乱码日产精品bd| 久久久无码人妻精品一区| 激情综合网最新| 国产精品沙发午睡系列| 91精品一区二区三区综合| 蜜桃导航-精品导航| 国产欧美日韩电影| 国产精品wwwwww| av在线私库| 久久国产一区二区三区| 男人天堂综合| 亚洲白拍色综合图区| 一级片在线免费观看视频| 精品久久久久久| 青娱乐国产在线| 中文字幕av在线一区二区三区| av av在线| 国产精品主播直播| 天天干天天操天天玩| 久久aⅴ国产紧身牛仔裤| 美女av免费观看| 成人av动漫在线观看| 精品国产一区二区三区麻豆免费观看完整版 | av直播在线观看| 成人小视频在线| 天堂在线一区二区三区| 人人精品人人爱| 黑森林福利视频导航| 亚洲国产精品一区| 国产一级大片免费看| 91麻豆精品国产91久久久平台| 国产综合香蕉五月婷在线| 少妇视频一区| 在线亚洲欧美视频| 三级在线视频| 亚洲精品成人久久| 欧美熟妇乱码在线一区| 欧美一级夜夜爽| 国产特黄一级片| 欧美日韩精品系列| 一级片视频免费| 免费福利视频一区二区三区| 在线观看日韩av| 黄网在线观看| 亚洲男人的天堂在线播放| 亚州av在线播放| 国产手机视频精品| 国产在线中文字幕| 国产小视频国产精品| 极品美乳网红视频免费在线观看| 亚洲精品一区二区网址| 手机福利在线| 色一情一乱一乱一91av| 自拍偷拍欧美亚洲| 精品日本美女福利在线观看| 亚洲精品www久久久久久| 性久久久久久久久久久久| 国产成人啪精品午夜在线观看| 亚洲国产日韩一级| 日韩av在线播| 一本大道综合伊人精品热热| 男人天堂av在线播放| 日本韩国精品一区二区在线观看| 无码人妻精品一区二区| 欧美三片在线视频观看| 亚洲影视一区二区| 日韩一区二区影院| 亚洲女人18毛片水真多| 亚洲国产精品yw在线观看| 神宫寺奈绪一区二区三区| 欧美午夜视频网站| 在线观看免费观看在线| 欧美一区二区三区啪啪| 老牛影视av牛牛影视av| 亚洲日韩欧美视频一区| 91精品国产91久久久久游泳池| 俺去了亚洲欧美日韩| heyzo在线| 日本精品久久电影| 成人国产一区| 91麻豆精品秘密入口| 日本久久成人网| 天天爽天天狠久久久| 欧美粗暴jizz性欧美20| 国产h视频在线播放| 免费高清视频精品| 中文字幕99页| 国产日韩成人精品| 99精品久久久久| 日韩欧美中文字幕在线观看 | 91精品国产综合久久福利| 亚洲欧美黄色片| 夜夜嗨av色一区二区不卡| 中文字幕资源网在线观看| 欧美一级片在线播放| 国产亚洲高清在线观看| 久久精品中文字幕一区二区三区 | 久久成人福利| 亚洲日本精品| 亚洲深夜激情| 亚洲一区二区三区四区精品| 免费看欧美女人艹b| 亚洲成a人无码| 国产精品青草久久| 日韩 欧美 综合| 亚洲欧洲国产日韩| 成人午夜视频精品一区| 欧美日韩高清一区| 亚洲色大成网站www| 久久精品中文字幕电影| 亚洲综合电影| 国产超碰91| 婷婷综合网站| 国产精品一区在线免费观看| 国产精品日韩欧美一区| 亚洲AV成人精品| 国产精品蜜臀在线观看| 亚欧视频在线观看| 日韩精品一区二区三区在线| 欧美成人高清在线| 欧美壮男野外gaytube| 999久久精品| 日本一二三区视频在线| 欧美日韩国产探花| 乌克兰美女av| 久久久久久久久伊人| 日本三级网站在线观看| 欧美一区二区三区免费大片| 北岛玲日韩精品一区二区三区| 91av视频导航| 超碰这里只有精品| 蜜桃传媒视频麻豆第一区免费观看| 国内精品久久久久久久97牛牛| 一级黄色录像在线观看| 国产欧美一区在线| 免费又黄又爽又猛大片午夜| 日韩精品一区二区视频| 51精品在线| 精品无人乱码一区二区三区的优势| 在线看片日韩| 高清中文字幕mv的电影| 一区二区三区欧美激情| www.av在线.com| 久久91亚洲精品中文字幕| 日韩精品一区国产| 大陆极品少妇内射aaaaaa| 国产精品一区免费视频| 精品一区在线观看视频| 91精品国产美女浴室洗澡无遮挡| 91精品大全| 成人亚洲综合色就1024| 91精品婷婷色在线观看| 原创真实夫妻啪啪av| 一区二区三区蜜桃| 亚洲第一天堂影院| 97精品伊人久久久大香线蕉| 加勒比久久高清| 欧美极品欧美精品欧美图片| 久久久激情视频| 中文字幕视频在线播放| 久久精品亚洲热| 欧美国产中文高清| 无码中文字幕色专区| xnxx国产精品| 中文字幕欧美人妻精品| 久久成人免费视频| jizz国产精品| 女人扒开屁股爽桶30分钟| 欧美激情资源网| 99在线精品视频免费观看20| 久久久久久91| 国产乱码精品一区二区亚洲| 激情视频免费网站| 伊人一区二区三区| 三级黄视频在线观看| 国产精品美女午夜av| 围产精品久久久久久久| 中文字幕18页| 欧美亚洲国产一区二区三区| 国产黄大片在线观看画质优化| 超碰97在线播放| 另类亚洲自拍| 国产十六处破外女视频| 亚洲男人天堂古典| 91欧美精品| 美女黄色免费看| 中文字幕国产一区| www.蜜臀av| 国产精品成人播放| 欧美激情麻豆| 波多野结衣一本| 欧美一区二区在线不卡| 欧美极度另类| 免费看日本黄色| 国产日韩欧美在线一区| 成人福利小视频| 国产精品久久久亚洲| 尤物精品在线| 国产精品视频一区二区在线观看| 日韩精品久久久久| 国产午夜亚洲精品一级在线| 亚洲精品高清无码视频| 亚洲一区二区三区免费视频| 国产成人久久精品77777综合 |