国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

為什么 MySQL 不推薦默認(rèn)值為 null ?

共 25999字,需瀏覽 52分鐘

 ·

2021-08-09 22:36

作者 | guangsu.

來(lái)源 | https://blog.csdn.net/qq_30549099/article/details/107395521

通常能聽到的答案是使用了NULL值的列將會(huì)使索引失效,但是如果實(shí)際測(cè)試過(guò)一下,你就知道IS NULL會(huì)使用索引,所以上述說(shuō)法有漏洞。

著急的人拉到最下邊看結(jié)論

Preface

Null is a special constraint of columns. The columns in table will be added null constrain if you do not define the column with “not null” key words explicitly when creating the table.Many programmers like to define columns by default because of the conveniences(reducing the judgement code of nullibility) what consequently cause some uncertainty of query and poor performance of database.

NULL值是一種對(duì)列的特殊約束,我們創(chuàng)建一個(gè)新列時(shí),如果沒有明確的使用關(guān)鍵字not null聲明該數(shù)據(jù)列,MySQL會(huì)默認(rèn)的為我們添加上NULL約束。

有些開發(fā)人員在創(chuàng)建數(shù)據(jù)表時(shí),由于懶惰直接使用Mysql的默認(rèn)推薦設(shè)置.(即允許字段使用NULL值).而這一陋習(xí)很容易在使用NULL的場(chǎng)景中得出不確定的查詢結(jié)果以及引起數(shù)據(jù)庫(kù)性能的下降。

Introduce

Null is null means it is not anything at all,we cannot think of null is equal to ‘’ and they are totally different.

MySQLprovides three operators to handle null value:“IS NULL”,“IS NOT NULL”,"<=>" and a function ifnull().

IS NULL: It returns true,if the column value is null.

IS NOT NULL: It returns true,if the columns value is not null.

<=>: It’s a compare operator similar with “=” but not the same.It returns true even for the two null values.

(eg. null <=> null is legal) IFNULL(): Specify two input parameters,if the first is null value then returns the second one.

It’s similar with Oracle’s NVL() function.

NULL并不意味著什么都沒有,我們要注意 NULL 跟 ''(空值)是兩個(gè)完全不一樣的值,MySQL中可以操作NULL值操作符主要有三個(gè)。

  • IS NULL
  • IS NOT NULL
  • <=> 太空船操作符,這個(gè)操作符很像=,select NULL<=>NULL可以返回true,但是select NULL=NULL返回false.
  • IFNULL 一個(gè)函數(shù).怎么使用自己查吧…反正我會(huì)了

Example

Null never returns true when comparing with any other values except null with “<=>”.

NULL通過(guò)任一操作符與其它值比較都會(huì)得到NULL,除了<=>.

 1 (root@localhost mysql3306.sock)[zlm]>create table test_null(
 2     -> id int not null,
 3     -> name varchar(10)
 4     -> );
 5 Query OK, 0 rows affected (0.02 sec)
 6 
 7 (root@localhost mysql3306.sock)[zlm]>insert into test_null values(1,'zlm');
 8 Query OK, 1 row affected (0.00 sec)
 9 
10 (root@localhost mysql3306.sock)[zlm]>insert into test_null values(2,null);
11 Query OK, 1 row affected (0.00 sec)
12 
13 (root@localhost mysql3306.sock)[zlm]>select * from test_null;
14 +----+------+
15 | id | name |
16 +----+------+
17 |  1 | zlm  |
18 |  2 | NULL |
19 +----+------+
20 2 rows in set (0.00 sec)
21 // -------------------------------------->這個(gè)很有代表性<----------------------
22 (root@localhost mysql3306.sock)[zlm]>select * from test_null where name=null;
23 Empty set (0.00 sec)
24 
25 (root@localhost mysql3306.sock)[zlm]>select * from test_null where name is null;
26 +----+------+
27 | id | name |
28 +----+------+
29 |  2 | NULL |
30 +----+------+
31 1 row in set (0.00 sec)
32 
33 (root@localhost mysql3306.sock)[zlm]>select * from test_null where name is not null;
34 +----+------+
35 | id | name |
36 +----+------+
37 |  1 | zlm  |
38 +----+------+
39 1 row in set (0.00 sec)
40 
41 (root@localhost mysql3306.sock)[zlm]>select * from test_null where null=null;
42 Empty set (0.00 sec)
43 
44 (root@localhost mysql3306.sock)[zlm]>select * from test_null where null<>null;
45 Empty set (0.00 sec)
46 
47 (root@localhost mysql3306.sock)[zlm]>select * from test_null where null<=>null;
48 +----+------+
49 | id | name |
50 +----+------+
51 |  1 | zlm  |
52 |  2 | NULL |
53 +----+------+
54 2 rows in set (0.00 sec)
55  //null<=>null always return true,it's equal to "where 1=1".  

Null means “a missing and unknown value”.Let’s see details below.

NULL代表一個(gè)不確定的值,就算是兩個(gè)NULL,它倆也不一定相等.(像不像C中未初始化的局部變量)

 1 (root@localhost mysql3306.sock)[zlm]>SELECT 0 IS NULL, 0 IS NOT NULL, '' IS NULL, '' IS NOT NULL;
 2 +-----------+---------------+------------+----------------+
 3 | 0 IS NULL | 0 IS NOT NULL | '' IS NULL | '' IS NOT NULL |
 4 +-----------+---------------+------------+----------------+
 5 |         0 |             1 |          0 |              1 |
 6 +-----------+---------------+------------+----------------+
 7 1 row in set (0.00 sec)
 8 
 9 //It's not equal to zero number or vacant string.
