久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

MySQL索引是啥?不懂就問

瀏覽:50日期:2023-10-01 09:22:35
目錄概述從二叉樹到B+樹聚集索引非聚集索引聯合索引和覆蓋索引B+樹索引VS哈希索引普通索引和唯一索引InnoDB VS MyISAM用explain分析索引使用總結概述

以下是需要創建索引的常見場景,為了對比,創建測試表(a帶索引、d無索引):

mysql> create table test( --創建測試表 -> id int(10) not null AUTO_INCREMENT, -> a int(10) default null, -> b int(10) default null, -> c int(10) default null, -> d int(10) default null, -> primary key(id), --主鍵索引 -> key idx_a(a), --輔助索引 -> key idx_b_c(b,c) --聯合索引 -> )engine=InnoDB charset=utf8mb4;Query OK, 0 rows affected, 5 warnings (0.09 sec)mysql> drop procedure if exists insert_test_data;Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> delimiter | --創建存儲過程,插入十萬個數據mysql> create procedure insert_test_data() -> begin -> declare i int; -> set i=1; -> while(i<=100000) do -> insert into test(a,b,c,d)values(i,i,i,i); -> set i=i+1; -> end while; -> end |Query OK, 0 rows affected (0.11 sec)mysql> delimiter ;mysql> call insert_test_data(); --執行存儲過程Query OK, 1 row affected (11 min 44.13 sec)

數據檢索時在條件字段添加索引

MySQL索引是啥?不懂就問

聚合函數對聚合字段添加索引

MySQL索引是啥?不懂就問

對排序字段添加索引

MySQL索引是啥?不懂就問

為了防止回表添加索引

MySQL索引是啥?不懂就問

關聯查詢在關聯字段添加索引

MySQL索引是啥?不懂就問

可以看出使用索引后,對查詢速度優化提升是巨大的,本文將從底層到實踐搞懂MySQL索引。

從二叉樹到B+樹

二叉樹:

二叉樹(Binary Tree)是指至多只有兩個子節點的樹形數據結構,沒有父節點的節點為根節點,沒有子節點的節點稱為葉子節點。

二叉搜索樹就是任何節點的左子節點小于當前節點鍵值,右子節點大于當前節點鍵值。

如下圖的二叉搜索樹,我們最多只需要 ⌈ l o g ( n ) ⌉ ⌈log(n)⌉ ⌈log(n)⌉即三次即可匹配到數據,而線性查找的話最壞情況需要 n n n次才可匹配到。

MySQL索引是啥?不懂就問

但是二叉樹可能會退化成鏈表的情況,如下圖所示,這樣就相當于全部掃描了,導致效率不高,為了解決這個問題,需要確保二叉樹一直保持平衡,即平衡二叉樹。

MySQL索引是啥?不懂就問

平衡二叉樹:

平衡二叉樹(AVL樹)在滿足二叉樹特性的基礎上,要求每一個節點的左右子樹高度差不能超過1。它保證了樹構造的一個平衡,當插入或刪除數據導致不平衡時,會進行節點調整來保持平衡(具體算法略),確保查找效率。

MySQL索引是啥?不懂就問

平衡二叉樹的一個節點對應一個鍵值和數據,我們每次查找數據就需要從磁盤中讀取一個節點,也就是我們說的磁盤塊,一個節點對應一個磁盤塊。當存儲海量數據時,樹的節點會非常多,會進行很多次的磁盤I/O,查找效率仍是極低的。這就需要一個單節點能存儲多個鍵值和數據的一種平衡樹了。

B樹: B樹(Blance Tree)就是可以單節點存儲多鍵值和數據的平衡樹,每一個節點我們稱之為頁(Page),即一頁數據。每個節點存儲了更多鍵值和數據,把鍵值和數據都放在一個頁當中,并且每個節點擁有了更多子節點,子節點的個數一般稱為階。B樹在查找數據讀取磁盤的次數也就大大減少,查找效率比AVL高很多。

如下圖的3階B樹中,查找id=42的數據。首先在第一頁里判斷42鍵值大于39,根據指針P3找到第4頁,再進行比較,小于鍵值45,又根據指針P1找到第9頁,發現匹配有匹配的鍵值42,即找到相應數據。

MySQL索引是啥?不懂就問

B+樹:

B+樹是對B樹的進一步優化。簡單說就是B+樹的非葉子節點是不存儲數據的,僅存放鍵值。之所以這樣做,是因為數據庫中頁的大小是固定的(InnoDB默認16KB),如果不存儲數據,就可以存儲更多鍵值,節點個數就越大,查找數據進行磁盤I/O次數進一步減少。

MySQL索引是啥?不懂就問

另外B+樹的階數是等于它的鍵值數量的,如果一個節點存儲1000鍵值的話,那么只需要三層就可存儲10億數據,所以一般查找10億數據只需兩次磁盤I/O即可(妙啊)。

