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

一篇文章聊透索引失效有哪些情況及如何解決

數(shù)據(jù)庫(kù)
MySQL 索引失效是一個(gè)相當(dāng)普遍的問題,尤其在處理慢查詢時(shí)特別需要注意是否存在索引失效的情況。

MySQL 索引失效是一個(gè)相當(dāng)普遍的問題,尤其在處理慢查詢時(shí)特別需要注意是否存在索引失效的情況。

排查索引失效問題的第一步,必須定位要分析的 SQL 語句,然后通過EXPLAIN來查看其執(zhí)行計(jì)劃。主要關(guān)注type、key和extra這幾個(gè)字段。

具體需要關(guān)注的字段可參考文章:分析 SQL 執(zhí)行計(jì)劃,需要關(guān)注哪些重要信息

我們需根據(jù) key、type 和 extra 判斷 SQL 查詢是否利用了索引。若是,是否為覆蓋索引、索引下推、整體索引掃描,或是索引跳躍掃描等情況。

通常,優(yōu)化的索引使用情況包括以下幾種:

  • 首先,key 字段必須有值,不得為 NULL。
  • 其次,type 應(yīng)該是 ref、eq_ref、range、const 等幾種類型。
  • 此外,extra 字段如果為 NULL 或者包含"using index"、"using index condition"都是可以接受的情況。

如果執(zhí)行計(jì)劃顯示一條 SQL 語句沒有有效利用索引,例如 type = ALL,key = NULL,extra = Using where。

那么就需要進(jìn)一步分析未能有效利用索引的原因。需要了解的是,是否需要使用索引以及應(yīng)該使用哪個(gè)索引,這是由 MySQL 的優(yōu)化器決定的,它會(huì)根據(jù)成本估算做出決策。

以下是導(dǎo)致未能有效利用索引的幾種可能情況:

  • 索引未正確創(chuàng)建:當(dāng)查詢語句中的 where 條件涉及的字段未創(chuàng)建索引,或者索引未滿足最左前綴匹配條件時(shí),就未能正確創(chuàng)建索引。
  • 索引區(qū)分度不足:如果索引的區(qū)分度不高,可能導(dǎo)致未使用索引,因?yàn)樵谶@種情況下,利用索引并不能有效提升查詢效率。
  • 表過小:當(dāng)表中的數(shù)據(jù)量很少時(shí),優(yōu)化器可能認(rèn)為全表掃描的成本不高,因此可能選擇不使用索引。
  • 查詢語句中使用了函數(shù)或字段類型不匹配等情況導(dǎo)致索引失效。

這時(shí)候我們需要從頭開始逐一分析:

  • 如果索引未正確創(chuàng)建,根據(jù) SQL 語句創(chuàng)建適當(dāng)?shù)乃饕H绻醋袷刈钭笄熬Y原則,調(diào)整索引或修改 SQL 語句。
  • 若索引區(qū)分度不高,考慮選擇另一個(gè)更合適的索引字段。
  • 對(duì)于表過小的情況,優(yōu)化影響可能不大,因此是否使用索引可以不做過多優(yōu)化。
  • 排查具體的失效原因,然后有針對(duì)性地調(diào)整 SQL 語句。

可能導(dǎo)致索引失效的情況

假設(shè)我們有一張表(以下 SQL 實(shí)驗(yàn)基于 MySQL 5.7):

CREATE TABLE `mytable` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `age` int(11) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`),
  KEY `age` (`age`),
  KEY `create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

insert into mytable(id,name,age,create_time) values (1,"paidaxing",20,now());
insert into mytable(id,name,age,create_time) values (2,"paidaxing1",21,now());
insert into mytable(id,name,age,create_time) values (3,"paidaxing2",22,now());
insert into mytable(id,name,age,create_time) values (4,"paidaxing3",20,now());
insert into mytable(id,name,age,create_time) values (5,"paidaxing4",14,now());
insert into mytable(id,name,age,create_time) values (6,"paidaxing5",43,now());
insert into mytable(id,name,age,create_time) values (7,"paidaxing6",32,now());
insert into mytable(id,name,age,create_time) values (8,"paidaxing7",12,now());
insert into mytable(id,name,age,create_time) values (9,"paidaxing8",1,now());
insert into mytable(id,name,age,create_time) values (10,"paidaxing9",43,now());