10 //In MySQL,0 means fasle,1 means true.
11 
12 (root@localhost mysql3306.sock)[zlm]>SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL;
13 +----------+-----------+----------+----------+
14 | 1 = NULL | 1 <> NULL | 1 < NULL | 1 > NULL |
15 +----------+-----------+----------+----------+
16 |     NULL |      NULL |     NULL |     NULL |
17 +----------+-----------+----------+----------+
18 1 row in set (0.00 sec)
19 
20 //It cannot be compared with number.
21 //In MySQL,null means false,too.

It truns null as a result if any expression contains null value.

任何有返回值的表達(dá)式中有NULL參與時(shí),都會(huì)得到另外一個(gè)NULL值.

 1 (root@localhost mysql3306.sock)[zlm]>select ifnull(null,'First is null'),ifnull(null+10,'First is null'),ifnull(concat('abc',null),'First is null');
 2 +------------------------------+---------------------------------+--------------------------------------------+
 3 | ifnull(null,'First is null') | ifnull(null+10,'First is null') | ifnull(concat('abc',null),'First is null') |
 4 +------------------------------+---------------------------------+--------------------------------------------+
 5 | First is null                | First is null                   | First is null                              |
 6 +------------------------------+---------------------------------+--------------------------------------------+
 7 1 row in set (0.00 sec)
 8 
 9   //null value needs to be disposed with ifnull() function,what usually causes sql statement more complex.
 10  //As we all know,MySQL does not support funcion index.Therefore,indexes on the column may not be used.That's really worse.

It’s diffrent when using count() & count(null column).

使用count(*) 或者 count(null column)結(jié)果不同,count(null column)<=count(*).

 1 (root@localhost mysql3306.sock)[zlm]>select count(*),count(name) from test_null;
 2 +----------+-------------+
 3 | count(*) | count(name) |
 4 +----------+-------------+
 5 |        2 |           1 |
 6 +----------+-------------+
 7 1 row in set (0.00 sec)
 8 
 9 //count(*) returns all rows ignore the null while count(name) returns the non-null rows in column "name".
10 // This will also leads to uncertainty if someone is unaware of the details above.
 如果使用者對(duì)NULL屬性不熟悉,很容易統(tǒng)計(jì)出錯(cuò)誤的結(jié)果.

When using distinct,group by,order by,all null values are considered as the same value.

雖然select NULL=NULL的結(jié)果為false,但是在我們使用distinct,group by,order by時(shí),NULL又被認(rèn)為是相同.

 1 (root@localhost mysql3306.sock)[zlm]>insert into test_null values(3,null);
 2 Query OK, 1 row affected (0.00 sec)
 3 
 4 (root@localhost mysql3306.sock)[zlm]>select distinct name from test_null;
 5 +------+
 6 | name |
 7 +------+
 8 | zlm  |
 9 | NULL |
10 +------+
11 2 rows in set (0.00 sec)
12 
13 //Two rows of null value returned one and the result became two.
14 
15 (root@localhost mysql3306.sock)[zlm]>select name from test_null group by name;
16 +------+
17 | name |
18 +------+
19 | NULL |
20 | zlm  |
21 +------+
22 2 rows in set (0.00 sec)
23 
24 //Two rows of null value were put into the same group.
25 //By default,group by will also sort the result(null row showed first).
26 
27 (root@localhost mysql3306.sock)[zlm]>select id,name from test_null order by name;
28 +----+------+
29 | id | name |
30 +----+------+
31 |  2 | NULL |
32 |  3 | NULL |
33 |  1 | zlm  |
34 +----+------+
35 3 rows in set (0.00 sec)
36 
37 //Three rows were sorted(two null rows showed first). 

MySQL supports to use index on column which contains null value(what’s different from oracle).

MySQL中支持在含有NULL值的列上使用索引,但是Oracle不支持.這就是我們平時(shí)所說(shuō)的如果列上含有NULL那么將會(huì)使索引失效。

嚴(yán)格來(lái)說(shuō),這句話對(duì)與MySQL來(lái)說(shuō)是不準(zhǔn)確的。

 1 (root@localhost mysql3306.sock)[sysbench]>show tables;
 2 +--------------------+
 3 | Tables_in_sysbench |
 4 +--------------------+
 5 | sbtest1            |
 6 | sbtest10           |
 7 | sbtest2            |
 8 | sbtest3            |
 9 | sbtest4            |