同時B+樹葉節點的數據是按順序進行排列的,所以B+樹適合范圍查找、排序查找和分組查找等(B各數據分散在節點上,相對就困難),也就是為什么MySQL采用B+樹索引的原因了。

聚集索引

聚集索引或聚簇索引(Clustered Index)是一種對磁盤上實際數據重新組織并按指定的一個或多個列的值排序。數據行的物理順序與列值(一般是主鍵那列)的邏輯順序相同,一個表中只能有一個聚集索引(因為只能以一種物理順序存放)。

InnoDB就是用的聚集索引,它的表中的數據都會有一個主鍵,即使你不創建主鍵,InnoDB會選取一個Unique鍵作為主鍵,如果表中連Unique鍵都沒有定義的話,InnoDB會為表添加一個名為row_id的隱藏列作為主鍵。

也就是說我們通過InnoDB把數據存放到B+樹中,而B+樹中的鍵值就是主鍵,那么在B+樹中的葉子節點存儲的就是表中的所有數據(即該主鍵對應的整行數據),數據文件和索引文件是同一個文件,找到了索引便找到了數據,所以我們稱之為聚集索引。

聚集索引更新代價高。插入新行或更新主鍵時會強制將每個被更新的行移動到新的位置(因為要按主鍵排序),而移動行可能還會面臨頁分裂問題(即頁已滿),存儲引擎會將該頁分裂成兩個頁面來容納,頁分裂會占用更多磁盤空間。即索引重排,造成資源浪費。

聚集索引適合范圍查詢。聚集索引查詢速度很快,特別適合范圍檢查(between、<、<=、>、>=)或group by、order by的查詢。因為聚集索引找到包含第一個值的行后,后續索引值的行在物理上毗連在一起而不必進一步搜索,避免大范圍掃描,大大提高查詢速度。

MySQL索引是啥?不懂就問

比如查詢id>=19并且id<30的數據:通常根節點常駐在內存中(即頁1已在內存),首先在頁1找到了鍵值19及其對應指針P2,通過P2讀頁3(此時頁3不在內存中,需要從磁盤中加載),然后在頁3查找鍵值19的指針P1,又定位到頁8(同樣的從磁盤加載到內存),因為數據是按鏈表進行順序鏈接的,可以通過二分找到鍵值19對應數據。

找到鍵值19后,因為是范圍查找,這時可以在葉子節點里進行鏈表的查詢,依次遍歷并匹配滿足的條件,一直找到鍵值21,到最后一個數據仍不能滿足我們的要求,此時會拿著頁8的指針P去讀取頁9的數據,頁9不在內存中同樣需要磁盤加載讀進內存,然后依此類推,直到匹配到鍵值34時不滿足條件則終止,這就是通過聚集索引查找數據的一種方法。

非聚集索引

非聚集索引或非聚簇索引(Secondary Index)就是以主鍵以外的列作為鍵值構建的B+樹索引,索引中索引的邏輯順序與磁盤上行的物理存儲順序不同,一個表中可以擁有多個非聚集索引。在InnoDB中處了主鍵索引外其他索引都可以稱為輔助索引或二級索引。

MySQL中的MyISAM使用的就是非聚集索引。表數據存儲順序與索引數據無關,葉節點包含索引字段值及指向數據頁數據行的邏輯指針(其行數量與數據表數據量相同),所以想要查找數據還需要根據主鍵再去聚集索引中查找,根據聚集索引查找數據的過程就稱為回表。

比如定義一張數據表test,他是由test.frm、tsst.myd和test.myi組成的:

.frm:記錄了表定義語句. myd:記錄了真實表數據. myi:記錄了索引數據

再檢索數據時,先到索引樹test.myi中進行查找,取到數據所在test.myd的行位置,拿到數據。所以MyISAM引擎的索引文件和數據文件是獨立分開的,找到索引不等于找到數據,即非聚集索引。

一個表可以有不止一個非聚集索引,實際上每個表最多可以建立249個非聚集索引,但是每次給字段建一個新索引,字段中的數據就會被復制出來一份用于生成索引,因此給表添加索引會增加表的體積,占據大量磁盤空間和內存。所以若磁盤空間和內存有限,應限制非聚集索引數量。

此外每當你改變了一個建立非聚集索引的表中數據時,必須同時更新索引,所以非聚集索引會降低插入和更新速度。

MySQL索引是啥?不懂就問

比如查找數據36,是用兩個數字表示,前面那個數字36代表的是索引的鍵值,后面那個64代表的是數據的主鍵。所以說我們找到36后,并沒有拿到數據,還要根據它對應的主鍵去到聚集索引表中去查找數據。

聯合索引和覆蓋索引

聯合索引,顧名思義就是指對表上的多個列聯合起來進行索引。在創建聯合索引的時候會根據業務需求,把使用最頻繁的列放在最左邊,因為MySQL的索引查詢會遵循最左前綴匹配的原則。