索引列參與計(jì)算

select * from mytable where age = 12;

+----+-------------+---------+------------+------+---------------+------+---------+-------+------+----------+-------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref   | rows | filtered | Extra |
+----+-------------+---------+------------+------+---------------+------+---------+-------+------+----------+-------+
|  1 | SIMPLE      | mytable | NULL       | ref  | age           | age  | 5       | const |    1 |   100.00 | NULL  |
+----+-------------+---------+------------+------+---------------+------+---------+-------+------+----------+-------+

以上 SQL 語句是可以利用索引的,但如果在字段中增加計(jì)算操作,就可能導(dǎo)致索引失效:

select * from mytable where age +1 = 12;

+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra       |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | mytable | NULL       | ALL  | NULL          | NULL | NULL    | NULL |   10 |   100.00 | Using where |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+

但如果計(jì)算的形式如下,仍然可以利用索引:

select * from mytable where age = 12 - 1;

+----+-------------+---------+------------+------+---------------+------+---------+-------+------+----------+-------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref   | rows | filtered | Extra |
+----+-------------+---------+------------+------+---------------+------+---------+-------+------+----------+-------+
|  1 | SIMPLE      | mytable | NULL       | ref  | age           | age  | 5       | const |    1 |   100.00 | NULL  |
+----+-------------+---------+------------+------+---------------+------+---------+-------+------+----------+-------+

對(duì)索引列進(jìn)行函數(shù)操作

SELECT * FROM mytable WHERE create_time = '2023-04-01 00:00:00';

+----+-------------+---------+------------+------+---------------+-------------+---------+-------+------+----------+-------+
| id | select_type | table   | partitions | type | possible_keys | key         | key_len | ref   | rows | filtered | Extra |
+----+-------------+---------+------------+------+---------------+-------------+---------+-------+------+----------+-------+
|  1 | SIMPLE      | mytable | NULL       | ref  | create_time   | create_time | 6       | const |    1 |   100.00 | NULL  |
+----+-------------+---------+------------+------+---------------+-------------+---------+-------+------+----------+-------+

以上 SQL 語句可以利用索引,但如果在字段中添加函數(shù)操作,可能會(huì)導(dǎo)致索引失效:

SELECT * FROM mytable WHERE YEAR(create_time) = 2022;

+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra       |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | mytable | NULL       | ALL  | NULL          | NULL | NULL    | NULL |   10 |   100.00 | Using where |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+

使用 OR

SELECT * FROM mytable WHERE name = 'paidaxing' and age > 18;

+----+-------------+---------+------------+-------+---------------+------+---------+-------+------+----------+-------+
| id | select_type | table   | partitions | type  | possible_keys | key  | key_len | ref   | rows | filtered | Extra |
+----+-------------+---------+------------+-------+---------------+------+---------+-------+------+----------+-------+
|  1 | SIMPLE      | mytable | NULL       | const | name,age      | name | 202     | const |    1 |   100.00 | NULL  |
+----+-------------+---------+------------+-------+---------------+------+---------+-------+------+----------+-------+

但如果使用 OR,并且 OR 條件中的兩側(cè)包含<或者>操作符時(shí),可能會(huì)導(dǎo)致索引失效,例如:

SELECT * FROM mytable WHERE name = 'paidaxing' OR age > 18;

+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra       |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | mytable | NULL       | ALL  | name,age      | NULL | NULL    | NULL |   10 |    40.00 | Using where |
+-

但如果 OR 條件的兩側(cè)都是等號(hào)判斷,并且兩個(gè)字段都有索引,仍然可以利用索引,例如:

mysql> explain SELECT * FROM mytable WHERE name = 'paidaxing' OR age = 18;
+----+-------------+---------+------------+-------------+---------------+----------+---------+------+------+----------+------------------------------------+
| id | select_type | table   | partitions | type        | possible_keys | key      | key_len | ref  | rows | filtered | Extra                              |
+----+-------------+---------+------------+-------------+---------------+----------+---------+------+------+----------+------------------------------------+
|  1 | SIMPLE      | mytable | NULL       | index_merge | name,age      | name,age | 202,5   | NULL |    2 |   100.00 | Using union(name,age); Using where |
+----+-------------+---------+------------+-------------+---------------+----------+---------+------+------+----------+------------------------------------+

like 操作

SELECT * FROM mytable WHERE nick like '%paidaxing%';
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra       |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | mytable | NULL       | ALL  | NULL          | NULL | NULL    | NULL |   10 |    11.11 | Using where |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+



SELECT * FROM mytable WHERE nick like '%paidaxing';
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra       |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | mytable | NULL       | ALL  | NULL          | NULL | NULL    | NULL |   10 |    11.11 | Using where |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+


SELECT * FROM mytable WHERE nick like 'paidaxing%';
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra       |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | mytable | NULL       | range| nick          | nick | NULL    | NULL |   10 |   100.00 | Using index condition |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+



SELECT * FROM mytable WHERE nick like 'paida%xing';
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra       |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | mytable | NULL       | range| nick          | nick | NULL    | NULL |   10 |   100.00 | Using index condition |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+

以上四種 LIKE 模式中,"paidaxing%"和"paida%xing"這兩種可以利用索引,但是如果是"%paidaxing%"和"%paidaxing"就無法利用索引。

隱式類型轉(zhuǎn)換

select * from mytable where name = 1;
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra       |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | mytable | NULL       | ALL  | name          | NULL | NULL    | NULL |   10 |    10.00 | Using where |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+

以上情況中,如果表中的 name 字段是 varchar 類型,但我們使用 int 類型進(jìn)行查詢,這會(huì)導(dǎo)致索引失效。

然而,有一個(gè)特例是,如果字段類型是 int 類型,而查詢條件中添加了單引號(hào)或雙引號(hào),MySQL 會(huì)將參數(shù)轉(zhuǎn)換為 int 類型,這種情況下也可以利用索引。

select * from mytable where age = '1';

+----+-------------+---------+------------+------+---------------+------+---------+-------+------+----------+-------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref   | rows | filtered | Extra |
+----+-------------+---------+------------+------+---------------+------+---------+-------+------+----------+-------+
|  1 | SIMPLE      | mytable | NULL       | ref  | age           | age  | 5       | const |    1 |   100.00 | NULL  |
+----+-------------+---------+------------+------+---------------+------+---------+-------+------+----------+-------+

不等于比較

SELECT * FROM mytable WHERE age != 18;

+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra       |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | mytable | NULL       | ALL  | age           | NULL | NULL    | NULL |   10 |   100.00 | Using where |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+

但并非所有情況都是如此,例如在以下情況下,使用 ID 進(jìn)行!=比較時(shí),可能會(huì)利用索引:

SELECT * FROM mytable WHERE id != 18;
+----+-------------+---------+------------+-------+---------------+---------+---------+------+------+----------+-------------+
| id | select_type | table   | partitions | type  | possible_keys | key     | key_len | ref  | rows | filtered | Extra       |
+----+-------------+---------+------------+-------+---------------+---------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | mytable | NULL       | range | PRIMARY       | PRIMARY | 4       | NULL |   12 |   100.00 | Using where |
+----+-------------+---------+------------+-------+---------------+---------+---------+------+------+----------+-------------+

在使用!=(不等于)操作符時(shí),索引是否失效與多個(gè)因素有關(guān),包括索引的選擇性、數(shù)據(jù)的分布情況等,并不能簡(jiǎn)單地因?yàn)槭褂昧?=操作符就說導(dǎo)致了索引失效。

is not null

以下情況是索引失效的:

SELECT * FROM mytable WHERE name is not null

+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra       |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | mytable | NULL       | ALL  | name          | NULL | NULL    | NULL |   10 |    90.00 | Using where |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+

order by

SELECT * FROM mytable order by age

+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+----------------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra          |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+----------------+
|  1 | SIMPLE      | mytable | NULL       | ALL  | NULL          | NULL | NULL    | NULL |   10 |   100.00 | Using filesort |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+----------------+