10 | sbtest5            |
11 | sbtest6            |
12 | sbtest7            |
13 | sbtest8            |
14 | sbtest9            |
15 +--------------------+
16 10 rows in set (0.00 sec)
17 
18 (root@localhost mysql3306.sock)[sysbench]>show create table sbtest1\G
19 *************************** 1. row ***************************
20        Table: sbtest1
21 Create Table: CREATE TABLE `sbtest1` (
22   `id` int(11) NOT NULL AUTO_INCREMENT,
23   `k` int(11) NOT NULL DEFAULT '0',
24   `c` char(120) NOT NULL DEFAULT '',
25   `pad` char(60) NOT NULL DEFAULT '',
26   PRIMARY KEY (`id`),
27   KEY `k_1` (`k`)
28 ) ENGINE=InnoDB AUTO_INCREMENT=100001 DEFAULT CHARSET=utf8
29 1 row in set (0.00 sec)
30 
31 (root@localhost mysql3306.sock)[sysbench]>alter table sbtest1 modify k int null,modify c char(120) null,modify pad char(60) null;
32 Query OK, 0 rows affected (4.14 sec)
33 Records: 0  Duplicates: 0  Warnings: 0
34 
35 (root@localhost mysql3306.sock)[sysbench]>insert into sbtest1 values(100001,null,null,null);
36 Query OK, 1 row affected (0.00 sec)
37 
38 (root@localhost mysql3306.sock)[sysbench]>explain select id,k from sbtest1 where id=100001;
39 +----+-------------+---------+------------+-------+---------------+---------+---------+-------+------+----------+-------+
40 | id | select_type | table   | partitions | type  | possible_keys | key     | key_len | ref   | rows | filtered | Extra |
41 +----+-------------+---------+------------+-------+---------------+---------+---------+-------+------+----------+-------+
42 |  1 | SIMPLE      | sbtest1 | NULL       | const | PRIMARY       | PRIMARY | 4       | const |    1 |   100.00 | NULL  |
43 +----+-------------+---------+------------+-------+---------------+---------+---------+-------+------+----------+-------+
44 1 row in set, 1 warning (0.00 sec)
45 
46 (root@localhost mysql3306.sock)[sysbench]>explain select id,k from sbtest1 where k is null;
47 +----+-------------+---------+------------+------+---------------+------+---------+-------+------+----------+--------------------------+
48 | id | select_type | table   | partitions | type | possible_keys | key  | key_len | ref   | rows | filtered | Extra                    |
49 +----+-------------+---------+------------+------+---------------+------+---------+-------+------+----------+--------------------------+
50 |  1 | SIMPLE      | sbtest1 | NULL       | ref  | k_1           | k_1  | 5       | const |    1 |   100.00 | Using where; Using index |
51 +----+-------------+---------+------------+------+---------------+------+---------+-------+------+----------+--------------------------+
52 1 row in set, 1 warning (0.00 sec)
53 
54 //In the first query,the newly added row is retrieved(檢索) by primary key.
55 //In the second query,the newly added row is retrieved by secondary key "k_1"
56 // It has been proved that indexes can be used on the columns which contain null value.
   通過(guò)explain 可以看到 mysql支持含有NULL值的列上使用索引 
57 //column "k" is int datatype which occupies 4 bytes,but the value of "key_len" turn out to be 5.
   // what's happed?Because null value needs 1 byte to store the null flag in the rows.

這個(gè)是我自己測(cè)試的例子:

mysql> select * from test_1;
+-----------+------+------+
| name      | code | id   |
+-----------+------+------+
| gaoyi     | wo   |    1 |
| gaoyi     | w    |    2 |
| chuzhong  | wo   |    3 |
| chuzhong  | w    |    4 |
| xiaoxue   | dd   |    5 |
| xiaoxue   | dfdf |    6 |
| sujianhui | su   |   99 |
| sujianhui | NULL |   99 |
+-----------+------+------+
8 rows in set (0.00 sec)

mysql> explain select * from test_1 where code is NULL;
+----+-------------+--------+------------+------+---------------+------------+---------+-------+------+----------+-----------------------+
| id | select_type | table  | partitions | type | possible_keys | key        | key_len | ref   | rows | filtered | Extra                 |
+----+-------------+--------+------------+------+---------------+------------+---------+-------+------+----------+-----------------------+
|  1 | SIMPLE      | test_1 | NULL       | ref  | index_code    | index_code | 161     | const |    1 |   100.00 | Using index condition |
+----+-------------+--------+------------+------+---------------+------------+---------+-------+------+----------+-----------------------+
1 row in set, 1 warning (0.00 sec)

mysql> explain select * from test_1 where code is not NULL;
+----+-------------+--------+------------+-------+---------------+------------+---------+------+------+----------+-----------------------+
| id | select_type | table  | partitions | type  | possible_keys | key        | key_len | ref  | rows | filtered | Extra                 |
+----+-------------+--------+------------+-------+---------------+------------+---------+------+------+----------+-----------------------+
|  1 | SIMPLE      | test_1 | NULL       | range | index_code    | index_code | 161     | NULL |    7 |   100.00 | Using index condition |
+----+-------------+--------+------------+-------+---------------+------------+---------+------+------+----------+-----------------------+
1 row in set, 1 warning (0.00 sec)

mysql> explain select * from test_1 where code='dd';
+----+-------------+--------+------------+------+---------------+------------+---------+-------+------+----------+-----------------------+
| id | select_type | table  | partitions | type | possible_keys | key        | key_len | ref   | rows | filtered | Extra                 |
+----+-------------+--------+------------+------+---------------+------------+---------+-------+------+----------+-----------------------+
|  1 | SIMPLE      | test_1 | NULL       | ref  | index_code    | index_code | 161     | const |    1 |   100.00 | Using index condition |
+----+-------------+--------+------------+------+---------------+------------+---------+-------+------+----------+-----------------------+
1 row in set, 1 warning (0.00 sec)

mysql> explain select * from test_1 where code like "dd%";
+----+-------------+--------+------------+-------+---------------+------------+---------+------+------+----------+-----------------------+
| id | select_type | table  | partitions | type  | possible_keys | key        | key_len | ref  | rows | filtered | Extra                 |
+----+-------------+--------+------------+-------+---------------+------------+---------+------+------+----------+-----------------------+
|  1 | SIMPLE      | test_1 | NULL       | range | index_code    | index_code | 161     | NULL |    1 |   100.00 | Using index condition |
+----+-------------+--------+------------+-------+---------------+------------+---------+------+------+----------+-----------------------+
1 row in set, 1 warning (0.00 sec)

Summary 總結(jié)

null value always leads to many uncertainties when disposing sql statement.It may cause bad performance accidentally.