最左前綴匹配原則即最左優先在檢索數據的時候,從聯合索引的最左邊開始匹配,所以當我們創建一個聯合索引的時候,如(a,b,c)相當于創建了(a)、(a、b)、(a、b、c)三個索引,這就是最左匹配原則。

覆蓋索引(Covering index)只是特定于具體select語錄而言的聯合索引。也就是說一個聯合索引對于某個select語句,通過索引可以直接獲取查詢結果,而不再需要回表查詢啦,就稱該聯合索引覆蓋了這條select語句。可以完美的解決非聚集索引回表查詢的問題,但前提是注意查詢時索引的最左匹配原則。

B+樹索引VS哈希索引

原理:

B+樹索引可能需要多次運用二分查找來找到對應的數據塊。 Hash索引時通過Hash函數,計算出Hash值,在表中找出對應的數據。

哈希索引適合大量不同數據等值精確查詢,但不支持模糊查詢、范圍查詢,無法用索引來進行排序,也不支持聯合索引的最左匹配原則,而且有大量重復鍵值的情況下,還會存在哈希碰撞問題。

普通索引和唯一索引

普通索引的字段可以寫入重復的值,而唯一索引的字段不能寫入重復的值。先介紹Insert Buffer和Change Buffer:

Insert Buffer 對于非聚集索引的插入,先判斷插入的非聚集索引是在在緩存池中。若在則直接插入,若不在,則先放入Insert Buffer,之后在一一定頻率和情況鏡像Insert Buffer和輔助索引頁子節點的合并操作。將多次插入合并為一次操作,減少磁盤離散讀取。要求索引是輔助索引且不唯一。 Change Buffer 是Insert Buffer的升級版,除了插入還支持刪改。通過innodb_change_buffer設置使用場景,默認為all(還有none、inserts、changes等值),通過innodb_change_buffer_max_size設置最大使用內存占比(默認25%,最大值50%),但在RR隔離級別下會出現死鎖。同樣要求索引是輔助索引且不唯一。

唯一索引使用的是Insert Buffer,因為判斷是否違反唯一性約束,如果都已經讀入內存了,那直接更新內存會更快,就沒必要使用Change Buffer。

普通索引查找到滿足條件的第一個記錄后,繼續查找下一個記錄直到不滿足條件,對唯一索引來說,查到第一個記錄就返回結果結束了。但是InnoDB按頁讀取到內存,后面滿足條件的可能都在之前的數據頁里,所以普通索引多的幾次內存掃描消耗可以忽略不計。

小結:

數據修改時,普通索引可用Change Buffer,而唯一索引不行。 數據修改時,唯一索引在RR隔離級別下更容易出現死鎖。 查詢數據時,普通索引查到一條記錄還需繼續判斷下一個記錄,而唯一索引查到后直接返回。 當業務要求某字段唯一時,若代碼能保證寫入唯一值,則用普通索引,否則用唯一索引。InnoDB VS MyISAM MyISAM InnoDB 數據存儲 .frm存儲表定義、.myd數據文件、.myi索引文件 不開啟獨立表空間則.frm文件,否則idb文件 索引實現 非聚集索引隨機存儲,只緩存索引 聚集索引順序存儲,緩存索引和數據 存儲空間 可被壓縮,存儲空間較小,支持靜態表、動態表、壓縮表三種格式 需更多內存和存儲 備份恢復 文件形式存儲可跨平臺,可單獨針對某個表操作 拷貝數據文件、備份binlog,體量可能非常大 事務 不支持(也不支持外鍵,更強調性能) 支持(包括外鍵、安全、回滾等高級功能) auto_increment 自增長列必須是索引,聯合索引中可不是第一列 自增長列必須是索引,聯合索引中也必須是第一列 鎖 支持表級鎖 支持行級鎖 全文索引 支持FULLTEXT類型全文索引 不支持FULLTEXT,但可使用Sphinx插件 表主鍵 允許沒有任何索引和主鍵的表存在 會自動生成隱藏主鍵 總行數 保存有表的總行數 沒有保存表的總行數,會使用輔助索引去遍歷 CRUD 相對適合大量查詢 相對適合增改刪

對比之下,基本上可以考慮使用InnoDB來替代MyISAM了,InnoDB也是目前MySQL的默認引擎,但是具體問題具體分析,也可根據實際情況對比兩者優劣,選擇更合適的。

再擴展一下為什么MyISAM查詢比InnoDB快?

InnoDB要緩存數據和索引;MyISAM只緩存索引,換進換出的減少。 InnoDB尋址要映射到塊再到行;MyISAM直接記錄文件的OFFSET,定位更快。 InnoDB還要維護MVCC一致,或許你的場景沒有,但也需要檢查和維護。