當(dāng)進(jìn)行 ORDER BY 操作時(shí),如果數(shù)據(jù)量非常小,數(shù)據(jù)庫(kù)可能會(huì)選擇在內(nèi)存中進(jìn)行排序,而不是使用索引。

in

使用 IN 操作時(shí),有時(shí)會(huì)走索引,有時(shí)則不會(huì)。一般來說,當(dāng) IN 子句中的值較少時(shí),數(shù)據(jù)庫(kù)可能會(huì)選擇使用索引進(jìn)行優(yōu)化;但如果 IN 子句中的選項(xiàng)較多,可能就不會(huì)使用索引。

mysql> explain select * from mytable where name in ("paidaxing");
+----+-------------+---------+------------+-------+---------------+------+---------+-------+------+----------+-------+
| id | select_type | table   | partitions | type  | possible_keys | key  | key_len | ref   | rows | filtered | Extra |
+----+-------------+---------+------------+-------+---------------+------+---------+-------+------+----------+-------+
|  1 | SIMPLE      | mytable | NULL       | const | name          | name | 202     | const |    1 |   100.00 | NULL  |
+----+-------------+---------+------------+-------+---------------+------+---------+-------+------+----------+-------+

mysql> explain select * from mytable where name in ("paidaxing","pdx");
+----+-------------+---------+------------+-------+---------------+------+---------+------+------+----------+-----------------------+
| id | select_type | table   | partitions | type  | possible_keys | key  | key_len | ref  | rows | filtered | Extra                 |
+----+-------------+---------+------------+-------+---------------+------+---------+------+------+----------+-----------------------+
|  1 | SIMPLE      | mytable | NULL       | range | name          | name | 202     | NULL |    2 |   100.00 | Using index condition |
+----+-------------+---------+------------+-------+---------------+------+---------+------+------+----------+-----------------------+


mysql> explain select * from mytable where name in ("paidaxing","pdx","x");
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
| id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra       |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | mytable | NULL       | ALL  | name          | NULL | NULL    | NULL |   11 |    27.27 | Using where |
+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------------+

好了,本章節(jié)到此告一段落。希望對(duì)你有所幫助,祝學(xué)習(xí)順利。

責(zé)任編輯:趙寧寧 來源: 碼上遇見你
相關(guān)推薦

2022-08-16 09:05:39

Kubernetes權(quán)限管理

2020-10-09 08:15:11

JsBridge

2022-10-08 15:07:06

ChatOps運(yùn)維

2021-04-15 05:53:35

C# 索引器對(duì)象

2019-07-15 07:58:10

前端開發(fā)技術(shù)

2021-04-09 08:40:51

網(wǎng)絡(luò)保險(xiǎn)網(wǎng)絡(luò)安全網(wǎng)絡(luò)風(fēng)險(xiǎn)

2022-02-21 09:44:45

Git開源分布式

2021-06-30 00:20:12

Hangfire.NET平臺(tái)

2019-04-17 15:16:00

Sparkshuffle算法

2024-06-25 08:18:55

2023-05-12 08:19:12

Netty程序框架

2017-09-05 08:52:37

Git程序員命令

2024-09-27 12:04:48

2024-08-12 11:22:10

2022-02-18 00:13:53

JavaScript編程語言數(shù)組

2021-11-21 22:36:18

Java修飾符開發(fā)

2021-11-04 10:34:02

JavaScript繼承編程

2023-04-13 08:21:38

DevOpsAPI管理平臺(tái)

2025-08-08 00:00:00

2021-05-15 09:18:04

Python進(jìn)程
點(diǎn)贊
收藏

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