列中使用NULL值容易引發(fā)不受控制的事情發(fā)生,有時(shí)候還會(huì)嚴(yán)重托慢系統(tǒng)的性能.

例如:

  • null value will not be estimated in aggregate function() which may cause inaccurate results. 對(duì)含有NULL值的列進(jìn)行統(tǒng)計(jì)計(jì)算,eg. count(),max(),min(),結(jié)果并不符合我們的期望值.
  • null value will influence the behavior of the operations such as “distinct”,“group by”,“order by” which causes wrong sort. 干擾排序,分組,去重結(jié)果.
  • null value needs ifnull() function to do judgement which makes the program code more complex. 有的時(shí)候?yàn)榱讼?code style="font-size: 14px;font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;color: rgb(53, 179, 120);background-color: rgba(27, 31, 35, 0.05);word-break: break-all;">NULL帶來(lái)的技術(shù)債務(wù),我們需要在SQL中使用IFNULL()來(lái)確保結(jié)果可控,但是這使程序變得復(fù)雜.
  • null value needs a extra 1 byte to store the null information in the rows.NULL值并是占用原有的字段空間存儲(chǔ),而是額外申請(qǐng)一個(gè)字節(jié)去標(biāo)注,這個(gè)字段添加了NULL約束.(就像額外的標(biāo)志位一樣)

As these above drawbacks,it’s not recommended to define columns with default null. We recommand to define “not null” on all columns and use zero number & vacant string to substitute relevant data type of null.

根據(jù)以上缺點(diǎn),我們并不推薦在列中設(shè)置NULL作為列的默認(rèn)值,你可以使用NOT NULL消除默認(rèn)設(shè)置,使用0或者''空字符串來(lái)代替NULL

參考:https://www.cnblogs.com/aaron8219/p/9259379.html

往期推薦

騰訊員工吐槽:團(tuán)隊(duì)來(lái)了個(gè)阿里高p,瞬間會(huì)議變多,群多了

程序員加入新團(tuán)隊(duì)必問(wèn)的20道問(wèn)題

只是想虐下春麗,一不小心擼了臺(tái)游戲機(jī)...

Spring Boot中使用時(shí)序數(shù)據(jù)庫(kù)InfluxDB

萬(wàn)萬(wàn)沒想到!logger.info() 還能導(dǎo)致線上故障?



喜歡本文歡迎轉(zhuǎn)發(fā),關(guān)注我訂閱更多精彩

關(guān)注我回復(fù)「加群」,加入Spring技術(shù)交流群