MVCC(Multi-Version Concurrency Control)多版本并發控制

InnoDB為每一行記錄添加了兩個額外的隱藏值(創建版本號、刪除版本號)來實現MVCC,一個記錄行數據創建時間,一個記錄行數據過期/刪除時間。但是InnoDB并不存儲這些事件發生的實際時間,相反它只存儲這些事件發生時的系統版本號。隨著事務的不斷創建而不斷增長,每個事務在開始時都會記錄它自己的系統版本號,每個查詢必須去檢查每行數據的版本號與事務的版本號是否相同。也就是說每行數據的創建版本號不大于事務版本號,以確保事務創建前行數據是存在的;行數據的刪除版本號大于事務版本號或未定義,以確保事務開始前行數據沒有被刪除。

用explain分析索引使用

explain可以看SQL語句的執行效果,可以幫助選擇更好的索引和優化查詢語句,語法:explain select... from ... [where...]。

用前面概述那節的test表做測試:

mysql> explain select * from test where a=88888;+----+-------------+-------+------------+------+---------------+-------+---------+-------+------+----------+-------+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |+----+-------------+-------+------------+------+---------------+-------+---------+-------+------+----------+-------+| 1 | SIMPLE | test | NULL | ref | idx_a | idx_a | 5 | const | 1 | 100.00 | NULL |+----+-------------+-------+------------+------+---------------+-------+---------+-------+------+----------+-------+1 row in set, 1 warning (0.03 sec)mysql> explain select b,c from test where b=88888;+----+-------------+-------+------------+------+---------------+---------+---------+-------+------+----------+-------------+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |+----+-------------+-------+------------+------+---------------+---------+---------+-------+------+----------+-------------+| 1 | SIMPLE | test | NULL | ref | idx_b_c | idx_b_c | 5 | const | 1 | 100.00 | Using index |+----+-------------+-------+------------+------+---------------+---------+---------+-------+------+----------+-------------+1 row in set, 1 warning (0.00 sec)mysql> explain select * from test where a=(select a from test where a=88888);+----+-------------+-------+------------+------+---------------+-------+---------+-------+------+----------+-------------+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |+----+-------------+-------+------------+------+---------------+-------+---------+-------+------+----------+-------------+| 1 | PRIMARY | test | NULL | ref | idx_a | idx_a | 5 | const | 1 | 100.00 | Using where || 2 | SUBQUERY | test | NULL | ref | idx_a | idx_a | 5 | const | 1 | 100.00 | Using index |+----+-------------+-------+------------+------+---------------+-------+---------+-------+------+----------+-------------+2 rows in set, 1 warning (0.00 sec)

重點看這三列即可:select_type、type、extra。

select_type值 說明 SIMPLE 簡單查詢(不使用關聯查詢或子查詢) PRIMARY 包含關聯查詢或子查詢 UNION 聯合查詢中第二個及后面的查詢 DEPENDENT UNION 依賴外部的關聯查詢中第二個及以后的查詢 UNION RESULT 聯合查詢結果 SUBQUERY 子查詢中的第一個查詢 DEPENDENT SUBQUERY 依賴外部查詢的子查詢中的第一個查詢 DERIVED 用到派生表的查詢 MATERIALIZED 被物化的子查詢 UNCACHEABLE SUBQUERY 子查詢結果不能被緩存,必須重新評估外層查詢的每一行

type(顯示這一行的數據是關于哪張表的)

type的值 說明 system 查詢對象只有一會數據 ,最好的情況 const 基于注解或唯一索引查詢,最多返回一條結果 eq_ref 表連接時基于主鍵或非NULL的唯一索引完成掃描 ref 基于普通索引的等值查詢或表間等值連接 fulltest 全文檢索 ref_or_null 表連接類型是ref,但掃描的索引中可能包含NULL值 index_merge 利用多個索引 unique_subquery 子查詢使用唯一索引 index_subquery 子查詢使用普通索引 range 利用索引進行范圍查詢 index 全索引掃描

extra(解決查詢的詳細信息)

