成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > MySQL中無過濾條件的count詳解

MySQL中無過濾條件的count詳解

熱門標簽:淄博400電話申請 電話機器人市場趨勢 電銷機器人 行業(yè) 南昌高頻外呼系統(tǒng)哪家公司做的好 百度地圖標注后不顯示 電銷機器人各個細節(jié)介紹 溫州瑞安400電話怎么申請 俄國地圖標注app 昆明電信400電話辦理

count(*)

實現(xiàn)

1、MyISAM:將表的總行數(shù)存放在磁盤上,針對無過濾條件的查詢可以直接返回

如果有過濾條件的count(*),MyISAM也不能很快返回

2、InnoDB:從存儲引擎一行行地讀出數(shù)據(jù),然后累加計數(shù)

由于MVCC,在同一時刻,InnoDB應(yīng)該返回多少行是不確定

樣例

假設(shè)表t有10000條記錄

session A session B session C
BEGIN;
SELECT COUNT(*) FROM t;(返回10000)
INSERT INTO t;(插入一行)
BEGIN;
INSERT INTO t(插入一行);
SELECT COUNT(*) FROM t;(返回10000) SELECT COUNT(*) FROM t;(返回10002) SELECT COUNT(*) FROM T;(返回10001)

最后時刻三個會話同時查詢t的總行數(shù),拿到的結(jié)果卻是不同的

InnoDB默認事務(wù)隔離級別是RR,通過MVCC實現(xiàn)

  • 每個事務(wù)都需要判斷每一行記錄是否對自己可見

優(yōu)化

1、InnoDB是索引組織表

  • 聚簇索引樹:葉子節(jié)點是數(shù)據(jù)
  • 二級索引樹:葉子節(jié)點是主鍵值

2、二級索引樹占用的空間比聚簇索引樹小很多

3、優(yōu)化器會在保證邏輯正確的前提下,遍歷最小的索引樹,盡量減少掃描的數(shù)據(jù)量

  • 針對無過濾條件的count操作,無論遍歷哪一顆索引樹,效果都是一樣的
  • 優(yōu)化器會為count(*)選擇最優(yōu)的索引樹

show table status

mysql> SHOW TABLE STATUS\G;
*************************** 1. row ***************************
 Name: t
 Engine: InnoDB
 Version: 10
 Row_format: Dynamic
 Rows: 100256
 Avg_row_length: 47
 Data_length: 4734976
Max_data_length: 0
 Index_length: 5275648
 Data_free: 0
 Auto_increment: NULL
 Create_time: 2019-02-01 17:49:07
 Update_time: NULL
 Check_time: NULL
 Collation: utf8_general_ci
 Checksum: NULL
 Create_options:
 Comment:

SHOW TABLE STATUS同樣通過采樣來估算(非常不精確),誤差能到40%~50%

維護計數(shù)

緩存

方案

  • 用Redis來保存表的總行數(shù)(無過濾條件)
  • 這個表每插入一行,Redis計數(shù)+1,每刪除一行,Redis計數(shù)-1

缺點

丟失更新

1、Redis可能會丟失更新

2、解決方案:Redis異常重啟后,到數(shù)據(jù)庫執(zhí)行一次count(*)

  • 異常重啟并不常見,這時全表掃描的成本是可以接受的

邏輯不精確 – 致命

1、場景:顯示操作記錄的總數(shù)和最近操作的100條記錄

2、Redis和MySQL是兩個不同的存儲系統(tǒng),不支持分布式事務(wù),因此無法拿到精確的一致性視圖

時序A

session B在T3時刻,查到的100行結(jié)果里面有最新插入的記錄,但Redis還沒有+1,邏輯不一致

時刻 session A session B
T1
T2 插入一行數(shù)據(jù)R;
T3 讀取Redis計數(shù);
查詢最近100條記錄;
T4 Redis計數(shù)+1;

時序B

session B在T3時刻,查到的100行結(jié)果里面沒有最新插入的記錄,但Redis已經(jīng)+1,邏輯不一致