免费看91的网站| 阿v天堂2017| 99久久精品国产成人一区二区 | 美女视频久久| 日本免费精品视频| 亚洲成人免费| 欧美精品一区二区三| 黄色片久久久久| 老司机精品影院| 成人美女在线视频| 国产精品免费久久久久久| 九九热最新地址| a级日韩大片| 欧美色老头old∨ideo| 可以免费看的黄色网址| 午夜视频在线播放| 久久国产精品露脸对白| 91sa在线看| 永久免费看mv网站入口| 亚洲精品国产动漫| 欧美一区欧美二区| 久久久国产欧美| 55av亚洲| 亚洲摸摸操操av| 热re99久久精品国99热蜜月| 蜜桃久久一区二区三区| 狠狠狠色丁香婷婷综合久久五月| 欧美在线一级va免费观看| 外国一级黄色片| 成人在线视频免费观看| 亚洲高清色综合| 亚洲av毛片在线观看| 国产黄色精品| 色综合久久天天| 欧美大片在线播放| 日韩123区| 亚洲欧美一区二区在线观看| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 成人av在线影院| 成人在线精品视频| 中文字幕人妻精品一区| 久久九九99| 欧美自拍大量在线观看| 国产在线观看99| 欧美69视频| 色系列之999| 日本一卡二卡在线播放| 亚洲女娇小黑人粗硬| 亚洲国产成人精品女人久久久 | 中文字幕免费观看| 性感少妇一区| 浅井舞香一区二区| 天天爽夜夜爽夜夜爽精品| 激情久久五月| 欧美日韩在线影院| 欧美成人精品在线视频| 丰满的亚洲女人毛茸茸| 精品欧美激情在线观看| 国产香蕉精品视频一区二区三区| 亚洲永久精品ww.7491进入| 亚洲视频分类| 夜夜躁日日躁狠狠久久88av| 51妺嘿嘿午夜福利| 欧美三级美国一级| 最近2019中文字幕mv免费看| 大吊一区二区三区| 99久久精品网站| 免费91在线视频| 久久国产精品波多野结衣| 在线精品一区| 欧美一区二粉嫩精品国产一线天| 在线免费黄色av| 日韩精品色哟哟| 国产在线精品播放| 国产高清精品软件丝瓜软件| 国产高清不卡二三区| 国产一区再线| 黄视频在线播放| 日本一区二区三区dvd视频在线 | 国产小视频免费在线观看| 国产欧美一区二区三区网站| 亚洲三区视频| 日本动漫同人动漫在线观看| 午夜一区二区三区视频| 日韩精品一区中文字幕| 欧美一级网址| 精品国产凹凸成av人导航| 精品黑人一区二区三区观看时间| 欧美日韩第一| 欧美精品videossex88| 欧美三级午夜理伦| 久色婷婷小香蕉久久| 岛国视频一区免费观看| 欧洲一级在线观看| 亚洲图片激情小说| 欧美综合在线播放| xxxxx.日韩| 精品久久久久久亚洲综合网 | 久久久之久亚州精品露出| 波多野结衣视频网站| 狠狠色狠狠色综合| 欧美国产综合视频| 影音先锋男人资源在线| 欧美午夜性色大片在线观看| 中文字幕 欧美日韩| 欧美色资源站| 久久亚洲一区二区三区四区五区高| 国产亚洲小视频| 免费成人在线观看| 国产精品一区二区三区免费观看| 91在线免费看| 精品日本高清在线播放| 久久久九九九热| 久草精品在线| 欧美极品欧美精品欧美视频 | 日韩av中文字幕在线播放| 青青操在线播放| 亚洲中午字幕| 91久久国产综合久久蜜月精品 | 亚洲日本va| 国产亚洲aⅴaaaaaa毛片| 精品少妇久久久久久888优播| 日本v片在线高清不卡在线观看| 国产精品视频入口| 毛片在线看片| 欧美午夜不卡在线观看免费| 亚洲专区区免费| 狠狠爱综合网| 92国产精品久久久久首页 | 久久亚洲精品网站| 中国一区二区视频| 久久九九久久九九| 波多野结衣之无限发射| 亚洲精品一区二区三区在线| 久久久www成人免费精品| 啪啪小视频网站| 久久综合狠狠综合| av免费观看网| 国产精品jk白丝蜜臀av小说 | 日韩深夜视频| 亚洲高清福利视频| 日韩欧美a级片| 成人黄色小视频在线观看| 成人在线免费观看视频网站| 欧美激情啪啪| www.国产一区| 一区二区三区精彩视频| 国产精品第四页| 国产美女18xxxx免费视频| 成人亚洲一区| 国产日韩av在线播放| 1区2区3区在线观看| 欧美日韩国产综合草草| 欧美福利在线视频| 极品尤物av久久免费看| 992tv成人免费观看| 精品一区二区三区在线观看视频| 理论片在线不卡免费观看| 国产伦子伦对白视频| 亚洲精品自拍动漫在线| 绯色av蜜臀vs少妇| 亚洲国产一区二区精品专区| 精品视频在线观看| 亚洲黄色免费看| 亚洲欧美色图片| 国产成人a v| 国产精品高潮久久久久无| 成人黄色一级大片| 狠狠爱www人成狠狠爱综合网| 国产精品对白刺激久久久| 欧美日韩国产观看视频| 亚洲欧美制服丝袜| 中文字字幕在线中文乱码| 亚洲丝袜自拍清纯另类| 亚洲一区和二区| 男人天堂欧美日韩| 亚洲精品中文字幕乱码三区不卡| 国产精品亚洲欧美一级在线 | 亚洲高清一二三区| 久久久黄色大片| 国产精品超碰97尤物18| 日本道中文字幕| 久久久人人人| www.午夜色| 国产成人在线中文字幕| 国产精品久久久久久久久粉嫩av| 黄色精品免费看| 亚洲精品一区二区三区蜜桃下载 | 欧美一级高清片| 国产成人无码精品亚洲| 欧美国产精品一区二区| 中国特级黄色片| 蜜桃久久av| 18视频在线观看娇喘| 日韩欧美在线精品| 成人欧美一区二区三区黑人| 九九色在线视频| 国产一区二区动漫| 亚洲第一黄色片| 欧美亚洲尤物久久| 国语对白一区二区| 国产精品国产三级国产a| 久久人妻一区二区| 国产一区在线观看麻豆| 国内外成人免费激情视频| 99久久精品费精品国产风间由美| 久久综合色一本| 日本精品视频| 国产精品久久久久久久久影视| 最新黄网在线观看| 正在播放欧美一区| 天天操天天干天天舔| 在线播放视频一区| 欧美特级黄色片| 亚洲成av人片在www色猫咪| 视频国产一区二区| 国产日产欧美精品一区二区三区| 国产免费一区二区三区最新6| 久久99热这里只有精品| 免费在线观看毛片网站| 亚洲看片一区| 麻豆传媒网站在线观看| 欧美aaaaaaaaaaaa| 日韩片电影在线免费观看| 欧美成人专区| 国产美女精品在线观看| 国产精品亚洲四区在线观看| 国产精品视频免费在线观看| 美脚恋feet久草欧美| 久久久噜噜噜久久久| 午夜伦理在线视频| www.亚洲成人| 91精品国产综合久久久久久豆腐| 亚洲女人天堂成人av在线| 蜜桃av中文字幕| 精品国产一区a| 亚洲AV午夜精品| 91精品国产免费| 国产美女免费视频| 欧美日韩一区二区三区在线看 | 国产在线欧美日韩| 91国内精品| 国产日韩欧美亚洲一区| 国产精品色呦| 国产有色视频色综合| 成人黄色av网址| 国产女主播一区二区三区| 99精品在免费线中文字幕网站一区| 亚洲一区二区三| 欧美视频精品全部免费观看| 91在线视频精品| 看亚洲a级一级毛片| 亚洲影院污污.| 综合视频一区| 国产精品制服诱惑| 国产精品色在线网站| 久久久久久一区| 国产91久久精品一区二区| 日韩高清专区| 国产精品久久久久久久久久10秀| 中文字幕中文字幕在线中一区高清| 国产精品久久久久久久| 日本老太婆做爰视频| 在线成人国产| 免费毛片小视频| 日韩高清中文字幕一区| 99sesese| 国产suv精品一区二区三区| 黑人玩弄人妻一区二区三区| 91香蕉视频污在线| 欧美黄色高清视频| 亚洲精品乱码久久久久久日本蜜臀| 久草免费新视频| 欧美日韩国产精品一区二区不卡中文| 久久国产视频一区| 欧美一a一片一级一片| 成人高潮片免费视频| 亚洲成色777777女色窝| 国产视频三级在线观看播放| 日韩中文理论片| brazzers在线观看| 国产91色在线|免| www.久久爱.com| 国产一区二区精品在线| 日韩精品一区二区三区免费观影 | 久久精品国产亚洲av麻豆| 亚洲国产精品精华液2区45| 好吊日在线视频| 亚洲不卡av一区二区三区| 日本欧美www| 欧美成va人片在线观看| 国产黄色片在线观看| 色综合色综合久久综合频道88| 伊人久久视频| 99精彩视频在线观看免费| 天堂av一区二区三区在线播放| 在线观看成人一级片| 亚洲美女视频在线免费观看| 婷婷六月天在线| 成人h精品动漫一区二区三区| 国产不卡在线观看视频| 精品免费在线观看| 99久久久无码国产精品免费| 亚洲欧美日韩精品久久| 欧美xxx黑人xxx水蜜桃| 国产精品天天狠天天看| 欧美激情影院| 国产黄色激情视频| 蜜桃久久av一区| 欧美成人午夜精品免费| 亚洲自拍欧美精品| 91麻豆国产视频| 国产亚洲欧美aaaa| 国产乱码精品一区二三赶尸艳谈| 成人疯狂猛交xxx| 蜜桃一区二区| 成人午夜视频在线观看免费| 精品一区二区三区欧美| 公肉吊粗大爽色翁浪妇视频| 精品国产老师黑色丝袜高跟鞋| 国产区精品在线| 色综合影院在线| 亚洲精品粉嫩美女一区| 久久精品人人做人人爽电影| 国产精品hd| 永久av免费在线观看| 国产精品午夜春色av| 欧美a视频在线观看| 亚洲国内精品在线| 美女91在线| 91成人在线看| 91精品久久久久久久蜜月| 污片在线免费看| 亚洲国产精品99久久久久久久久| 国产午夜性春猛交ⅹxxx| 亚洲护士老师的毛茸茸最新章节 | 日本一欧美一欧美一亚洲视频 | 相泽南亚洲一区二区在线播放| 激情国产一区| 一区二区免费在线观看视频| 亚洲影院理伦片| 亚洲第一免费视频| 久久久亚洲欧洲日产国码aⅴ| 影音先锋欧美激情| 777久久精品一区二区三区无码| 国产一区欧美二区| 精品自拍偷拍视频| 91精品国产综合久久福利| 国产精品va在线观看视色| 91在线视频成人| 黄色精品网站| 污片免费在线观看| 欧美丝袜第一区| 可以在线观看的av网站| 国产成人在线精品| 久久蜜桃av| 亚洲精品乱码久久久久久动漫| 亚洲欧美一区二区三区孕妇| 精品人妻少妇嫩草av无码专区| 欧美激情在线观看| 日韩a级大片| 欧美三级理论片| 国产精品久久久一本精品| 国产人妖一区二区| 欧美理论片在线观看| 久久久久影视| 日韩手机在线观看视频| 国产精品国产三级国产普通话99| 国产女18毛片多18精品| 欧美极品在线视频| 日韩美女毛片| 欧美wwwwwww| 亚洲精品国产品国语在线app| 人妻精品一区二区三区| 欧美在线欧美在线| 98精品久久久久久久| 午夜影院福利社| 色综合色狠狠天天综合色| 人人干在线视频| 国产精品三区www17con| 日本欧美久久久久免费播放网| 午夜少妇久久久久久久久| 日韩成人在线电影网| 久久av影院| 久久国产精品视频在线观看| 国产日韩亚洲欧美综合| 99国产成人精品| 日本精品视频网站| 亚洲成av人电影| 无码人妻aⅴ一区二区三区| 欧美剧情片在线观看| sm捆绑调教国产免费网站在线观看| 日本午夜精品一区二区三区| 国产精品一区二区果冻传媒| 黄色片视频免费| 色综合久综合久久综合久鬼88| 精品视频日韩| 色婷婷免费视频| 日韩亚洲欧美中文三级| 欧美aaa视频|