瀏覽 77
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 黄色成人在线视频| 操综合| 人人草人人草| 911精品国产一区二区在线| 狠狠狠狠狠狠干| 天堂网免费视频| 亚洲激情在线| 狠狠干狠狠撸| 亚洲高清无码免费观看| 免费观看高清无码| 久久av一区二区三区观看 | 蜜桃精品无码| 2019狠狠操| 久操免费视频| 51成人网| 欧美性猛交XXXX乱大交| 国产精品秘久久久久久| 蜜桃人妻无码| 国产精品对白| 国产一区二区三区成人| 麻豆久久| 日日操视频| 日韩经典无码| 国产一区二区三区在线观看免费视频免费视频免费视频 | 奇米狠狠干| 国产午夜无码视频在线观看| 少妇高潮喷水视频| 国产亚洲精品久久久久久桃色| 大香焦伊人国产| 精品一区二区三区毛片| 在线观看高清无码| 亚洲精品AⅤ一区二| 91精品国产麻豆国产自产在线| 91丨九色丨蝌蚪丨丝袜| 亚洲人成人无码.www粉色| 亚洲视频在线免费| 边吃奶边做爱| 三级免费无限AV| 一本色道久久加勒比精品| 91人妻论坛| 成人一卡二卡| 久久婷五月天| 三级无码在线观看| 欧美成人精品三级网站| 99热黄色| 操逼视频国产91| 国产精品18在线| 91精品无码| 天天噜| 久久免费视频观看| 欧美久久精品| 一区二区三区免费在线| 色综合久久久无码中文字幕999 | 91乱| 天天A片| 亚洲aaaaaa| 激情av在线观看| 日韩成人无码一区二区视频| 色婷婷久久综合久色| 免费看无码一级A片在线播放| AV网站免费看| 日韩三级成人| 青娱乐偷拍视频| 青青操成人在线视频| 97超碰中文字幕| 一级Av| 嫩BBB搡BBBB搡BBBB| 欧美色一级| 久青操| 伊人成人在线| 狠狠狠干| 成人精品在线| 一区二区三区视频在线观看| 亚洲性爱av| 99爱在线观看| 成人亚洲视频| 免费看黄片的网站| 久草视| 色激情五月天| 亚洲色爽| 911香蕉视频| 五月天精品| 黄片无码视频| 中文字幕va| 免费视频99| 国产高清无码福利| 日批网站在线| 国产一级a免一级a免费| 九九精品网| 国产又爽又黄网站免费观看| 免费观看A级毛片| 中国熟睡妇BBwBBw| 伊人色色色| gogogo免费高清在线偷拍| 亚洲成人免费在线视频| 亚洲啊V| 91精品老司机| 在线操B视频| 国产精品一区网站| 天天综合字幕一区二区| 青青草手机视频在线| 人妻精品一区二区在线| 亚洲天堂2014| 日韩操逼图| 东京热无码高清| 豆花无码视频一区二区| 亚洲理论在线| 在线aⅴ| 久色婷婷在线| 特级西西444www高清大胆免费看 | Av大香蕉| 日本人人操| 中文字幕在线观看AV| 无码专区视频| 先锋影音资源av| 五月激情网站| 精品国产久久久| 亚洲激情网| 亚洲视频一区二区三区| 免费黄网站| 成人片成人片| 欧美日韩午夜福利视频| 精品免费囯产| 99在线精品视频在线观看| 午夜成人黄色电影| 蜜桃人妻| 国产精品国产三级国产AⅤ| 免费国产乱伦| 免费看的操逼视频| 人人干国产| 国产午夜视频在线| 日韩成人精品在线| 中文字幕第69页| 日本親子亂子倫XXXX50路| 久久精品国产99精品国产亚洲性色| 俺去听听婷婷| 91.xxxxx| 成人做爰A片一区二区| 青青草原亚洲| 亚洲搞清视频日本| 五月婷婷性爱| 欧洲无码一区二区三区| 色情五月婷婷| 国产精品毛片一区二区在线看| 欧美群交videotv群交| 91亚洲精选| 俺也去五月婷婷| 久久久综合| 国产一级a毛一级a做免费高清视频 | 国产真实乱婬A片三区高清蜜臀| 日本超碰在线| 在线日韩视频| 国产操逼网站| 国产粉嫩小泬白浆18p| 一本色道久久综合熟妇人妻| 亚洲三级AV| 韩日av| 亚洲精品秘一区二区三区在线观看 | 特级444www| 欧一美一婬一伦一区二区三区黑人-亚 | 久久九九免费视频| 亚洲狼人久久久精品| 国产伦精品一级A片视频夜夜| 一区二区三级片| 成人无码日韩精品| 毛片91| 日韩亚洲在线| 激情五月综合| 欧美爆操视频| 色99网站| 国产1级a毛a毛1级a毛1级| 青春草在线免费视频| 99视频精品全部免费看| 嫩小槡BBBB槡BBBB槡漫画| 国产精品久久久久毛片SUV| 亚洲不卡视频| 天堂在线视频免费| 91在线欧美| 无码乱码在线观看| 91无码AⅤ在线| 超碰在线国产| 97资源在线| 男人天堂99| 欧美色逼| 日韩a在线观看| 尹人在线视频| 免费观看黄色片| 欧美黄色影院| 免费岛国av大片| 亚洲色男人天堂| 国产我不卡| 99久久精品国产一区二区成人 | 青青草视频免费观看| 亚洲精品伦理| 97精品国产97久久久久久免费| 最新国产AV| 国产精品黄色| 亚洲高清无码在线观看视频| 日本国产在线视频| 三级片导航| 69国产精品| 伊人大香蕉在线视频| 最新AV在线播放| 一级乱伦网站| 人人cao| 国产精品免费观看视频| 最新中文字幕在线| 午夜成人福利| 4444操| 亚洲国产av电影| 欧美69影院| 午夜操逼网| 亚洲黄片免费看| 爱福利视频| 日韩最新无码发布| 婷婷午夜精品久久久久久性色| 欧美性性生交XXXXX无码| www欧美| 在线不卡免费Av| 苍井空一区二区三区四区| 亚洲天堂无码AV| 亚洲无码成人在线观看| 欧美浮力| 亚洲色婷婷久久精品AV蜜桃| 日韩久久婷婷| 黑人狂躁女人高潮视频| 婷婷国产亚洲精品网站| 亚洲激情视频网站| 人人艹在线| 久久丝袜视频| 这里有精品| 狠狠撸狠狠撸| 亚洲天堂影音先锋| 中文字幕黄色电影| 黄色一级A片| 免费观看成人片| 91麻豆一区| 一曲二曲三曲在线观看中文字| 黄色A级片| 欧美在线看片| 久久精品偷拍视频| 天天干一干| 九七影院第二页| 亚洲天堂电影网| 国产精品91在线| A级成人网站| 国产免费一区二区三区网站免费| 俺来也俺去www色情网| 亚洲最大福利视频| 国产女18毛片多18精品| 久久久久久99| 国产成人影视在线观看| 亚洲色欲色欲www在线成人网| 91视频在线观看| 欧美+日产+中文| 日韩天堂网| 夜夜操天天干| 小早川怜子精品一区二区| 丁香五月婷婷中文字幕| 亚洲一区二区三| 中日美朝美女一级片免费看| 日韩精品极品视频在线观看免费| 另类老妇奶BBBBwBB| 五月婷婷激情| AV国产在线观看| 国产三级小视频| 香蕉综合网| 好爽~要尿了~要喷了~同桌 | 日韩三级片在线播放| 另类老妇奶BBBBwBB| 麻豆成人91精品二区三区| 无码日批| 五月丁香六月婷婷综合| 爱爱动态图| 91成人免费在线观看| 久久久久久久久久成人永久免费视频 | 中文字幕一级A片免费看| 欧美大屌网站| 日本翔田千里奶水| 亚洲黄色AV| 国产精品美女久久久久久久久| 能看的AV网站| 俺也来俺也去| 91视频在线观看免费大全| 在线精品福利| 麻豆传媒视频观看| 国产小视频在线免费观看| 国产精品一区二区性色AV| 辽宁模特张雪馨视频最新| 国产成人秘在线观看免费网站| 狼人狠狠干| 小日本91在线观看| 天天狠狠操| 亚洲欧美在线播放| 思思热精品在线| 91视频在线网站| 欧美黄色一级视频| 无码人妻丰满熟妇区17水蜜桃| 国产色呦呦| 亚洲色情网站| 艹美女视频| 91在线无码精品秘蜜桃入口| 成人A电影| 国产精品一区二区在线观看| 免费在线观看黄色| 9l蝌蚪PORNY中文| 91视频www| 91精品在线播放| 狠狠干2024| 婷婷免费视频| 欧美成人福利视频| 麻豆传媒电影| 激情男人网| 日本亲子乱婬一级A片| 日韩在线视频网站| 青青草国产在线视频| 手机在线看A片| 青青草无码成人AV片| 亚洲成人av在线播放| 国产色无码网站www色视频| 这里视频很精彩免费观看电视剧最新| 精品孕妇一区二区三区| 亚洲高清免费| 西西WWW888大胆无码| 黄色av免费在线观看| 国产乱伦影片| 欧美性夜黄A片爽爽免费视频 | 人人爽人人操人人爱| 国产精品黄色视频| AV无码不卡| 亚洲男人天堂AV| 日本东京热视频| 蜜臀久久99精品久久久| 国产黄片免费观看| 日本黄在线看| 无码少妇视频| 亚洲欧美高清视频| 成人超碰| 久久午夜福利视频| 喷潮视频| 天堂资源地址在线| 偷拍精品视频| 激情一区| 国产又爽又黄免费网站在| 亚洲国产成人精品女人| 婷婷五月综合中文字幕| A片免费网站| 欧美一区二区三区在线播放| 欧洲一区二区三区| 肉色超薄丝袜脚交一区二区| 日韩欧美视频一区| 做爱网站在线观看| 国产精品日韩无码| 亚洲啊V| 69av在线视频| 老司机精品在线观看| 久久精品视频网站| 看一级黄色毛片| 极品一线天小嫩嫩真紧| 男女操逼视频网站免费观看| 亚洲一区欧美| 极品美女援交在线| 亚洲九区| 成人精东影业JDAV3密友| 成人免费A片喷| 狼友初视频在线观看| 日韩香蕉视频| 悠悠AV导航| 亚洲精品suv视频| 色色色色色色色色欧美| 天堂8在线| 亚洲在线高清视频| 裸体美女视频欧美18| 极品小仙女69| 九九香蕉视频| 乱伦99| 欧美高清视频| 日皮视频网站| 性爱视频无码| 嫩BBB搡BBBB搡BBBB| www男人的天堂| 亚洲精品视频在线观看免费| 国产精品无码AV| 亚洲AV永久无码国产精品久久| 国产一区二区三区免费播放| 日韩在线免费看| 国产精品成人免费精品自在线观看| 日韩人妻久久| 日本中文字幕无码| 俺来也听听婷婷| 大鸡吧在线| 日本一本在线| 黄频免费观看| 亚洲无码123| 日本不卡在线观看| av大全在线观看| 色噜噜网站| 西西特级无码444www| 亚洲无码中文视频| 久久精品人妻| 日韩AV成人电影| 免费一级片视频| 午夜蜜桃人妻一区二区| 国产1024在线| 日韩极品视频| 骚逼www| 国产日韩欧美在线观看| 亚洲第一大网站| 亚州精品国产精品乱码不99勇敢| 97午夜福利| 豆花视频一区| 午夜成人av| 特写毛茸茸BBwBBwBBw| 国产欧美一区二区精品性色超碰| 国产精品婷婷久久久| 人妻无码中文久久久久专区| 九九热精| 亚洲成人动漫免费| 免费a级毛片| 国产激情在线| 日韩大尺度Av| 欧美a级视频| 成人才看的在线视频| 免费看一级无码成人片| 国产成人影视在线观看| 中文字幕一区二区蜜桃| 婷婷五月影院| 欧美精品18videosex性欧美| 国产成人自拍在线| 亚洲AV电影天堂| 国产乱子伦-区二区三区| 日韩欧美成人在线观看| 免费无码| 免费毛片网址| 隸則av| 国产欧美综合精品| 99国产精品免费视频观看8| 久久成人影音先锋| 日韩91视频| 亚洲欧美成人网站| 天天综合网久久| 国产精品无码永久免费不卡| 九色蝌蚪视频| 国产成人综合自拍| 免费黄片网站在线观看| 狼色视频| 色mm在线播放| 插插网站| 丁香五月天激情网| 麻豆av人人乐| 欧美亚洲中文| 国产精品资源在线观看| 国产熟妇码AV| 被黑人猛躁10次高潮视频| 成人做爰100片免费着| 国产一区二区三区四区视频| 四虎成人免费视频| 欧美成人免费精品| 黑人无码视频| 日韩无码五月天| 久操B| 人妻97| 微熟女地址导航| 国产欧美综合在线观看| 人人妻人人摸| 欧美成人黄色A片| 梁祝艳谭A级毛片| 国产91在线视频| 久久久久久久久国产精品| 亚洲精品无码中文| 99re国产| AV东方在线| 免费在线观看AV片| 抽插视频欧美| 久久久亚洲熟妇熟女| 青娱乐日韩| 精品国产乱子伦一区二区三区,小小扐 | 秋霞一区二区三区无码| 波多野成人无码精品视频| 人妻精品综合码| 国产牛牛在线| 免费高清无码在线观看| 国产手机拍视频推荐2023| 91蝌蚪视频在线| 亚洲久久视频| 免费AV在线播放| 69福利社| 牛牛成人在线视频| 亚洲av在线免费观看| 国产五月天婷婷| 亚洲AV综合色区无码国产播放 | 国产又粗又猛又爽又黄91精品| 一级片黑人| 激情网站在线观看| 午夜福利91| 中文字幕一二三四| 阿宾MD0165麻豆沈娜娜| 91免费国产视频| 国外成人性视频免费| 国产成人精品国内自产拍免费看| 玩弄小怮女在线观看| 亚洲va视频| 婷婷国产成人精品视频| 特级毛片AAAAAA蜜桃| 国产激情网站| 九九99热| 日韩无码AV中文字幕| 久久久国产精品人人片| 91无码在线观看| 新妺妺窝窝777777野外| 天堂8在线视频| 亚洲色视频在线观看| 国产人妖在线| 射死你天天日| 国产AⅤ无码一区二区| JlZZJLZZJlZZ亚洲女人17| 中文字幕综合| 91超碰免费| 三级黄色免费网站| 日韩中文字幕区| 777av| 午夜AV无码| 婷婷综合素质二区| 人人摸人人爱人人操| 午夜精品久久久久久久久久久久| 欧美日韩精品在线| 国产麻豆三级片| 91久久久青青青青草| 777性爱| 欧美爱爱网| 青青草超碰在线| 在线视频一区二区三区四区| 777米奇视频| 中国A级片| 一区二区三区视频免费| 日韩成人精品视频| 日韩性爱A片| 亚洲黄色在线免费观看| 18SAV| 亚洲无码三级| 午夜无码精品一区二区三区99午| 欧美特大黄| 就爱搞搞| 国产AV无码一区| 亚洲天堂无码a| 国模精品无码一区二区免费蜜桃| 欧美A黄| 国产一级二级三级片| 豆花视频一区| 不卡无码中文字幕一区| 欧美激情一区二区三区| 日韩成人黄色电影| 青草久久视频| 久久一二三| av操操操| 人人肏肏人人| 欧美日韩中文字幕在线观看| 午夜成人小电影| 91狠狠色丁香婷婷综合久久精品| 成人777777免费视频色| 欧美色图亚洲另类| 一级a片激情啪啪免费观| 在线视频91| 草草网站| 三级片日韩| 国产免费福利| 思思热免费视频| 无码电影视频| 三级片AAA成人免费| www.sese| 日韩欧美精品在线观看| 国产黄色视频在线观看免费| 成人免费视频在线| 无码欧美精品一区二区| 成人免费毛片果冻日本| 日韩激情视频| 丰满的人妻一区二区三区果冻| 九九热精| 91在线无码精品秘入口男同| 久久8| 无码不卡在线播放| 日韩无码高清网站| 综合色国产精品欧美在线观看| 欧美一区二区在线| 91亚洲在线| 爱操逼网| 91社成人影院| av影片在线播放| 国内无码自拍| 久热网站| 中文字幕成人av| 日本人人操人人摸| 久久国产精品波多野结衣AV| 国产中文字幕在线视频| www四虎com| 伊人69| 欧洲一区在线观看| 六月激情丁香| 超碰av电影| 日日视频| AV电影免费看| 免费视频一区二区| 日韩一级黄色视频| 国产一页| 东京热一区二区三区| 亚洲精品911| 国产亚洲91| 噜噜噜在线视频| 亚洲另类图片小说| 国产欧美综合三级伦| 91麻豆国产在线| 国产a一级a毛一级视频| 日韩无码人妻一区二区三区| 日本高清无码| 久草福利在线| 在线无码免费观看| 中文av在线播放| 国产色情在线观看| 国产精品在线观看视频| 人人亚洲| 日韩欧美成人网站| 亚洲男人的天堂AV| 亚洲一卡二卡三卡四卡免| 先锋影音AV资源站| 国产69视频在线观看| 小小拗女BBw搡BBBB搡| 日韩无码91| 99久久99久久99久久久99国产| 免费看日韩毛片| 久久久久久久| 亚洲无码播放| 蜜桃AV| 午夜国产| 99热最新网址| 91大片| 亚洲第一色网站| 亚洲免费网| 国产精品久久久久久久久久九秃 | 午夜黄色视频| 欧美一卡二卡| 欧美激情一区二区| 91麻豆精品国产91久久久熟女| 欧美一页| 国产有码视频| 国产精品一二区| 熟女一区二区| 麻豆mdapp01.tⅴ| 日韩精品久久久久久久| 激情丁香| 日韩国产成人| 欧美黄色片在线观看| 99色网站| 先锋影音AV在线| 久久久久久久亚洲| 国产欧美综合一区二区三区| 国产性爱精品| 韩日无码视频| 色婷婷在线视频观看| 国产成人高潮毛片| 美女91视频网站| 97精品在线视频| 国产黄色免费乱伦片| 免费在线A| 操网站| 成人无码视频在线观看| 欧美日韩性爱| 五月婷丁香| 18一20女一片毛片| 中文字幕在线网站| 日皮免费视频| 成人无码中文字幕| 天天干天天操天天| 玖玖在线视频| 91啪啪| 亚洲砖区免费| 色视频在线观看免费| 国产不卡在线视频| 亚洲一区二区成人| 色福利视频| 午夜在线免费视频| 久久6精品| 无码无遮挡| 国产做受91一片二片老头| 天天干国产| 午夜成人鲁丝片午夜精品| 亚洲精品熟女| 亚洲v欧美| 亚洲无码一级| 你懂的在线播放| 日韩欧美在线视频观看| 足浴小少妇-88AX| 亚洲V| 91在线免费视频| 欧美日韩视频一区二区三区| 人妻少妇91精品一区黑人| 人妻丝袜蕾丝高跟双飞| 久久影院三级片| 国产91嫩草乱婬A片2蜜臀| 在线免费观看av网站| 亚洲偷拍视频| 人人人人人人人人操| 日本边摸边吻奶边做爰| 337P人体美鮑高清| 欧美成人超碰| 久久久久无码| 91探花国产综合在线精品| 国产精品久久视频| 黄色片免费在线观看| 国产精品视频免费观看| 日韩中文毛片| 91精品人妻人人爽| 1024香蕉视频| 操鸡视频在线观看| 在线亚洲一区| 国产综合一区二区| 999一区二区三区| 另类毛片| 尻屄视频在线观看| 露脸丨91丨九色露脸| 日本三级网站| 久久久久国产一区二区三区四区| 麻豆精品在线播放| 青青操色| 三级av在线观看| 一级日逼视频| 国产精品一区二区不卡| 成人三级片免费| 青青草综合网| 777在线视频| 详情:绿帽夫妻多人运动开淫啪-91n | 毛片动态图| 我和岳m愉情XXXⅩ视频| 影音先锋天堂网| 91狠狠色丁香婷婷综合久久| 久久综合中文字幕| 黄片视频在线观看| 亚洲成人免费福利| 国产特黄视频| 欧美日韩国产91| 久久久精品欧美| 熟女嗷嗷叫高潮合集91| 亚洲丁香五月| 日韩黄色电影在线观看| 详情:绿帽夫妻多人运动开淫啪-91n | 欧美精品无码| 日韩欧美三级| 木下凛凛子AV888AV在线观看 | 国产浮力草草| 国产AV无码一区| 久久久国产精品在线| 爱操影院| 美女黄色免费网站| 日本AV在线播放| 免费一级A片| 成人h网站在线观看| 午夜精品久久久久久久99热精东| 日本一级特级毛片视频| 日韩成人无码免费视频| 丁香五月大香蕉| 麻豆mdapp01.tⅴ| 日本一级一片免费视频| 秋霞日韩| A级黄色毛片| 爱爱午夜福利| 国产三级午夜理伦三级| 99热免费在线| 狠狠久久| 开心色播五月| 国产我不卡| 五月天婷婷色色| 在线免费看AV| 欧美日韩一区二区三区| 国产主播av| 11一12周岁女毛片| 中文字幕黄色片| www.91国产| 无码视频免费在线观看| 91视频美女内射| 日韩在线综合网| 99精品国自产在线| 久草视| 久久久9999| 97人妻精品黄网站| 大香蕉色婷婷| 天天爽日日澡| jjzz国产| 国产视频中文字幕| 中文字幕午夜福利| 热re99久久精品国产99热| 韩国三级片在线| 日本五十路熟女视频| 欧美精品秘一区二区三区蜜臀| 99久久99久国产黄毛片| www.啪| 在线观看免费视频黄| 看a网站| 嫩BBB槡BBBB槡BBB| 搞搞电影91| 欧美午夜性爱视频| 深夜福利av| 西西444www| 狼友初视频在线观看| 91白丝喷水自慰网站| 九草在线| 日本成人精品| 久久精品一区| 丰满人妻一区二区三区精品高清 | 精品免费国产一区二区三区四区| 成人免费三级片| 亚洲AV无码国产精品二区| P站免费版-永久免费的福利视频平台 | 一本色道88久久加勒比精品| 一区二区三区福利| 国产91精品久久久天天| 无码成人午夜在线影院| 国产三级片网址| 亚洲免费观看高清视频| 日韩毛片大全| 神马影院午夜福利| 久久久久久久国产精品| 18sav| 四房五月婷婷| 成人免看一级a一片A片| 中文字幕成人电影| 五月天婷婷在线播放视频免费观看 | 欧美三区| 亚洲视频网址| 国产久久久久久久久| 国产精品色8| 伊人成人网站| 国产精品视频导航| AV在线一区二区三区| 老欧性老太色HD大全| 艹b视频在线观看| 97人妻精品一区二区三区免| 色香蕉在线| www.操逼| 黄色片在线视频| 河南熟妇搡BBBB搡BBBB | 国产精品无毛五区六区| AV高清无码在线观看| 久久嫩草国产成人一区| 久久精品三级片| 黄一级| 国产午夜激情视频| 亚洲欧美在线播放| 88海外华人免费一区| 国产成人精品无码片子的价格 | 成人电影无码| 啪啪免费网站| 思思热这里只有精品| 国产精品美女久久久久AV爽| 欧美视频中文字幕| 日韩中文毛片| 日本黄色免费在线观看| 国产真实乱婬A片三区高清蜜臀| 91熟女视频| 水蜜桃视频在线播放| 一区二区三区免费在线| 波多野结衣视频网站| 亚洲天堂网2025| 日韩欧美精品| 日韩人妻一区二区| 91网站在线免费观看| 一区二区三区四区精品视频| 久久久三级| 免费欧美黄片| 麻豆一区二区三区四区| 亚洲成人AV在线| 午夜一区二区三区免费| 91成人福利视频| JUY-579被丈夫的上司侵犯后的第7天,我 | 内射国产| 天天视频狠狠狠狠| 91碰| 国产在线黄片| 亚洲人人妻| 在线操b| 久久人妻熟女中文字幕av蜜芽 | 另类老妇性BBwBBw图片| Av大香蕉| 蜜桃网一区二区| 国产AV无| 日本成人视频| 中国老少配BBwBBwBBW| 在线观看黄色网| 黄色欧美视频| PORNY九色视频9l自拍| 精品成人A片久久久久久不卡三区 免费看成人A片无码照片88hⅤ | 性爱视频久久| 欧美草逼视频| 日韩黄色视频在线观看| AV性爱在线| 欧美肏屄视频| 久久久久久久9999| 无码四区| 天天精品无码| 国产精品秘久久久久久| 欧美成人精品AAA| 色婷婷香蕉在线一区二区|