時刻 session A session B
T1
T2 Redis計數(shù)+1;
T3 讀取Redis計數(shù);
查詢最近100條記錄;
T4 插入一行數(shù)據(jù)R;

數(shù)據(jù)庫

  • 把計數(shù)值放到數(shù)據(jù)庫單獨的一張計數(shù)表C中
  • 利用InnoDB的crash-safe的特性,解決了崩潰丟失的問題
  • 利用InnoDB的支持事務(wù)的特性,解決了一致性視圖的問題
  • session B在T3時刻,session A的事務(wù)還未提交,表C的計數(shù)值+1對自己不可見,邏輯一致

時刻 session A session B
T1
T2 BEGIN;
表C中的計數(shù)值+1;
T3 BEGIN;
讀表C計數(shù)值;
查詢最新100條記錄;
COMMIT;
T4 插入一行數(shù)據(jù)R;
COMMIT;

count的性能

語義

1、count()是一個聚合函數(shù),對于返回的結(jié)果集,一行一行地進行判斷

如果count函數(shù)的參數(shù)值不是NULL,累計值+1,否則不加,最后返回累計值

2、count(字段F)

  • 字段F有可能為NULL
  • 表示返回滿足條件的結(jié)果集里字段F不為NULL的總數(shù)

3、count(主鍵ID)、count(1)、count(*)

  • 不可能為NULL
  • 表示返回滿足條件的結(jié)果集的總數(shù)

4、Server層要什么字段,InnoDB引擎就返回什么字段

  • count(*)例外,不返回整行,只返回空行

性能對比

count(字段F)

1、如果字段F定義為不允許為NULL,一行行地從記錄里讀出這個字段,判斷通過后按行累加

  • 通過表結(jié)構(gòu)判斷該字段是不可能為NULL

2、如果字段F定義為允許NULL,一行行地從記錄里讀出這個字段,判斷通過后按行累加

  • 通過表結(jié)構(gòu)判斷該字段是有可能為NULL
  • 判斷該字段值是否實際為NULL

3、如果字段F上沒有二級索引,只能遍歷整張表(聚簇索引)

4、由于InnoDB必須返回字段F,因此優(yōu)化器能做出的優(yōu)化決策將減少

  • 例如不能選擇最優(yōu)的索引來遍歷

count(主鍵ID)

  • InnoDB會遍歷整張表(聚簇索引),把每一行的id值取出來,返回給Server層
  • Server層拿到id后,判斷為不可能為NULL,然后按行累加
  • 優(yōu)化器可能會選擇最優(yōu)的索引來遍歷

count(1)

  1. InnoDB引擎會遍歷整張表(聚簇索引),但不取值
  2. Server層對于返回的每一行,放一個數(shù)字1進去,判斷是不可能為NULL,按行累加
  3. count(1)比count(主鍵ID)快,因為count(主鍵ID)會涉及到兩部分操作
  • 解析數(shù)據(jù)行
  • 拷貝字段值

count(*)

  1. count(*)不會把所有值都取出來,而是專門做了優(yōu)化,不取值,因為『*』肯定不為NULL,按行累加
  2. 不取值:InnoDB返回一個空行,告訴Server層不是NULL,可以計數(shù)

效率排序

  1. count(字段F) count(主鍵ID) count(1) ≈ count(*)
  2. 盡量使用count(*)

樣例

mysql> SHOW CREATE TABLE prop_action_batch_reward\G;
*************************** 1. row ***************************
 Table: prop_action_batch_reward
