黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

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

mysql數據庫中的索引類型和原理解讀

瀏覽:137日期:2023-02-18 16:43:27
目錄
  • 索引初識
  • 一個簡單的對比測試
  • MySQL索引的概念
  • MySQL索引的類型
    • 1. 普通索引
    • 2. 唯一索引
    • 3. 全文索引(FULLTEXT)
    • 4. 單列索引、多列索引
    • 5. 組合索引(最左前綴)
  • MySQL索引的優化
    • 建立索引的優缺點
      • 總結

        索引初識

        最普通的情況,是為出現在where子句的字段建一個索引。為方便講述,我們先建立一個如下的表。

        CREATE TABLE mytable (
         id serial primary key,
         category_id int not null default 0,
         user_id int not null default 0,
         adddate int not null default 0
        );

        很簡單吧,不過對于要說明這個問題,已經足夠了。如果你在查詢時常用類似以下的語句:

        SELECT * FROM mytable WHERE category_id=1;?

        最直接的應對之道,是為category_id建立一個簡單的索引:

        CREATE INDEX mytable_categoryid ON mytable (category_id);

        OK,搞定?先別高興,如果你有不止一個選擇條件呢?例如:

        SELECT * FROM mytable WHERE category_id=1 AND user_id=2;

        你的第一反應可能是,再給user_id建立一個索引。不好,這不是一個最佳的方法。你可以建立多重的索引。

        CREATE INDEX mytable_categoryid_userid ON mytable (category_id,user_id);

        注意到我在命名時的習慣了嗎?我使用"表名_字段1名_字段2名"的方式。你很快就會知道我為什么這樣做了。

        現在你已經為適當的字段建立了索引,不過,還是有點不放心吧,你可能會問,數據庫會真正用到這些索引嗎?測試一下就OK,對于大多數的數據庫來說,這是很容易的,只要使用EXPLAIN命令:

        EXPLAIN
        
         SELECT * FROM mytable?
          WHERE category_id=1 AND user_id=2;
        
        This is what Postgres 7.1 returns (exactly as I expected)?
        
         NOTICE: QUERY PLAN:
        
        Index Scan using mytable_categoryid_userid on?
        ? mytable (cost=0.00..2.02 rows=1 width=16)
        
        EXPLAIN

        以上是postgres的數據,可以看到該數據庫在查詢的時候使用了一個索引(一個好開始),而且它使用的是我創建的第二個索引。看到我上面命名的好處了吧,你馬上知道它使用適當的索引了。

        接著,來個稍微復雜一點的,如果有個ORDER BY字句呢?不管你信不信,大多數的數據庫在使用order by的時候,都將會從索引中受益。

        SELECT * FROM mytable WHERE category_id=1 AND user_id=2 ORDER BY adddate DESC;

        有點迷惑了吧?很簡單,就象為where字句中的字段建立一個索引一樣,也為ORDER BY的字句中的字段建立一個索引:

        CREATE INDEX mytable_categoryid_userid_adddate ON mytable (category_id,user_id,adddate);??

        注意: "mytable_categoryid_userid_adddate" 將會被截短為

        "mytable_categoryid_userid_addda"
        CREATE
        
        ? EXPLAIN SELECT * FROM mytable
          WHERE category_id=1 AND user_id=2
           ORDER BY adddate DESC;
        
         NOTICE: QUERY PLAN:
        
         Sort (cost=2.03..2.03 rows=1 width=16)
          -> Index Scan using mytable_categoryid_userid_addda?
            on mytable (cost=0.00..2.02 rows=1 width=16)
        
        EXPLAIN

        看看EXPLAIN的輸出,好象有點恐怖啊,數據庫多做了一個我們沒有要求的排序,這下知道性能如何受損了吧,看來我們對于數據庫的自身運作是有點過于樂觀了,那么,給數據庫多一點提示吧。

        為了跳過排序這一步,我們并不需要其它另外的索引,只要將查詢語句稍微改一下。這里用的是postgres,我們將給該數據庫一個額外的提示--在ORDER BY語句中,加入where語句中的字段。這只是一個技術上的處理,并不是必須的,因為實際上在另外兩個字段上,并不會有任何的排序操作,不過如果加入,postgres將會知道哪些是它應該做的。

        EXPLAIN SELECT * FROM mytable?
        ? WHERE category_id=1 AND user_id=2
          ORDER BY category_id DESC,user_id DESC,adddate DESC;
        
        NOTICE: QUERY PLAN:
        
        Index Scan Backward using?
         mytable_categoryid_userid_addda on mytable?
         ? (cost=0.00..2.02 rows=1 width=16)
        
        EXPLAIN

        現在使用我們料想的索引了,而且它還挺聰明,知道可以從索引后面開始讀,從而避免了任何的排序。

        以上說得細了一點,不過如果你的數據庫非常巨大,并且每日的頁面請求達上百萬算,我想你會獲益良多的。不過,如果你要做更為復雜的查詢呢,例如將多張表結合起來查詢,特別是where限制字句中的字段是來自不止一個表格時,應該怎樣處理呢?我通常都盡量避免這種做法,因為這樣數據庫要將各個表中的東西都結合起來,然后再排除那些不合適的行,搞不好開銷會很大。

        如果不能避免,你應該查看每張要結合起來的表,并且使用以上的策略來建立索引,然后再用EXPLAIN命令驗證一下是否使用了你料想中的索引。如果是的話,就OK。不是的話,你可能要建立臨時的表來將他們結合在一起,并且使用適當的索引。

        要注意的是,建立太多的索引將會影響更新和插入的速度,因為它需要同樣更新每個索引文件。對于一個經常需要更新和插入的表格,就沒有必要為一個很少使用的where字句單獨建立索引了,對于比較小的表,排序的開銷不會很大,也沒有必要建立另外的索引。

        以上介紹的只是一些十分基本的東西,其實里面的學問也不少,單憑EXPLAIN我們是不能判定該方法是否就是最優化的,每個數據庫都有自己的一些優化器,雖然可能還不太完善,但是它們都會在查詢時對比過哪種方式較快,在某些情況下,建立索引的話也未必會快,

        例如索引放在一個不連續的存儲空間時,這會增加讀磁盤的負擔,因此,哪個是最優,應該通過實際的使用環境來檢驗。

        在剛開始的時候,如果表不大,沒有必要作索引,我的意見是在需要的時候才作索引,也可用一些命令來優化表,例如MySQL可用"OPTIMIZE TABLE"。


        綜上所述,在如何為數據庫建立恰當的索引方面,你應該有一些基本的概念了。

        關于MySQL索引的好處,如果正確合理設計并且使用索引的MySQL是一輛蘭博基尼的話,那么沒有設計和使用索引的MySQL就是一個人力三輪車。對于沒有索引的表,單表查詢可能幾十萬數據就是瓶頸,而通常大型網站單日就可能會產生幾十萬甚至幾百萬的數據,沒有索引查詢會變的非常緩慢。

        還是以WordPress來說,其多個數據表都會對經常被查詢的字段添加索引,比如wp_comments表中針對5個字段設計了BTREE索引。

        一個簡單的對比測試

        以我去年測試的數據作為一個簡單示例,20多條數據源隨機生成200萬條數據,平均每條數據源都重復大概10萬次,表結構比較簡單,僅包含一個自增ID,一個char類型,一個text類型和一個int類型,單表2G大小,使用MyIASM引擎。開始測試未添加任何索引。

        執行下面的SQL語句:

        SELECT id,FROM_UNIXTIME(time) FROM article WHERE a.title="測試標題";

        查詢需要的時間非常恐怖的,如果加上聯合查詢和其他一些約束條件,數據庫會瘋狂的消耗內存,并且會影響前端程序的執行。這時給title字段添加一個BTREE索引:

        ALTER TABLE article ADD INDEX index_article_title ON title(200);

        再次執行上述查詢語句,其對比非常明顯:

        MySQL索引的概念

        索引是一種特殊的文件(InnoDB數據表上的索引是表空間的一個組成部分),它們包含著對數據表里所有記錄的引用指針。

        更通俗的說,數據庫索引好比是一本書前面的目錄,能加快數據庫的查詢速度。上述SQL語句,在沒有索引的情況下,數據庫會遍歷全部200條數據后選擇符合條件的;而有了相應的索引之后,數據庫會直接在索引中查找符合條件的選項。

        如果我們把SQL語句換成“SELECT * FROM article WHERE id=2000000”,那么你是希望數據庫按照順序讀取完200萬行數據以后給你結果還是直接在索引中定位呢?

        上面的兩個圖片鮮明的用時對比已經給出了答案(注:一般數據庫默認都會為主鍵生成索引)。

        索引分為聚簇索引和非聚簇索引兩種,聚簇索引是按照數據存放的物理位置為順序的,而非聚簇索引就不一樣了;聚簇索引能提高多行檢索的速度,而非聚簇索引對于單行的檢索很快。

        MySQL索引的類型

        1. 普通索引

        這是最基本的索引,它沒有任何限制,比如上文中為title字段創建的索引就是一個普通索引,MyIASM中默認的BTREE類型的索引,也是我們大多數情況下用到的索引。

        –直接創建索引
        CREATE INDEX index_name ON table(column(length))
        –修改表結構的方式添加索引
        ALTER TABLE table_name ADD INDEX index_name ON (column(length))
        –創建表的時候同時創建索引
        CREATE TABLE `table` (
        `id` int(11) NOT NULL AUTO_INCREMENT ,
        `title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
        `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,
        `time` int(10) NULL DEFAULT NULL ,
        PRIMARY KEY (`id`),
        INDEX index_name (title(length))
        )
        –刪除索引
        DROP INDEX index_name ON table

        2. 唯一索引

        與普通索引類似,不同的就是:索引列的值必須唯一,但允許有空值(注意和主鍵不同)。如果是組合索引,則列值的組合必須唯一,創建方法和普通索引類似。

        –創建唯一索引
        CREATE UNIQUE INDEX indexName ON table(column(length))
        –修改表結構
        ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))
        –創建表的時候直接指定
        CREATE TABLE `table` (
        `id` int(11) NOT NULL AUTO_INCREMENT ,
        `title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
        `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,
        `time` int(10) NULL DEFAULT NULL ,
        PRIMARY KEY (`id`),
        UNIQUE indexName (title(length))
        );

        3. 全文索引(FULLTEXT)

        MySQL從3.23.23版開始支持全文索引和全文檢索,FULLTEXT索引僅可用于 MyISAM 表;他們可以從CHAR、VARCHAR或TEXT列中作為CREATE TABLE語句的一部分被創建,或是隨后使用ALTER TABLE 或CREATE INDEX被添加。////對于較大的數據集,將你的資料輸入一個沒有FULLTEXT索引的表中,然后創建索引,其速度比把資料輸入現有FULLTEXT索引的速度更為快。不過切記對于大容量的數據表,生成全文索引是一個非常消耗時間非常消耗硬盤空間的做法。

        –創建表的適合添加全文索引
        CREATE TABLE `table` (
        `id` int(11) NOT NULL AUTO_INCREMENT ,
        `title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
        `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,
        `time` int(10) NULL DEFAULT NULL ,
        PRIMARY KEY (`id`),
        FULLTEXT (content)
        );
        –修改表結構添加全文索引
        ALTER TABLE article ADD FULLTEXT index_content(content)
        –直接創建索引
        CREATE FULLTEXT INDEX index_content ON article(content)

        4. 單列索引、多列索引

        多個單列索引與單個多列索引的查詢效果不同,因為執行查詢時,MySQL只能使用一個索引,會從多個索引中選擇一個限制最為嚴格的索引。

        5. 組合索引(最左前綴)

        平時用的SQL查詢語句一般都有比較多的限制條件,所以為了進一步榨取MySQL的效率,就要考慮建立組合索引。

        例如上表中針對title和time建立一個組合索引:ALTER TABLE article ADD INDEX index_titme_time (title(50),time(10))。建立這樣的組合索引,其實是相當于分別建立了下面兩組組合索引:

        • –title,time
        • –title

        為什么沒有time這樣的組合索引呢?這是因為MySQL組合索引“最左前綴”的結果。簡單的理解就是只從最左面的開始組合。并不是只要包含這兩列的查詢都會用到該組合索引,如下面的幾個SQL所示:

        –使用到上面的索引
        SELECT * FROM article WHREE title="測試" AND time=1234567890;
        SELECT * FROM article WHREE utitle="測試";
        –不使用上面的索引
        SELECT * FROM article WHREE time=1234567890;

        MySQL索引的優化

        上面都在說使用索引的好處,但過多的使用索引將會造成濫用。因此索引也會有它的缺點:雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對表進行INSERT、UPDATE和DELETE。因為更新表時,MySQL不僅要保存數據,還要保存一下索引文件。

        建立索引會占用磁盤空間的索引文件。一般情況這個問題不太嚴重,但如果你在一個大表上創建了多種組合索引,索引文件的會膨脹很快。

        索引只是提高效率的一個因素,如果你的MySQL有大數據量的表,就需要花時間研究建立最優秀的索引,或優化查詢語句。

        下面是一些總結以及收藏的MySQL索引的注意事項和優化方法。

        1. 何時使用聚集索引或非聚集索引?

        動作描述使用聚集索引使用非聚集索引列經常被分組排序使用使用返回某范圍內的數據使用不使用一個或極少不同值不使用不使用小數目的不同值使用不使用大數目的不同值不使用使用頻繁更新的列不使用使用外鍵列使用使用主鍵列使用使用頻繁修改索引列不使用使用

        事實上,我們可以通過前面聚集索引和非聚集索引的定義的例子來理解上表。

        如:返回某范圍內的數據一項。比如您的某個表有一個時間列,恰好您把聚合索引建立在了該列,這時您查詢2004年1月1日至2004年10月1日之間的全部數據時,這個速度就將是很快的,因為您的這本字典正文是按日期進行排序的,聚類索引只需要找到要檢索的所有數據中的開頭和結尾數據即可;而不像非聚集索引,必須先查到目錄中查到每一項數據對應的頁碼,然后再根據頁碼查到具體內容。

        其實這個具體用法我還不是很理解,只能等待后期的項目開發中慢慢學學了。

        2. 索引不會包含有NULL值的列

        只要列中包含有NULL值都將不會被包含在索引中,復合索引中只要有一列含有NULL值,那么這一列對于此復合索引就是無效的。所以我們在數據庫設計時不要讓字段的默認值為NULL。

        3. 使用短索引

        對串列進行索引,如果可能應該指定一個前綴長度。例如,如果有一個CHAR(255)的列,如果在前10個或20個字符內,多數值是惟一的,那么就不要對整個列進行索引。短索引不僅可以提高查詢速度而且可以節省磁盤空間和I/O操作。

        4. 索引列排序

        MySQL查詢只使用一個索引,因此如果where子句中已經使用了索引的話,那么order by中的列是不會使用索引的。因此數據庫默認排序可以符合要求的情況下不要使用排序操作;盡量不要包含多個列的排序,如果需要最好給這些列創建復合索引。

        5. like語句操作

        一般情況下不鼓勵使用like操作,如果非使用不可,如何使用也是一個問題。like “%aaa%” 不會使用索引而like “aaa%”可以使用索引。

        6. 不要在列上進行運算

        例如:select * from users where YEAR(adddate)<2007,將在每個行上進行運算,這將導致索引失效而進行全表掃描,因此我們可以改成:select * from users where adddate<’2007-01-01′。關于這一點可以圍觀:一個單引號引發的MYSQL性能損失。

        最后總結一下,MySQL只對一下操作符才使用索引:<,<=,=,>,>=,between,in,以及某些時候的like(不以通配符%或_開頭的情形)。而理論上每張表里面最多可創建16個索引,不過除非是數據量真的很多,否則過多的使用索引也不是那么好玩的,比如我剛才針對text類型的字段創建索引的時候,系統差點就卡死了。

        建立索引的優缺點

        為什么要創建索引呢?

        這是因為,創建索引可以大大提高系統的性能。        

        • 第一、通過創建唯一性索引,可以保證數據庫表中每一行數據的唯一性。 
        • 第二、可以大大加快 數據的檢索速度,這也是創建索引的最主要的原因。 
        • 第三、可以加速表和表之間的連接,特別是在實現數據的參考完整性方面特別有意義。 
        • 第四、在使用分組和排序子句進行數據檢索時,同樣可以顯著減少查詢中分組和排序的時間。 
        • 第五、通過使用索引,可以在查詢的過程中,使用優化隱藏器,提高系統的性能。

        也許會有人要問:增加索引有如此多的優點,為什么不對表中的每一個列創建一個索引呢?這種想法固然有其合理性,然而也有其片面性。雖然,索引有許多優點, 但是,為表中的每一個列都增加索引,是非常不明智的。

         這是因為,增加索引也有許多不利的一個方面:

        • 第一、創建索引和維護索引要耗費時間,這種時間隨著數據量的增加而增加。 
        • 第二、索引需要占物理空間,除了數據表占數據空間之外,每一個索引還要占一定的物理空間。如果要建立聚簇索引,那么需要的空間就會更大。 
        • 第三、當對表中的數據進行增加、刪除和修改的時候,索引也要動態的維護,這樣就降低了數據的維護速度。

        什么樣的字段適合創建索引:

         索引是建立在數據庫表中的某些列的上面。因此,在創建索引的時候,應該仔細考慮在哪些列上可以創建索引,在哪些列上不能創建索引。

        一般來說,應該在這些列上創建索引,例如:

        • 第一、在經常需要搜索的列上,可以加快搜索的速度; 
        • 第二、在作為主鍵的列上,強制該列的唯一性和組織表中數據的排列結構; 
        • 第三、在經常用在連接的列上,這些列主要是一些外鍵,可以加快連接的速度; 
        • 第四、在經常需要根據范圍進行搜索的列上創建索引,因為索引已經排序,其指定的范圍是連續的; 
        • 第五、在經常需要排序的列上創建索引,因為索引已經排序,這樣查詢可以利用索引的排序,加快排序查詢時間; 
        • 第六、在經常使用在WHERE子句中的列上面創建索引,加快條件的判斷速度。

        建立索引,一般按照select的where條件來建立,比如: select的條件是where f1 and f2,那么如果我們在字段f1或字段f2上簡歷索引是沒有用的,只有在字段f1和f2上同時建立索引才有用等。

        什么樣的字段不適合創建索引:

        同樣,對于有些列不應該創建索引。一般來說,不應該創建索引的的這些列具有下列特點:

        • 第一,對于那些在查詢中很少使用或者參考的列不應該創建索引。這是因為,既然這些列很少使用到,因此有索引或者無索引,并不能提高查詢速度。相反,由于增加了索引,反而降低了系統的維護速度和增大了空間需求。 
        • 第二,對于那些只有很少數據值的列也不應該增加索引。這是因為,由于這些列的取值很少,例如人事表的性別列,在查詢的結果中,結果集的數據行占了表中數據行的很大比 例,即需要在表中搜索的數據行的比例很大。增加索引,并不能明顯加快檢索速度。        
        • 第三,對于那些定義為text, image和bit數據類型的列不應該增加索引。這是因為,這些列的數據量要么相當大,要么取值很少。 
        • 第四,當修改性能遠遠大于檢索性能時,不應該創建索 引。這是因為,修改性能和檢索性能是互相矛盾的。

        當增加索引時,會提高檢索性能,但是會降低修改性能。當減少索引時,會提高修改性能,降低檢索性能。

        因此,當修改性能遠遠大于檢索性能時,不應該創建索引。

        創建索引的方法::

        • 1、創建索引,例如 create index <索引的名字> on table_name (列的列表); 
        • 2、修改表,例如 alter table table_name add index[索引的名字] (列的列表); 
        • 3、創建表的時候指定索引,例如create table table_name ( [...], INDEX [索引的名字] (列的列表) );

        查看表中索引的方法:

        show index from table_name; 查看索引

        索引的類型及創建例子::

        1.PRIMARY KEY (主鍵索引)

        MySQL> alter table table_name add primary key ( `column` )

        2.UNIQUE 或 UNIQUE KEY (唯一索引)

        mysql> alter table table_name add unique (`column`)

        3.FULLTEXT (全文索引)

        mysql> alter table table_name add fulltext (`column` )

        4.INDEX (普通索引)

        mysql> alter table table_name add index index_name ( `column` )

        5.多列索引 (聚簇索引)

        mysql> alter table `table_name` add index index_name ( `column1`, `column2`, `column3` )

        總結

        以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。

        標簽: MySQL
        相關文章:
        主站蜘蛛池模板: www.日本黄| 极品主播超大尺度福利视频在线 | 欧美黑人乱大交 | 亚洲欧美日韩在线一区 | 可以在线观看的av | 大黄网站在线观看 | 8ⅹ8x擦拨擦拨成人免费视频 | 日韩久久精品一区二区 | 亚洲乱码国产乱码精品天美传媒 | 公的~yin之手筱田优中文字幕 | 免费看成人aa片无码视频吃奶 | 久久婷婷五月综合色一区二区 | 欧美搞逼视频 | 澳门永久av免费网站 | 欧洲美女与动zooz | 小黄网站在线观看 | 久久精品人妻无码一区二区三区 | 国产网站在线免费观看 | 国产人妻精品午夜福利免费 | 91操操| 蜜桃臀av在线 | 国产精品传媒在线观看 | 欲香欲色天天天综合和网 | a级a级高清免费美日a级大片 | 久久久综合激的五月天 | 中文字幕亚洲中文字幕无码码 | 麻豆最新网址 | 91免费毛片 | 亚洲欧洲日产国码无码久久99 | 一级坐爱片 | 久久综合国产精品 | 一本一道久久综合久久 | 日韩一二三四 | 亚洲免费黄色网 | 97视频成人 | 久久亚洲精品中文字幕无码 | 欧美一级色片 | 久久久久有精品国产麻豆 | 在线蜜桃 | 小明成人免费视频一区 | 久久久久99精品久久久久 | 少妇久久久久久人妻无码 | 天天躁日日躁狠狠躁av | 国产性生活毛片 | 91偷拍在线嫩草 | av一区三区| 91精产国品一二三产区区别网站 | 亚洲欧美中文日韩在线v日本 | 视频一区二区三区四区五区 | 图片区亚洲色图 | 人人妻人人澡人人爽超污 | 性一交一乱一色一视频 | 国产精品自在在线午夜出白浆 | 91文字幕巨乱亚洲香蕉 | 少妇又紧又大又色又爽视频 | 把jiji进美女的屁屁里视频 | 久久丁香网 | 国内偷拍久久 | 中国凸偷窥xxxx自由视频妇科 | 欧美极品在线观看 | 99久久综合 | 美国黄色av| 国产一区二区女内射 | 野外做受又硬又粗又大视频 | 人妻少妇久久久久久97人妻 | 鲁大师在线视频播放免费观看 | 久久夜色精品国产噜噜av小说 | 午夜1000集| 91官网在线 | 无码av最新无码av专区 | 欧美成人家庭影院 | 在线视频精品中文无码 | 91精品久久久久久久99蜜桃 | 国产伦精品一区二区三区男技 | 国产亚洲美女精品久久久2020 | 久久亚洲国产成人精品性色 | 国产精品对白刺激久久久 | 亚洲视频天堂 | 18分钟处破好疼哭视频在线观看 | 欧美三级少妇高潮 | 一天天影影综合网 | 成人免费一级 | 亚洲第一中文字幕 | 欧美偷拍一区二区三区 | 日本精品巨爆乳无码大乳巨 | 精品国产一区二区三区久久久 | 日韩精品中文字幕一区 | 久久zyz资源站无码中文动漫 | 久久久久成人网 | 日本精品一区二区三区四区 | www久久精品 | 成人毛片18女人毛片 | а√中文在线资源库 | 永久免费黄色片 | 国产欧美日韩精品a在线观看 | 肉肉av福利一精品导航 | 亚洲a√ | 最新日韩精品 | 啦啦啦www播放日本观看 | 韩国明星乱淫(高h)小说 | 黄色在线免费播放 | 亚洲精品无码永久在线观看性色 | 一本一道久久综合狠狠老 | 久久午夜免费观看 | 欧美无极品 | 国产真人做爰视频免费 | www夜夜骑 | 在线综合亚洲欧美网站 | 国产女主播av | 少妇色综合 | 亚洲国产无套无码av电影 | 美女十八毛片 | 不卡毛片在线观看 | 国产高清精品软件 | 纤纤影视理伦片在线看 | 欧美一二三四五区 | a级欧美 | 成人激情免费 | 香蕉视频一级片 | 操比视频网站 | 蜜桃成人无码区免费视频网站 | 中文在线а天堂中文在线新版 | 91精品老司机久久一区啪 | 欧美3p激情一区二区三区猛视频 | 99亚洲精品 | 欧美国产激情视频 | 亚洲国产日韩精品 | 日日碰狠狠躁久久躁 | www.av在线播放 | 精品国产一区二区三区日日嗨 | 超碰av导航| 亚洲 中文字幕 日韩 无码 | 国产又粗又猛又爽又黄的视频免费 | 精品一区二区久久久久久久网站 | 夜夜爽妓女8888视频免费观看 | 久久人人爽爽爽人久久久 | 男女av| 久久精品国产精品国产精品污 | 性一交一乱一色一视频麻豆 | 久草在线免费资源 | 丰满人妻一区二区三区免费视频 | 无码国产精品一区二区免费式直播 | 韩国精品久久久 | 草比网站 | 成人在线免费视频 | 欧美在线一区视频 | 小鲜肉自慰网站 | 女人的天堂av | 日韩色资源 | 日本美女动态图 | 波多中文字幕 | 欧美三区在线观看 | 亚洲精品成人片在线观看 | 欧美激情va永久在线播放 | 亚洲国产午夜精品理论片妓女 | 秋霞一区| 日韩资源网 | 精品免费一区 | jizz欧洲| 成人午夜免费在线 | 日本欧美在线观看视频 | 久久精品一区视频 | 亚洲自拍偷拍一区二区三区 | 性8电台性8成人电台 | 国产男女猛烈无遮挡免费视频 | 丰满少妇高潮惨叫久久久 | 欧美中文字幕在线视频 | 亚洲一二三级 | 国产成人欧美 | 免费无码一区二区三区a片百度 | 九九热在线视频观看这里只有精品 | 欧美在线成人免费 | 国内精品久久久久影院男同志 | 夜夜躁狠狠躁日日躁麻豆 | 国产网红福利视频一区二区 | 岛国大片在线观看 | 日日摸日日 | 高清一区二区三区日本久 | 久久人人爽人人爽人人av | 特黄特色大片bbbb | 97婷婷狠狠成为人免费视频 | 秋霞成人午夜鲁丝一区二区三区 | 性猛交xxxx乱大交孕妇2 | 亚洲日韩精品a∨片无码加勒比 | 国产一区二区三区av网站 | 辽宁熟女高潮狂叫视频 | 99福利在线观看 | 成人国产精品秘片多多 | 99精品国自产在线观看 | 影音先锋激情 | 国产精品美女久久久av超清 | 草1024榴社区入口 | 欧美日本中文字幕 | 欧美成人黄色网 | 久久精品国产成人 | 久久免费在线观看视频 | 人人草av| 另类激情综合网 | 欧美性受xxxx黑人 | 你懂的在线观看网址 | 欧美综合国产 | 美女无遮挡免费网站 | 久操视频免费在线观看 | 一本久久a精品一合区久久久 | 六月综合 | 熟女肥臀白浆大屁股一区二区 | 四虎精品一区 | 国产污视频网站 | 精品国产第一区二区三区的特点 | 中文字幕av久久 | 成人做爰www看视频软件 | 久久国产精品二区 | 美日韩一级 | 激情小说五月天 | 91国自产精品中文字幕亚洲 | 久久丫丫 | jizz色| 欧美日韩国产a | 中国美女乱淫免费看视频 | 亚洲欧美国产精品久久久久久久 | 久久久久久久.comav | 天天摸夜夜操 | 国产成人精品午夜福利 | 一本大道东京热无码视频 | 巨胸喷奶水视频www免费网站 | 草久久久久久 | 在线免费观看av不卡 | 天天色天天爽 | 亚洲熟妇久久国内精品 | 亚洲国产91 | 欧美牲交a免费 | 实拍男女野外做爰视频 | 九一视频污 | 青青艹av | 亚洲国产成人久久综合一区,久久久国产99 | 性xxxxx大片做受免费视 | 午夜欧美精品久久久久久久 | 韩国一级黄色毛片 | 成人精品美女隐私 | 原神污文全文肉高h | 久久夜色精品国产噜噜av小说 | 亚洲成人综合网站 | 久久久久久久久久久福利 | 久久精品国产亚洲沈樵 | 少妇愉情理仑片高潮日本 | 四虎在线永久免费观看 | 亚洲精品二区 | 天天综合天天做天天综合 | 国产日韩一区二区三区 | 亚洲天堂视频在线观看免费 | 国产精品嫩草在线 | 激情网网站| 91porny九色91啦中文 | 在线观看欧美一区二区 | 国产特级全黄寡妇毛片 | 91麻豆精品国产自产在线观看一区 | 中文字幕在线第一页 | 国产精品午夜在线 | 窝窝九色成人影院 | 亚洲一级片在线播放 | 8x8ⅹ8成人免费视频观看 | 麻豆chinese极品少妇 | 一级片视频网站 | 国产精品免费久久 | 亚洲一级片在线观看 | 亚洲第一毛片 | 亚洲综合第二页 | 91黄免费| 人人妻人人澡人人爽欧美精品 | 成人一级毛片视频 | 久久精品噜噜噜成人88aⅴ | 国产又黄又爽刺激的视频 | 理论片久久 | 日韩在线播放av | av在线播放国产 | 成人日批 | 冲田杏梨 在线 | 久久精品国产麻豆 | 精品人人妻人人澡人人爽人人 | 亚洲欧美日韩一区二区三区四区 | 三级大片在线观看 | 9色在线 | 国产精品久久久久久欧美2021 | 国产日韩欧美另类 | 国产欧美一区二区白浆黑人 | 澳门永久av免费网站 | 欧美乱码精品 | 天天色综合天天色 | 国产精品毛片av在线看 | 91福利在线观看 | 国产一区福利 | jjzz在线| 久久精品日产第一区二区三区在哪里 | 人妻中文字幕乱人伦在线 | 中文字幕人妻无码一夲道 | 精品免费在线视频 | 欧美亚洲国产视频 | 国产免费成人 | 国产深夜福利 | 美女黄色片子 | 亚洲精品第一区二区三区 | 免费asmr色诱娇喘呻吟欧美 | 射网站| 日韩看片 | 久操精品 | 99热这里只有精品在线观看 | 欧美综合另类 | 在线v片免费观看视频 | 国产精品入口麻豆九色 | 国产精品伦子伦免费视频 | 一本久在线 | 丰满少妇大力进入av亚洲 | 国产精品久久久久久中文字 | 男人吃奶摸下挵进去啪啪软件 | 免费观看全黄做爰大片国产 | 农村末发育av片一区二区 | 午夜精品福利一区二区三区蜜桃 | 18无码粉嫩小泬无套在线观看 | 成人黄色在线网站 | 大陆av在线 | 我的邻居在线观看 | av高清| 国产9 9在线 | 中文 | 99热精品国产 | 国产精品夜间视频香蕉 | 亚洲高清影院 | 玖玖成人| 公妇乱淫视频 | 欧美激情精品 | 欧美日韩亚洲二区 | 亚洲视频在线观看免费的欧美视频 | 亚洲午夜国产 | 一本色道久久88综合亚洲精品ⅰ | а√在线中文网新版地址在线 | 国产韩国精品一区二区三区久久 | 精品国产日韩亚洲一区 | 中文字幕乱轮 | 亚洲第一伊人 | 精品毛片一区二区 | 精品成人一区二区 | 欧美在线 | 亚洲 | 中文字字幕在线中文乱码 | 欧美久草| 国产成人av在线婷婷不卡九色 | 农村脱精光一级 | 又粗又猛又黄又爽无遮挡 | 国产欧美日韩一区二区三区 | 少妇xxxxxx | 日韩精品人妻系列无码专区 | www.久久久久久久久久 | 日本aⅴ片| 亚洲爆乳大丰满无码专区 | 爽爽爽av | 诱人的乳峰奶水hd | 欧美肥老妇视频 | 国产麻豆一精品一av一免费 | 微拍 福利 视频 国产 | 欧美综合人人做人人爱 | 亚洲美女自拍 | 色综合色狠狠天天综合色 | 91精品国产黑色瑜伽裤 | 中文字幕1页| 亚洲精品久久久蜜臀av站长工具 | 福利国产视频 | 国产视频在线观看一区二区 | 亚洲色欲色欲天天天www | 国产乱轮视频 | 日本无遮挡吸乳视频 | 91大神在线观看视频 | 亚洲天堂毛片 | 91天天| 农村老熟妇乱子伦视频 | 中文字幕十一区 | 少妇精69xxtheporn | 成年人免费高清视频 | 国产精品久久久久久人妻精品 | 欧美综合色区 | 国产精品久久久久久模特 | 91蝌蚪视频在线 | 日本一区二区三区视频在线 | 美女内射视频www网站午夜 | 欧洲自拍偷拍 | 国产美女引诱水电工 | 色哟哟一区二区三区精华液 | les欧美xxxxvideo | 日本波多野结衣在线 | 免费a大片 | 婷婷情更久日本久久久片 | 亚洲欧美日韩国产综合精品二区 | 三级伊人 | 亚洲国产一区二区三区日本久久久 | 99re6在线视频精品免费 | 粉嫩一区二区三区 | 白人と日本人の交わりビデオ | 久久久国产精品无码免费专区 | 136av福利视频导航 | 91天天看 | 欧美福利社 | 国产麻豆成人传媒免费观看 | 色又黄又爽18禁免费视频 | 黄色免费观看网站 | 亚洲最大福利网站 | av免费在线播放网址 | 国产黄色免费大片 | 欧美三级免费看 | 婷婷色吧| 国产精品久久无码一区二区三区网 | 精品亚洲国产成人av制服丝袜 | av高清在线| 日本免费一区二区三区 | 国产成人在线观看网站 | 中文字幕亚洲国产 | 美女搞黄视频网站 | 亚洲国产真实交换 | 在线观看av大片 | 国产欧美日韩一区二区三区 | 成人黄色动漫在线观看 | 亚洲欲妇 | 在线免费视频你懂的 | 黄色网页免费观看 | 涩涩屋污| 俄罗斯小14粉嫩呦萝 | 精品深夜av无码一区二区 | 天天躁日日躁狠狠躁av麻豆 | 成人毛片100部 | 久久女女| 亚洲国产精华液网站w | 国产精品99在线观看 | 蜜桃精品视频在线观看 | xxx在线播放 | 日韩三级精品 | 一乃葵在线 | 亚洲乱码一区二区三区在线观看 | 女人张开腿让男人桶个爽 | a国产免费| 91丨九色 | 精品91av| 午夜剧场91| 又摸又揉又黄又爽的视频 | 野花成人免费视频 | 日韩mv欧美mv亚洲mv | 五月在线视频 | 妖精视频一区二区 | 男女晚上黄羞羞视频播放 | a∨在线观看 | 新片速递丨最新合集bt伙计 | 精品人妻无码一区二区色欲产成人 | 女同亚洲精品一区二区三 | 欧美成人午夜精品久久久 | 欧美啪啪一区 | 国产97人人超碰caoprom | 国产传媒资源网站 | xox0人妖国产另类 | 黄色国产在线 | 国产色综合天天综合网 | 91插插插影库永久免费 | 特级大胆西西4444人体 | 国产成人精品手机在线观看 | 久久久久一区二区三区 | 成人在线免费观看网站 | 福利色播 | 污污视频网站免费在线观看 | 波多野结衣久久 | 免费在线播放毛片 | 免费一区在线观看 | 性欧美大战久久久久久久 | 亚洲女人天堂网 | 手机精品视频在线 | 国产日产欧产精品浪潮安卓版特色 | 直接在线观看的三级网址 | 欧美艹逼视频 | 婷婷天堂 | 亚洲综合专区 | 少妇高潮露脸国语对白 | 黑人大荫道bbwbbb高潮潮喷 | 国产小视频在线 | av中文在线 | 一区二区三区欧美精品 | 国产美女毛片 | 亚洲欧洲日产国码二区 | 性高潮久久久久久久久 | 日本免费精品一区二区三区 | 午夜日韩av | 国产一区二区三区四区五区加勒比 | 天天躁日日躁狠狠躁欧美老妇小说 | 国产精品十八禁在线观看 | 91精品国产综合久久福利软件 | 一女两夫做爰3p高h文 | 综合精品久久久 | а√在线中文网新版地址在线 | 国产123在线 | 狠狠躁天天躁中文字幕 | 国产精品99久久久久久久久久久久 | 羞羞avtv| 无码精品久久久久久人妻中字 | 中文字幕日日夜夜 | 牛牛影视一区二区三区免费看 | 国产精品毛片一区视频播 | 国产黑丝av | 国语av在线 | 欧美三级韩国三级日本三斤 | 97高清国语自产拍 | 韩国r级大尺度激情做爰外出 | 久久久久久一区 | 老司机精品视频一区二区 | 性chinese天美传媒麻 | 337p亚洲精品色噜噜噜 | 男人用嘴添女人私密视频 | 黄色三级网址 | 初尝黑人巨砲波多野结衣 | 免费观看性欧美大片无片 | 国产超碰久久av青草 | 国产剧情一区在线 | 草裙社区精品视频播放 | 国产三级无码内射在线看 | 青青青在线免费观看 | 91亚洲精品久久久蜜桃借种 | 日本精品久久久久久草草 | 777久久久精品一区二区三区 | av网站在线免费播放 | 久久久亚洲色 | 五月天综合网 | 欧美大屁股xxxxhd黑色 | 射精专区一区二区朝鲜 | 精品视频在线一区二区 | 丰满人妻熟妇乱又伦精品视 | 国产丝袜在线观看视频 | 天啪 | 日本高清xxxx | 翘臀少妇后进一区二区 | 欧美成人性影院 | 国产午夜视频在线 | 国产精品无码久久综合网 | 少妇高潮a一级 | 超h高h肉h文教室学长男男视频 | 日韩a一级 | 欧美国产精品一区 | 国产小视频免费 | 天天揉久久久久亚洲精品 | 欧美cccc极品丰满hd | 久久久受 | 欧美成人h版在线观看 | 国产精品丝袜在线观看 | 中文字幕无码视频手机免费看 | 偷拍第1页 | xvideos成人免费看视频 | 美女黄视频在线观看 | 在线中文视频va | 亚洲综合网址 | 国产成人一级片 | 亚洲免费视频一区二区 | 色哟哟入口国产精品 | 国产嫩草在线观看视频 | 亚洲 丝袜 另类 校园 欧美 | 日韩成人无码一区二区三区 | 特级黄色毛片 | 国产一区亚洲二区 | 国内精品久久久久久中文字幕 | 51真实女性私密spa按摩偷拍 | 女性向小h片资源在线观看 女性隐私黄www网站视频 | 久久久久久久久无码精品亚洲日韩 | 向日葵视频在线播放 | 亚洲激情视频网站 | 久久精品一区二区三区四区毛片 | 成熟人妻av无码专区 | 淫视频网站| 日韩视频在线免费 | 91亚洲日本aⅴ精品一区二区 | 成人av自拍 | 日本饥渴人妻欲求不满 | 成人性生交大片免费看中文 | 亚洲第一精品在线 | 欧美一级a俄罗斯毛片 | 男女猛烈激情xx00免费视频 | 三及毛片 | 韩国少妇xxxx搡xxxx搡 | 丰满人妻在公车被猛烈进入电影 | 久久国产一区二区三区 | 无码高潮爽到爆的喷水视频 | 男女国产视频 | 国产一区二区三区免费看 | 免费黄色片视频 | 久久亚洲精品国产亚洲老地址 | 日本一本久 | 亚洲一区二区国产 | 欧日韩不卡视频 | 久久艹在线 | 高潮又爽又无遮挡又免费 | 超黄网站在线观看 | 又色又爽又黄的美女裸体网站 | 五月天久久久久久九一站片 | 岬奈奈美精品一区二区 | 国外成人在线视频 | 少妇高潮zzzzzzzyⅹ | www.在线国产| 亚洲在线国产日韩欧美 | 高清不卡一区二区 | 丰满少妇奶水一区二区三区 | 亚洲欧美人色综合婷婷久久 | 成人aaaa| 91嫩草国产线观看亚洲一区二区 | 国产传媒视频在线 | 午夜黄色福利 | 最新国产在线拍揄自揄视频 | 国产在线观看免费视频今夜 | 亚洲卡一卡二卡三 | 色综合色综合久久综合频道88 | 成人免费在线播放 | 国产欧美69久久久久久9龙 | 欧美在线二区 | 成人av在线网站 | 少妇精品无码一区二区免费视频 | 再深点灬舒服灬太大的91优势 | 青青青草网站免费视频在线观看 | 国产成人无码一区二区三区 |