extra的值 說明 Using filesort 用的外部排序而不是索引排序 Using temporary 需創建一個臨時表來存儲結構,通常發生在對沒有索引的列進行group by時 Using index 使用覆蓋索引 Using where 使用where來處理結果 Impossible where 對where子句判斷結果總是false而不能選擇任何數據 Using join buffer 關聯查詢中,被驅動表的關聯字段沒有索引 Using index condition 先條件過濾索引再查數據 Select tables optimized away 使用聚合函數來訪問存在索引的某個字段 總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注好吧啦網的更多內容!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 99精品一级欧美片免费播放 | 一区二区三区影院 | 国产成人一区 | 国产在线一区二区 | 免费在线日本 | 久久久夜夜夜 | 在线欧美亚洲 | 密色视频 | 另类一区 | 久久综合一区二区 | 国产成人av电影 | 午夜窝窝| 蜜臀精品久久久久久蜜臀 | 久久黄色网| 91偷拍精品一区二区三区 | 99亚洲国产 | 国产成人久久精品一区二区三区 | 久草在线观看福利视频 | 久久亚洲二区 | 一区二区三区在线看 | 日韩专区中文字幕 | 国产51人人成人人人人爽色哟哟 | 亚洲精选国产 | 欧美日韩大陆 | 在线观看91 | 欧美激情网站 | 欧美xxxx色视频在线观看免费 | 成人爽a毛片一区二区免费 亚洲自拍偷拍精品 | 91视视频在线观看入口直接观看 | 欧美日韩激情四射 | www.国产精品 | 国产精品久热 | 国产在线观看高清 | 国产精品视频一二三区 | 午夜资源 | 午夜久久 | www.99热.com | 国产精品久久精品久久 | 91免费国产 | 久久av综合| 精品国产一区二区在线 | 成人亚洲视频在线观看 | 国产毛片毛片 | 亚洲国产精品久久久久婷婷老年 | 欧美在线综合 | 欧美精品一区二区三区一线天视频 | 亚洲v日韩v综合v精品v | 91在线中文字幕 | 在线成人免费观看www | 亚洲精品乱码久久久久久花季 | 日日夜夜天天 | 久久国产成人 | www.avtt天堂网 | 欧美在线观看黄 | 久久在线 | 成人精品在线观看 | 欧美福利视频 | 日韩一区二区不卡 | 欧美精品成人一区二区三区四区 | 看毛片网站 | 欧美在线观看免费观看视频 | 久久国产精品99国产 | 欧美a一级 | 国产一级视频在线观看 | 大胸av| 欧美亚洲日本 | 精品无人乱码区1区2区3区 | 欧美一级艳片视频免费观看 | 成人在线网 | 午夜精品久久久久久久久久久久 | 国产成人涩涩涩视频在线观看 | 久久99深爱久久99精品 | 中文字幕在线观看av | 亚洲日本欧美 | 国产在线不卡 | 91传媒在线播放 | 欧美精品一区二 | 精品美女在线 | 精品国产乱码久久久久久久软件 | 国产精品日本一区二区在线播放 | 成人1区| 亚洲91| 午夜寂寞福利视频 | 粉嫩高清一区二区三区精品视频 | 久草网在线视频 | 国产麻豆乱码精品一区二区三区 | 中文字幕日韩欧美一区二区三区 | 国产毛片一区二区 | 在线涩涩 | 国产精品亚洲一区二区三区在线 | 日韩成人av在线 | 天天干夜干 | 色com| 免费观看羞羞视频网站 | 亚洲精品一区二区三区 | 97视频久久久 | 国产精品久久久一区二区 | 亚洲成人一区二区 | 免费看一区二区三区 | 美女一级a毛片免费观看97 | 亚洲成年片 | 99久久99久久| 中文字幕一区在线观看视频 | 色www精品视频在线观看 | 99热国产在线观看 | 国产精品久久久久精 | 国产精品日韩欧美一区二区三区 | 国产精品久久久久久久久免费 | 天天综合91 | 欧美日韩成人在线播放 | 五月天中文字幕 | 一本色道精品久久一区二区三区 | 日本成人中文字幕 | 国产成人久久精品一区二区三区 | 亚洲精品一二三 | 国产精品免费一区二区 | 成人一区视频 | 日本免费www | 91 在线| 欧美日韩一区在线 | 精品久久一区 | 久久久久久国产免费视网址 | 中文字幕在线导航 | 欧美视频亚洲视频 | 欧美a在线 | av色伊人久久综合一区二区 | 精品一区二区三区三区 | 少妇久久久久 | 国产乱肥老妇国产一区二 | 在线观看国产精品一区 | 欧美日韩在线一 | 国产裸体bbb视频 | 91精品国产91综合久久蜜臀 | 久久国产精品久久久久久电车 | 亚洲国产精品综合久久久 | 亚洲欧美网站 | 中文字幕在线观看精品视频 | 第一色综合 | 久草青青 | 欧美三级电影在线播放 | 国产中文字幕在线观看 | 在线日韩 | 久久精品国产免费 | 日韩av免费在线观看 | 成人深夜福利在线观看 | 日韩91 | 亚洲精品无 | 精品国产黄a∨片高清在线 99热婷婷 | 欧美成人福利 | 99这里只有精品视频 | www.亚洲成人网| 国产精品国产精品国产专区不卡 | 午夜精品久久久久久99热软件 | 一区二区在线视频 | 精品精品久久 | 国产精品原创av片国产免费 | 天堂资源 | 免费一区二区三区 | 国产激情不卡 | 久艹精品 | 日韩精品一区二区三区中文字幕 | 精品在线一区 | 一级片在线观看网站 | 亚洲国产成人在线 | 91亚洲精品乱码久久久久久蜜桃 | 北条麻妃99精品青青久久 | 国变精品美女久久久久av爽 | 中文无码久久精品 | 国产激情一区二区三区成人免费 | 成人av一区二区三区 | 国产精品欧美一区二区三区 | 亚洲国产精品久久 | 这里有精品在线视频 | 日韩av一区二区三区在线 | 亚洲一区二区在线 | 可以免费看黄视频的网站 | 在线亚洲免费 | 一区福利 | 国产激情一区二区三区成人免费 | 久久99久久99精品 | 日韩看片 | 中文字幕avav | 91在线视频 | 亚洲欧美日韩另类精品一区二区三区 | 国产精品一区av | 黄a在线| 视频精品一区 | 亚洲欧美网站 | 久久久免费 | 国产亚洲成av人片在线观看桃 | 中文字幕一区二区三区乱码在线 | 久久精品首页 | 亚洲精品一区二区三区在线 | 欧美中文字幕在线观看 | 伊人久色| 人人九九 | 欧美日韩久久精品 | 亚洲欧美国产毛片在线 | 欧美一级片免费在线观看 | 成人午夜精品一区二区三区 | 欧美寡妇偷汉性猛交 | 日韩在线免费 | 国产精品国产三级国产aⅴ中文 | 免费看毛片的网站 | 欧美黄色一级毛片 | 久久aⅴ乱码一区二区三区 91综合网 | 国产在线精品一区二区三区 | 国产高清一级毛片在线不卡 | 亚洲a在线观看 | 九一精品国产 | 亚洲综合电影 | 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲一区二区视频在线观看 | 我看午夜视频 | 拍拍无遮挡人做人爱视频免费观看 | 日韩精品在线一区 | 超黄视频在线观看 | 国久久久 | av黄色在线免费观看 | 日韩视频中文字幕 | 国产成人视屏 | 久草新 | 亚洲一区二区三区精品视频 | 成人一区二区在线 | 日韩一区二区影视 | 最新的黄色网址 | 免费国产一区二区 | 四虎在线视频 | 波多野结衣一区二区三区高清 | 精品久久久久久久久久久久久久 | 亚洲久久久久久 | 成人激情视频免费观看 | 国产三级 | a级片视频在线观看 | 精品国产乱码久久久久久影片 | 久久久999国产 | 7777视频 | 日本黄色一级 | 成人精品鲁一区一区二区 | 麻豆一区| 亚洲毛片| 久久精品亚洲精品 | 日韩欧美国产一区二区 | 欧美日韩国产中文 | 久久成人精品视频 | 午夜精品久久久久久久星辰影院 | 99精品网站 | 亚洲精品久久久久久久久久久 | 91精品国产综合久久久久久丝袜 | aaa在线免费观看 | 操操日 | 亚洲国产精品久久久久秋霞蜜臀 | av在线成人 | 自拍偷拍第一页 | 国产精品禁久久精品 | 成人国产精品久久 | 成人免费在线视频播放 | 中文字幕在线精品 | 一级片视频免费 | 成人午夜激情 | 超碰操| 91精品国产91久久久久久吃药 | 成年人在线视频播放 | 日韩99| 亚洲精品成人网 | 91精品国产91久久久久久最新 | 午夜国产视频 | 免费的一级视频 | 国产精品久久久久久久久久99 | 久久亚洲精品国产精品紫薇 | 在线播放国产一区二区三区 | 亚洲 激情 在线 | 精品一区二区久久 | 国产精品久久久久久久久久久新郎 | 天堂精品 | 91精品国产综合久久国产大片 | 国产黄色网址在线观看 | 免费亚洲成人 | 日韩精品 | 亚洲综合视频 | 久草视频在线播放 | 久久久久久久久久毛片 | 日日网| 一区二区三区欧美在线 | 国产精品91视频 | 欧美xxxx网站 | 最新国产视频 | 99免费在线观看视频 | 久在线| 性视频一区二区 | 久久国产精品久久 | 91豆花视频 | 久久精品免费一区二区三区 | 日韩另类 | 国产日韩欧美一区二区 | 天天插天天干 | 亚洲精品日韩综合观看成人91 | 毛片黄片| 欧美一区国产一区 | 国产视频福利在线观看 | 国产偷久久9977 | 亚洲一区二区中文字幕 | 国产高清精品一区二区三区 | www.操.com| 成人欧美在线视频 | 欧美成人免费 | 日韩午夜免费 | www.伊人| 国产亚洲精品一区二区 | 欧美亚洲国产一区二区三区 | a成人在线 | 午夜影院免费看 | 精品国产一区二区三区四区 | 大陆一级毛片免费视频观看 | 国产精品乱码久久 | 色视频网站在线观看 | a级毛片免费高清视频 | 国产欧美日本 | 日韩城人免费 | 亚洲成人免费视频 | 日韩欧美国产一区二区三区 | 热久久免费视频 | 一区二区三区在线播放 | 久久99精品国产麻豆婷婷洗澡 | 一区二区视频免费 | 麻豆精品一区二区 | 国产成人久久 | 久久久999精品视频 五月天婷婷在线视频 | 亚洲精品国产第一综合99久久 | 成人欧美一区二区三区白人 | 91文字幕巨乱亚洲香蕉 | 免费观看成人毛片 | 精品国产黄a∨片高清在线 99热婷婷 | 精品国产91乱码一区二区三区 | 国产一区二区三区精品久久久 | 亚洲av毛片 | 久久久成 | 一级黄色片看看 | 先锋资源中文字幕 | 成人日韩| 成人永久免费视频 | 在线国产专区 | 亚欧毛片 | 免费视频爱爱太爽了 | 永久91嫩草亚洲精品人人 | 狠狠干干 | 狠狠躁夜夜躁人人爽天天高潮 | 日韩1区| 欧美一级全黄 | 噜噜噜噜狠狠狠7777视频 | 国产精品亚洲一区二区三区 | 超碰在线91 | 日本在线视频一区二区 | 日韩欧美在线观看视频 | 亚洲成人免费视频在线观看 | 国产亚洲精品久久久久动 | 欧美日韩成人在线播放 | 亚洲二区在线播放 | 亚洲欧美中文字幕 | 91精品国产综合久久久亚洲 | 亚洲精品自拍视频 | 国产精品久久久久久婷婷天堂 | 91日日 | 50人群体交乱视频 | 国产精品久久久精品 | 日韩五月 | 亚洲视频一区二区三区 | 夸克满天星在线观看 | 亚洲一本 | 亚洲国产精品视频 | 亚洲风情在线观看 | 天天干狠狠 | 狠狠狠色丁香婷婷综合久久五月 | 久久久91精品国产一区二区 | 91精品久久久久久 | 午夜免费电影 | 91社区福利| 久久九精品 | www伊人| 午夜影视 | av一级久久| a在线看| 亚洲中午字幕 | 欧美一级欧美三级在线观看 | 国产精品久久久久久久久免费 | 欧美久久久久 | 国产亚洲精品美女久久久久久久久久 | 国产高清小视频 | 欧日韩在线视频 | 免费一区二区 | 好色视频在线观看 | 欧美精品国产精品 | 在线视频一区二区三区 | 日韩在线视频观看 | 日韩中文字幕一区二区高清99 | 一区二区三区精品视频 | 国产人久久人人人人爽 | 国产激情偷乱视频一区二区三区 | 国产激情| 国产一区网站 | 欧美久久久 | 国产精品视频一区二区三区 | 亚洲 欧美日韩 国产 中文 | 精品日韩欧美一区二区在线播放 | 国产成人亚洲综合 | 久久久久久毛片免费播放 | 懂色中文一区二区在线播放 | 久久av一区二区三区 | 日韩免费福利视频 | 亚洲国产自产 | 日日视频| 国产成人精品免高潮在线观看 | 国产精品久久久久久久久久久久 | 色婷婷综合久久久中文字幕 | 97超碰免费| 一区二区欧美视频 | 日本黄色影片在线观看 | 欧美99 | 国产一区二区三区在线 | 欧美 日韩 亚洲 一区 | 99视频| 91亚洲一区| 爱干在线 | 成年免费a级毛片 | 搞黄视频在线观看 | 国产精彩视频 | 999在线观看视频 | 美国黄色毛片女人性生活片 | 一级黄色录象片 | 国精产品一区二区三区有限公司 | 亚洲成人精品影视 | 国产成人一级毛片 | 中文字幕在线观看不卡视频 | 1000部精品久久久久久久久 | 久热久爱 | 热久久影院 | 日韩欧美亚洲 | 欧美日韩视频网站 | 国产精品久久久久久久久小说 | 中文字幕本久久精品一区 | 人人玩人人干 | 九九热视频在线 | 欧美成人精品一区二区男人看 | 综合视频一区二区三区 | 精品日韩一区 | 黄色片免费看. | 久一久久| 天天爽夜夜爽夜夜爽精品视频 | 日韩欧美~中文字幕 | 男人的天堂久久 | 九色网址 | 亚洲国产精品视频 | 国产精品久久毛片 | 黄视频网站免费看 | 不卡一区 | 亚洲精品一区二区三区蜜桃久 | 成人精品在线观看 | 久久骚 | 日韩精品小视频 | 奇米色欧美一区二区三区 | 久久久久久久一区 | 亚洲一区二区三区蜜桃 | 美女福利视频网站 | 久久久999成人 | 三区在线视频 | av影音在线 | 欧美日韩免费在线 | 色综合久久久久 | 欧美一区二区三区 | 国产亚洲一区二区三区在线观看 | 日韩aⅴ一区二区三区 | 日本高清精品 | 日韩精品一区二区三区四区五区 | 国产黄色大片 | 黄色最新网站 | 91精品麻豆日日躁夜夜躁 | 亚洲欧美日韩精品 | 亚洲男人天堂网 | 亚洲精选免费视频 | 亚洲高清视频在线观看 | 毛片网站在线 | 日韩欧美在线中文字幕 | 色综合天天综合网国产成人网 | 国产精品视频一区二区三区四蜜臂 | 91精品国产福利在线观看 | 在线观看成人小视频 | 成人免费视频7777777 | 色综合成人| av黄色在线 | 久久久久久综合 | 欧美free性 | 久操国产 | 国产高清在线不卡 | 91精品国产92 | av免费看在线 | 亚洲欧美精品 | 免费一区二区 | 国产精品自产拍在线观看 | 一区二区欧美视频 | 日韩精品中文字幕一区二区三区 | 精品日韩欧美一区二区三区在线播放 | 欧美日韩电影一区二区 | 日韩中文字幕在线视频 | 一级黄色大片视频 | 精品视频久久 | 国产精品毛片久久久久久久 | 国产精品手机在线 | 99精品在线观看 | 国产精品久久久久久一区二区三区 | 国产精品久久久久9999鸭 | 亚洲欧洲一区二区 | 日韩a∨精品日韩在线观看 山岸逢花在线 | 久久69精品久久久久久久电影好 | 91精品国产美女在线观看 | 男女羞羞视频在线观看 | 精品欧美一区二区三区久久久 | 久久这里有精品 | 日韩视频网站在线观看 | 在线视频成人永久免费 | 亚洲免费观看 | 亚洲精品大片 | 黄色网在线 | 国产精品亚洲综合 | 日韩国产一区二区 | 99久久国产综合精品女不卡 | 久久国产精彩视频 | 国产精品电影 | 日韩电影一区二区三区 | 免费欧美一级 | 日韩精品一区二区三区在线观看 | 精品久久网| 国产野精品久久久久久久不卡 | 国产日韩高清在线 | 亚洲精品一区二区三区四区高清 | 国产一区二区三区久久 | 久久精品国产亚洲一区二区三区 | 福利91 | 日本成人黄色网址 | 日韩专区在线播放 | 欧美国产免费 | 日韩在线一区二区 | 欧美一区二区三区男人的天堂 | 日韩精品一区二区三区老鸭窝 | 日韩中文字幕免费在线播放 | 精品国产一区探花在线观看 | 精品国产91乱码一区二区三区 | 狠狠艹夜夜艹 | 国产精品一区二区三区在线播放 | 国产精品视频一区二区三区不卡 | 免费在线色 | 亚洲国产高清视频 | 亚洲一区欧美一区 | 风间由美一区二区三区在线观看 | 久久久久久久国产精品视频 | 午夜久久久久 | 99精品欧美一区二区三区综合在线 | 久久国产精品系列 | 成人在线高清视频 | 国产精品一区二区三区四区 | 亚洲激情一区 | 国产精品国产成人国产三级 | 精品一区二区av | 精品999| 婷婷五月色综合 | 一区二区三区亚洲精品国 | 亚洲香蕉在线观看 | 特黄毛片 | 国产精品美女久久 | 国产三级在线免费观看 | 国产福利视频 | 一二三四区视频在线观看 | 伊人网在线视频免费观看 | 亚洲一在线 | 国产一区二区视频在线观看 | 久久久久一区二区三区 | 国产私拍视频 | 波多野结衣中文字幕在线视频 | 欧美一区二区在线观看 | 日韩精品中文字幕在线播放 | 国产一区| 国产精品美女久久久久久免费 | 久草av在线播放 | 中文字幕在线观看一区二区三区 | 精品视频一区二区三区在线观看 | 欧美综合精品 | 中文字幕在线观看2021 | 国产三级 | 剑来高清在线观看 | 人人爱夜夜爽日日视频 | 99精品久久久久久久免费看蜜月 | 亚洲综合在线视频 | 国产一区二区三区久久久久久 | 国产精品久久久久久久久免费 | 久久一区| 99久久99 | 91免费影视| 91色乱码一区二区三区 | 国产免费天天看高清影视在线 | 久久人人爽人人爽 | 91在线影院| 韩国三级午夜理伦三级三 | 亚洲444kkkk在线观看最新 | 一级a毛片 | 7878www免费看片 | 国产精品免费视频一区 | 亚洲一区二区在线视频 | 日韩欧美在线观看一区二区 | 九九视频在线观看视频6 | 精品视频二区三区 | 国产三级视频 | 久久久久久a女人 | 亚洲一区精品在线 | 国产精品777一区二区 | 国产精品一区二区三区四区 | 伊人网站|