Create Table: CREATE TABLE `prop_action_batch_reward` (
 `id` bigint(20) NOT NULL,
 `source` int(11) DEFAULT NULL,
 `serial_id` bigint(20) NOT NULL,
 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
 `user_ids` mediumtext,
 `serial_index` tinyint(4) DEFAULT '0',
 PRIMARY KEY (`id`),
 UNIQUE KEY `uniq_serial_id_source_index` (`serial_id`,`source`,`serial_index`),
 KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

count(字段F)

無索引

user_ids上無索引,而InnoDB又必須返回user_ids字段,只能遍歷聚簇索引

mysql> EXPLAIN SELECT COUNT(user_ids) FROM prop_action_batch_reward;
+----+-------------+--------------------------+------+---------------+------+---------+------+----------+-------+
| id | select_type | table   | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+--------------------------+------+---------------+------+---------+------+----------+-------+
| 1 | SIMPLE | prop_action_batch_reward | ALL | NULL  | NULL | NULL | NULL | 16435876 | NULL |
+----+-------------+--------------------------+------+---------------+------+---------+------+----------+-------+

mysql> SELECT COUNT(user_ids) FROM prop_action_batch_reward;
+-----------------+
| count(user_ids) |
+-----------------+
| 17689788 |
+-----------------+
1 row in set (10.93 sec)

有索引

1、serial_id上有索引,可以遍歷uniq_serial_id_source_index

2、但由于InnoDB必須返回serial_id字段,因此不會遍歷邏輯結(jié)果等價的更優(yōu)選擇idx_create_time

  • 如果選擇idx_create_time,并且返回serial_id字段,這意味著必須回表
mysql> EXPLAIN SELECT COUNT(serial_id) FROM prop_action_batch_reward;
+----+-------------+--------------------------+-------+---------------+-----------------------------+---------+------+----------+-------------+
| id | select_type | table   | type | possible_keys | key    | key_len | ref | rows | Extra |
+----+-------------+--------------------------+-------+---------------+-----------------------------+---------+------+----------+-------------+
| 1 | SIMPLE | prop_action_batch_reward | index | NULL  | uniq_serial_id_source_index | 15 | NULL | 16434890 | Using index |
+----+-------------+--------------------------+-------+---------------+-----------------------------+---------+------+----------+-------------+

mysql> SELECT COUNT(serial_id) FROM prop_action_batch_reward;
+------------------+
| count(serial_id) |
+------------------+
|  17705069 |
+------------------+
1 row in set (5.04 sec)

count(主鍵ID)

優(yōu)化器選擇了最優(yōu)的索引idx_create_time來遍歷,而非聚簇索引

mysql> EXPLAIN SELECT COUNT(id) FROM prop_action_batch_reward;
+----+-------------+--------------------------+-------+---------------+-----------------+---------+------+----------+-------------+
| id | select_type | table   | type | possible_keys | key  | key_len | ref | rows | Extra |
+----+-------------+--------------------------+-------+---------------+-----------------+---------+------+----------+-------------+
| 1 | SIMPLE | prop_action_batch_reward | index | NULL  | idx_create_time | 5 | NULL | 16436797 | Using index |
+----+-------------+--------------------------+-------+---------------+-----------------+---------+------+----------+-------------+

mysql> SELECT COUNT(id) FROM prop_action_batch_reward;
+-----------+
| count(id) |
+-----------+
| 17705383 |
+-----------+
1 row in set (4.54 sec)

count(1)

mysql> EXPLAIN SELECT COUNT(1) FROM prop_action_batch_reward;
+----+-------------+--------------------------+-------+---------------+-----------------+---------+------+----------+-------------+
| id | select_type | table   | type | possible_keys | key  | key_len | ref | rows | Extra |
+----+-------------+--------------------------+-------+---------------+-----------------+---------+------+----------+-------------+
| 1 | SIMPLE | prop_action_batch_reward | index | NULL  | idx_create_time | 5 | NULL | 16437220 | Using index |
+----+-------------+--------------------------+-------+---------------+-----------------+---------+------+----------+-------------+

mysql> SELECT COUNT(1) FROM prop_action_batch_reward;
+----------+
| count(1) |
+----------+
| 17705808 |
+----------+
1 row in set (4.12 sec)

count(*)

mysql> EXPLAIN SELECT COUNT(*) FROM prop_action_batch_reward;
+----+-------------+--------------------------+-------+---------------+-----------------+---------+------+----------+-------------+
| id | select_type | table   | type | possible_keys | key  | key_len | ref | rows | Extra |
+----+-------------+--------------------------+-------+---------------+-----------------+---------+------+----------+-------------+
| 1 | SIMPLE | prop_action_batch_reward | index | NULL  | idx_create_time | 5 | NULL | 16437518 | Using index |
+----+-------------+--------------------------+-------+---------------+-----------------+---------+------+----------+-------------+

mysql> SELECT COUNT(*) FROM prop_action_batch_reward;
+----------+
| count(*) |
+----------+
| 17706074 |
+----------+
1 row in set (4.06 sec)

參考資料

《MySQL實戰(zhàn)45講》

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • MySQL 大表的count()優(yōu)化實現(xiàn)
  • MySQL中聚合函數(shù)count的使用和性能優(yōu)化技巧
  • 關(guān)于mysql中innodb的count優(yōu)化問題分享
  • 聊聊MySQL的COUNT(*)的性能
  • 詳解 MySQL中count函數(shù)的正確使用方法
  • 淺談MySQL 統(tǒng)計行數(shù)的 count
  • mysql count提高方法總結(jié)
  • MySQL中count(*)、count(1)和count(col)的區(qū)別匯總
  • mySQL count多個表的數(shù)據(jù)實例詳解
  • MySQL COUNT函數(shù)的使用與優(yōu)化

標簽:拉薩 嘉峪關(guān) 吐魯番 葫蘆島 甘南 安徽 ???/a> 洛陽

巨人網(wǎng)絡(luò)通訊聲明:本文標題《MySQL中無過濾條件的count詳解》,本文關(guān)鍵詞  MySQL,中無,過濾,條件,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL中無過濾條件的count詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL中無過濾條件的count詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    免费观看成人在线| 俺去啦;欧美日韩| 亚洲成人在线视频播放| 日韩成人综合| 免费在线观看污视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| x88av在线| 欧美色老头old∨ideo| 亚洲精品欧美日韩专区| 亚洲3区在线| 131美女爱做视频| 日韩一区在线看| 欧美美女福利视频| 日本中文不卡| 亚洲一区二区三区精品中文字幕| 蜜桃av免费在线观看| 日本乱理伦在线| 国产亚洲精品久久久久久青梅| 老司机久久精品| 黄色三级视屏| 国产伦精品一区二区三区免费迷| 网曝门事件国产精品二区| 欧美精品亚洲一区二区在线播放| 国产浪潮av性色av小说| 99久久久精品免费观看国产| 欧美变态xxxx| 国产在线一区二区| 任你操在线观看| jizz在线免费观看| y97精品国产97久久久久久| 中文字幕日韩三级片| 国产麻豆精品视频| 91精品国产综合久久久久久漫画| 超碰在线最新| 亚洲一区二区五区| 欧美国产一区二区| 日韩欧美中文字幕在线视频| 欧美国产日韩在线播放| 国产偷倩在线播放| 99re99热| 日韩欧美一二三四区| 亚洲欧美日韩一区在线观看| 久草福利资源在线| 美女尤物在线视频| 国产精品自产自拍| 99热超碰在线| 综合国产精品久久久| 亚洲成人精品影院| 亚洲欧美日韩图片| 日韩av一区二区三区四区| 99久9在线视频| 国产视频精品自拍| 久久久久久无码精品人妻一区二区| 熟女少妇内射日韩亚洲| 18av千部影片| www.四虎成人| av免费观看大全| 色综合天天综合网天天狠天天| 欧美日韩综合一区二区三区| 国产午夜视频在线播放| 国产一区不卡精品| 日韩欧美综合一区| 日韩视频免费| 91精品蜜臀在线一区尤物| 日韩欧美在线综合网| 久久精品一区二区三区不卡| 中文字幕一区二区人妻在线不卡| 久草.com| 高清成人免费视频| a级片免费视频| 欧美日韩激情一区二区三区| 欧美日韩1080p| 久久国产成人午夜av影院| 91av亚洲| 国产一区久久精品| 中文字幕人妻色偷偷久久| 宅男在线精品国产免费观看| 成人免费观看在线观看| 国产精品每日更新| 国产三级视频| 91精品国产91久久久久久| 欧美午夜视频在线观看| 国产又粗又猛又爽又黄的网站| 亚洲色偷偷色噜噜狠狠99网| 69视频在线观看免费| 免费观看欧美成人禁片| 欧美精品18videos性欧| 中文字幕一区二区人妻电影丶| 欧美日韩国产亚洲一区| 成年人黄色大片在线| 欧美日韩亚洲一区二区三区在线观看| 色哟哟入口国产精品| 里番精品3d一二三区| 午夜视频在线观看一区| 亚洲精品一区二区三区不卡| 亚洲影视在线观看| 狠狠色伊人亚洲综合网站色| 日本亚洲欧美三级| 91麻豆精品激情在线观看最新| 免费av网站在线观看| 国产成人av网址| www红色一片_亚洲成a人片在线观看_| 国产精品国产自产拍高清av王其| 亚洲在线成人精品| 欧美一级午夜免费电影| 日本不卡高清视频一区| 美女精品视频一区| 国产精品久久久久久久久久久久午夜片| 色综合久久88色综合天天提莫| 国产xxxxxx| 你懂的视频网| 亚洲午夜影视影院在线观看| 全球成人中文在线| 亚洲尤物av| 日本女人黄色片| 欧美精品一区二区三区涩爱蜜| 中文字幕免费观看| 成人性生交大片免费看午夜| 亚洲一区二区三区四区视频| 日本在线中文电影| 91精品国产91久久久久久| 全彩无遮拦全彩口工漫画全彩| 日韩在线第一区| 北条麻妃一区二区三区在线| 亚洲av熟女高潮一区二区| 桥本有菜亚洲精品av在线| 欧洲vs亚洲vs国产| 一区二区日韩电影| 日韩精品一区二区三区在线播放| 国产精品极品在线观看| 欧美一级片在线| 秋霞午夜鲁丝一区二区| 七七成人影院| 久久人妻一区二区| 久久99久久98精品免观看软件| 久久综合影音| 97色在线视频| 天天干天天骑| 欧美日韩老妇| 欧美午夜在线播放| 黄色av免费播放| av资源在线观看免费高清| 蜜桃在线一区二区三区| 久久精品一本| 久久久精品人妻一区二区三区| 精品中文字幕一区二区| 国产精品一区二区无码对白| 绯色av蜜臀vs少妇| 91美女精品福利| 激情视频一区二区| 五月天亚洲综合小说网| 午夜大尺度福利视频| 一级黄色在线播放| 成人全视频在线观看在线播放高清| 日本激情综合网| 国产又粗又猛又黄视频| 亚洲成人av观看| 亚洲乱码精品一二三四区日韩在线| 久草一区二区| 国产二区一区| 欧美国产精品中文字幕| 国产美女精品写真福利视频| 国产1区二区| 国产91精品免费| 精品毛片三在线观看| 欧美三级华人主播| 久久网免费视频| 一区二区三区免费| 最新天堂在线视频| 久久日韩精品一区二区五区| 久久亚洲欧美日韩精品专区| 色av吧综合网| 蜜桃视频中文字幕| 亚洲AV无码片久久精品| 懂色av影视一区二区三区| 成人性生交大片免费看视频r| 久久九九国产精品| 色播视频在线观看| 亚洲色图偷窥| 久久久久麻豆v国产| 精品69视频一区二区三区| 91久久国产综合久久91精品网站| 做爰视频毛片视频| 777777国产7777777| 国产极品一区二区| 自拍偷拍亚洲在线| 日韩电影网1区2区| 国产传媒欧美日韩成人| 亚洲欧美激情四射在线日| 国产精品白丝一区二区三区| 国产剧情在线| 人妻中文字幕一区二区三区| 99999精品视频| 精品在线观看国产| 欧美中文字幕一区二区| 特一级黄色大片| 亚洲人成亚洲人成在线观看| 蜜桃av导航| 一本久道久久综合狠狠爱亚洲精品| 国产一区二区美女诱惑| 一级片avav网址| 亚洲AV无码成人片在线观看| 一个色在线视频| 高清不卡日本v二区在线| 亚洲日本在线看| va中文字幕| 亚洲av综合色区无码一区爱av| 一本大道av一区二区在线播放| 国产精品久久久久9999小说| 羞羞的视频在线| 青青草观看免费视频在线| 国产麻豆精品一区二区三区v视界| 2025国产精品视频| 国产成人综合在线| 亚洲制服国产| 亚洲午夜久久久久久久国产| 美国一区二区三区在线播放| 国产精品区一区二区三| 在线视频欧美日韩| 国产噜噜噜噜久久久久久久久| 男人操女人免费软件| 国内av在线播放| 亚洲一区二区自拍偷拍| 三级欧美韩日大片在线看| 亚洲欧美一区二区三区四区五区| xxxx欧美xxxx黑人| 美女洗澡无遮挡| 日本精品免费在线观看| 国产成人在线色| 国产小视频在线观看免费| 国产一区二区三区视频在线| 亚洲女同中文字幕| 亚洲国产天堂久久综合网| 国产激情视频一区| 中文字幕中文字幕在线十八区| 日韩精品成人免费观看视频| 色av手机在线| 国产婷婷成人久久av免费高清| 美女精品一区最新中文字幕一区二区三区| 激情五月六月婷婷| 伊人网在线视频观看| 伊人久久大香线蕉综合网蜜芽| 精品黑人一区二区三区在线观看| 在线高清欧美| 国产精品99久久久久久人| 中文av一区| 欧美性猛交xxxx久久久| 毛片免费看不卡网站| 久久精品五月天| 国产肥白大熟妇bbbb视频| 亚洲综合一区二区| 在线国产日韩| 在线码字幕一区| 欧美成人高清在线| 四季av在线一区二区三区| 天堂在线视频免费观看| 国产一区精品视频| 欧美xxx性| 欧美在线日韩在线| 亚洲香蕉成人av网站在线观看| 国产精品卡一卡二卡三| 亚洲一区二区三区中文字幕| 影音先锋2020色资源网| 国产精品视频线看| 99久久久久| 三级网站在线| avhd101老司机| 牛牛电影国产一区二区| 亚洲激情五月| 亚洲精华国产精华| 菠萝蜜视频在线观看入口| 蜜臀av在线播放一区二区三区| 色噜噜国产精品视频一区二区| 久草网在线视频| av漫画网站在线观看| 五月婷婷深爱五月| 精品国产91亚洲一区二区三区www| av在线三区| 国产一区二区三区久久| 宅男视频免费在线观看视频| 不卡视频免费在线观看| 亚洲国产欧美另类| 野花国产精品入口| 久久在线观看视频| 偷拍与自拍一区| a'aaa级片在线观看| 成人综合婷婷国产精品久久蜜臀| 日本小视频在线免费观看| 五月婷婷亚洲综合| 俄罗斯xxxx性全过程| 国产乱子伦一区二区三区国色天香| 国产精品一区二区三区精品| 精品久久久久久最新网址| 中文在线官网天堂| 国产欧美日韩综合一区在线播放| 性生交免费视频| 右手影院亚洲欧美| 精品国产av无码一区二区三区| 首页国产欧美久久| 中文字幕亚洲一区二区三区| 中文字幕人妻一区二区三区视频| 91精品国产综合久久精品性色| 欲色天天网综合久久| 国产中文字幕在线视频| 大地资源中文在线观看免费版| 亚洲视频网在线直播| 欧美激情一区二区三区成人| 91精品天堂福利在线观看| 午夜爽爽爽男女免费观看| 亚洲精品www久久久| 日韩大片在线观看视频| 91午夜伦伦电影理论片| 69xx绿帽三人行| 国产91亚洲精品一区二区三区| 亚洲超碰97人人做人人爱| 国产尤物视频| 成人在色线视频在线观看免费大全| 亚洲精品.com| 日韩成人xxxx| 触手亚洲一区二区三区| eeuss影院130020部| 韩国中文字幕av| 影音先锋中文字幕影院| 久久mv成人精品亚洲动漫| 色999国产精品| 中文国产字幕在线观看| 中国人体摄影一区二区三区| 精品理论电影|