日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

超详细图解!【MySQL进阶篇】MySQL索引原理

發(fā)布時(shí)間:2023/12/4 数据库 72 豆豆
生活随笔 收集整理的這篇文章主要介紹了 超详细图解!【MySQL进阶篇】MySQL索引原理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

索引類型

索引可以提升查詢速度,會(huì)影響where查詢,以及order by排序。MySQL索引類型如下:

  • 從索引存儲(chǔ)結(jié)構(gòu)劃分:B Tree索引、Hash索引、FULLTEXT全文索引、R Tree索引

  • 從應(yīng)用層次劃分:普通索引、唯一索引、主鍵索引、復(fù)合索引

  • 從索引鍵值類型劃分:主鍵索引、輔助索引(二級索引)

  • 從數(shù)據(jù)存儲(chǔ)和索引鍵值邏輯關(guān)系劃分:聚集索引(聚簇索引)、非聚集索引(非聚簇索引)

普通索引

這是最基本的索引類型,基于普通字段建立的索引,沒有任何限制。

創(chuàng)建普通索引的方法如下:

  • CREATE INDEX <索引的名字> ON tablename (字段名);

  • ALTER TABLE tablename ADD INDEX [索引的名字] (字段名);

  • CREATE TABLE tablename ( […], INDEX [索引的名字] (字段名) );

唯一索引

與"普通索引"類似,不同的就是:索引字段的值必須唯一,但允許有空值 。在創(chuàng)建或修改表時(shí)追加唯一
約束,就會(huì)自動(dòng)創(chuàng)建對應(yīng)的唯一索引。
創(chuàng)建唯一索引的方法如下:

  • CREATE UNIQUE INDEX <索引的名字> ON tablename (字段名);

  • ALTER TABLE tablename ADD UNIQUE INDEX [索引的名字] (字段名);

  • CREATE TABLE tablename ( […], UNIQUE [索引的名字] (字段名) ;

主鍵索引

它是一種特殊的唯一索引,不允許有空值。在創(chuàng)建或修改表時(shí)追加主鍵約束即可,每個(gè)表只能有一個(gè)主
鍵。
創(chuàng)建主鍵索引的方法如下:

  • CREATE TABLE tablename ( […], PRIMARY KEY (字段名) );
  • ALTER TABLE tablename ADD PRIMARY KEY (字段名);

復(fù)合索引

單一索引是指索引列為一列的情況,即新建索引的語句只實(shí)施在一列上;用戶可以在多個(gè)列上建立索
引,這種索引叫做組復(fù)合索引(組合索引)。復(fù)合索引可以代替多個(gè)單一索引,相比多個(gè)單一索引復(fù)合
索引所需的開銷更小。
索引同時(shí)有兩個(gè)概念叫做窄索引和寬索引,窄索引是指索引列為1-2列的索引,寬索引也就是索引列超
過2列的索引,設(shè)計(jì)索引的一個(gè)重要原則就是能用窄索引不用寬索引,因?yàn)檎饕冉M合索引更有
效。
創(chuàng)建組合索引的方法如下:

  • CREATE INDEX <索引的名字> ON tablename (字段名1,字段名2…);

  • ALTER TABLE tablename ADD INDEX [索引的名字] (字段名1,字段名2…);

  • CREATE TABLE tablename ( […], INDEX [索引的名字] (字段名1,字段名2…) );

復(fù)合索引使用注意事項(xiàng):

  • 何時(shí)使用復(fù)合索引,要根據(jù)where條件建索引,注意不要過多使用索引,過多使用會(huì)對更新操作效
    率有很大影響。
  • 如果表已經(jīng)建立了(col1,col2),就沒有必要再單獨(dú)建立(col1);如果現(xiàn)在有(col1)索引,如果查
    詢需要col1和col2條件,可以建立(col1,col2)復(fù)合索引,對于查詢有一定提高。

全文索引

查詢操作在數(shù)據(jù)量比較少時(shí),可以使用like模糊查詢,但是對于大量的文本數(shù)據(jù)檢索,效率很低。如果
使用全文索引,查詢速度會(huì)比like快很多倍。在MySQL 5.6 以前的版本,只有MyISAM存儲(chǔ)引擎支持全
文索引,從MySQL 5.6開始MyISAM和InnoDB存儲(chǔ)引擎均支持。
創(chuàng)建全文索引的方法如下:

  • CREATE FULLTEXT INDEX <索引的名字> ON tablename (字段名);

  • ALTER TABLE tablename ADD FULLTEXT [索引的名字] (字段名);

  • CREATE TABLE tablename ( […], FULLTEXT KEY [索引的名字] (字段名) ;

和常用的like模糊查詢不同,全文索引有自己的語法格式,使用 match 和 against 關(guān)鍵字,比如

SQLselect * from user where match(name) against('aaa');

全文索引使用注意事項(xiàng):

  • 全文索引必須在字符串、文本字段上建立。

  • 全文索引字段值必須在最小字符和最大字符之間的才會(huì)有效。(innodb:3-84;myisam:4-
    84)

  • 全文索引字段值要進(jìn)行切詞處理,按syntax字符進(jìn)行切割,例如b+aaa,切分成b和aaa

  • 全文索引匹配查詢,默認(rèn)使用的是等值匹配,例如a匹配a,不會(huì)匹配ab,ac。如果想匹配可以在布
    爾模式下搜索a*

SQLselect * from user where match(name) against('a*' in boolean mode);

索引原理

MySQL官方對索引定義:是存儲(chǔ)引擎用于快速查找記錄的一種數(shù)據(jù)結(jié)構(gòu)。需要額外開辟空間和數(shù)據(jù)維護(hù)
工作。

  • 索引是物理數(shù)據(jù)頁存儲(chǔ),在數(shù)據(jù)文件中(InnoDB,ibd文件),利用數(shù)據(jù)頁(page)存儲(chǔ)。
  • 索引可以加快檢索速度,但是同時(shí)也會(huì)降低增刪改操作速度,索引維護(hù)需要代價(jià)。

索引涉及的理論知識(shí):二分查找法HashB+Tree

二分查找法

二分查找法也叫作折半查找法,它是在有序數(shù)組中查找指定數(shù)據(jù)的搜索算法。它的優(yōu)點(diǎn)是等值查詢、范
圍查詢性能優(yōu)秀,缺點(diǎn)是更新數(shù)據(jù)、新增數(shù)據(jù)、刪除數(shù)據(jù)維護(hù)成本高。

  • 首先定位left和right兩個(gè)指針

  • 計(jì)算(left+right)/2

  • 判斷除2后索引位置值與目標(biāo)值的大小比對

  • 索引位置值大于目標(biāo)值就-1,right移動(dòng);如果小于目標(biāo)值就+1,left移動(dòng)

舉個(gè)例子,下面的有序數(shù)組有17 個(gè)值,查找的目標(biāo)值是7,過程如下:
第一次查找

第二次查找

第三次查找

第四次查找

Hash結(jié)構(gòu)

Hash底層實(shí)現(xiàn)是由Hash表來實(shí)現(xiàn)的,是根據(jù)鍵值 <key,value> 存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu)。非常適合根據(jù)key查找
value值,也就是單個(gè)key查詢,或者說等值查詢。其結(jié)構(gòu)如下所示:

從上面結(jié)構(gòu)可以看出,Hash索引可以方便的提供等值查詢,但是對于范圍查詢就需要全表掃描了。
Hash索引在MySQL 中Hash結(jié)構(gòu)主要應(yīng)用在Memory原生的Hash索引 、InnoDB自適應(yīng)哈希索引。
InnoDB提供的自適應(yīng)哈希索引功能強(qiáng)大,接下來重點(diǎn)描述下InnoDB自適應(yīng)哈希索引。
InnoDB自適應(yīng)哈希索引是為了提升查詢效率,InnoDB存儲(chǔ)引擎會(huì)監(jiān)控表上各個(gè)索引頁的查詢,當(dāng)
InnoDB注意到某些索引值訪問非常頻繁時(shí),會(huì)在內(nèi)存中基于B+Tree索引再創(chuàng)建一個(gè)哈希索引,使得內(nèi)
存中的 B+Tree 索引具備哈希索引的功能,即能夠快速定值訪問頻繁訪問的索引頁。
InnoDB自適應(yīng)哈希索引:在使用Hash索引訪問時(shí),一次性查找就能定位數(shù)據(jù),等值查詢效率要優(yōu)于
B+Tree。
自適應(yīng)哈希索引的建立使得InnoDB存儲(chǔ)引擎能自動(dòng)根據(jù)索引頁訪問的頻率和模式自動(dòng)地為某些熱點(diǎn)頁
建立哈希索引來加速訪問。另外InnoDB自適應(yīng)哈希索引的功能,用戶只能選擇開啟或關(guān)閉功能,無法
進(jìn)行人工干涉。

SQLshow engine innodb status \G; show variables like '%innodb_adaptive%';

B+Tree結(jié)構(gòu)

MySQL數(shù)據(jù)庫索引采用的是B+Tree結(jié)構(gòu),在B-Tree結(jié)構(gòu)上做了優(yōu)化改造。
B-Tree結(jié)構(gòu)

  • 索引值和data數(shù)據(jù)分布在整棵樹結(jié)構(gòu)中

  • 每個(gè)節(jié)點(diǎn)可以存放多個(gè)索引值及對應(yīng)的data數(shù)據(jù)

  • 樹節(jié)點(diǎn)中的多個(gè)索引值從左到右升序排列

B樹的搜索:從根節(jié)點(diǎn)開始,對節(jié)點(diǎn)內(nèi)的索引值序列采用二分法查找,如果命中就結(jié)束查找。沒有
命中會(huì)進(jìn)入子節(jié)點(diǎn)重復(fù)查找過程,直到所對應(yīng)的的節(jié)點(diǎn)指針為空,或已經(jīng)是葉子節(jié)點(diǎn)了才結(jié)束。

B+Tree結(jié)構(gòu)

  • 非葉子節(jié)點(diǎn)不存儲(chǔ)data數(shù)據(jù),只存儲(chǔ)索引值,這樣便于存儲(chǔ)更多的索引值

  • 葉子節(jié)點(diǎn)包含了所有的索引值和data數(shù)據(jù)

  • 葉子節(jié)點(diǎn)用指針連接,提高區(qū)間的訪問性能

相比B樹,B+樹進(jìn)行范圍查找時(shí),只需要查找定位兩個(gè)節(jié)點(diǎn)的索引值,然后利用葉子節(jié)點(diǎn)的指針進(jìn)
行遍歷即可。而B樹需要遍歷范圍內(nèi)所有的節(jié)點(diǎn)和數(shù)據(jù),顯然B+Tree效率高。

聚簇索引和輔助索引

簇索引和非聚簇索引:B+Tree的葉子節(jié)點(diǎn)存放主鍵索引值和行記錄就屬于聚簇索引;如果索引值和行
記錄分開存放就屬于非聚簇索引。
主鍵索引和輔助索引:B+Tree的葉子節(jié)點(diǎn)存放的是主鍵字段值就屬于主鍵索引;如果存放的是非主鍵值
就屬于輔助索引(二級索引)。
在InnoDB引擎中,主鍵索引采用的就是聚簇索引結(jié)構(gòu)存儲(chǔ)。
聚簇索引(聚集索引)
聚簇索引是一種數(shù)據(jù)存儲(chǔ)方式,InnoDB的聚簇索引就是按照主鍵順序構(gòu)建 B+Tree結(jié)構(gòu)。B+Tree
的葉子節(jié)點(diǎn)就是行記錄,行記錄和主鍵值緊湊地存儲(chǔ)在一起。 這也意味著 InnoDB 的主鍵索引就
是數(shù)據(jù)表本身,它按主鍵順序存放了整張表的數(shù)據(jù),占用的空間就是整個(gè)表數(shù)據(jù)量的大小。通常說
的主鍵索引就是聚集索引。

InnoDB的表要求必須要有聚簇索引:

  • 如果表定義了主鍵,則主鍵索引就是聚簇索引

  • 如果表沒有定義主鍵,則第一個(gè)非空unique列作為聚簇索引

  • 否則InnoDB會(huì)從建一個(gè)隱藏的row-id作為聚簇索引

輔助索引
InnoDB輔助索引,也叫作二級索引,是根據(jù)索引列構(gòu)建 B+Tree結(jié)構(gòu)。但在 B+Tree 的葉子節(jié)點(diǎn)中
只存了索引列和主鍵的信息。二級索引占用的空間會(huì)比聚簇索引小很多, 通常創(chuàng)建輔助索引就是
為了提升查詢效率。一個(gè)表InnoDB只能創(chuàng)建一個(gè)聚簇索引,但可以創(chuàng)建多個(gè)輔助索引。

非聚簇索引
與InnoDB表存儲(chǔ)不同,MyISAM數(shù)據(jù)表的索引文件和數(shù)據(jù)文件是分開的,被稱為非聚簇索引結(jié)
構(gòu)。

索引分析與優(yōu)化

EXPLAIN

MySQL 提供了一個(gè) EXPLAIN 命令,它可以對 SELECT 語句進(jìn)行分析,并輸出 SELECT 執(zhí)行的詳細(xì)信
息,供開發(fā)人員有針對性的優(yōu)化。例如:
EXPLAIN SELECT * from user WHERE id < 3;
EXPLAIN 命令的輸出內(nèi)容大致如下:

select_type
表示查詢的類型。常用的值如下:

  • SIMPLE : 表示查詢語句不包含子查詢或union

  • PRIMARY:表示此查詢是最外層的查詢

  • UNION:表示此查詢是UNION的第二個(gè)或后續(xù)的查詢

  • EXPLAIN SELECT * from user WHERE id < 3;

  • DEPENDENT UNION:UNION中的第二個(gè)或后續(xù)的查詢語句,使用了外面查詢結(jié)果

  • UNION RESULT:UNION的結(jié)果

  • SUBQUERY:SELECT子查詢語句

  • DEPENDENT SUBQUERY:SELECT子查詢語句依賴外層查詢的結(jié)果。

最常見的查詢類型是SIMPLE,表示我們的查詢沒有子查詢也沒用到UNION查詢。
type
表示存儲(chǔ)引擎查詢數(shù)據(jù)時(shí)采用的方式。比較重要的一個(gè)屬性,通過它可以判斷出查詢是全表掃描還
是基于索引的部分掃描。常用屬性值如下,從上至下效率依次增強(qiáng)。

  • ALL:表示全表掃描,性能最差。

  • index:表示基于索引的全表掃描,先掃描索引再掃描全表數(shù)據(jù)。

  • range:表示使用索引范圍查詢。使用>、>=、<、<=、in等等。

  • ref:表示使用非唯一索引進(jìn)行單值查詢。

  • eq_ref:一般情況下出現(xiàn)在多表join查詢,表示前面表的每一個(gè)記錄,都只能匹配后面表的一
    行結(jié)果。

  • const:表示使用主鍵或唯一索引做等值查詢,常量查詢。

  • NULL:表示不用訪問表,速度最快。

possible_keys
表示查詢時(shí)能夠使用到的索引。注意并不一定會(huì)真正使用,顯示的是索引名稱。
key
表示查詢時(shí)真正使用到的索引,顯示的是索引名稱。
rows
MySQL查詢優(yōu)化器會(huì)根據(jù)統(tǒng)計(jì)信息,估算SQL要查詢到結(jié)果需要掃描多少行記錄。原則上rows是
越少效率越高,可以直觀的了解到SQL效率高低。
key_len
表示查詢使用了索引的字節(jié)數(shù)量。可以判斷是否全部使用了組合索引。
key_len的計(jì)算規(guī)則如下:

  • 字符串類型
    字符串長度跟字符集有關(guān):latin1=1、gbk=2、utf8=3、utf8mb4=4
    char(n):n*字符集長度
    varchar(n):n * 字符集長度 + 2字節(jié)

  • 數(shù)值類型
    TINYINT:1個(gè)字節(jié)
    SMALLINT:2個(gè)字節(jié)
    MEDIUMINT:3個(gè)字節(jié)
    INT、FLOAT:4個(gè)字節(jié)
    BIGINT、DOUBLE:8個(gè)字節(jié)

  • 時(shí)間類型
    DATE:3個(gè)字節(jié)
    TIMESTAMP:4個(gè)字節(jié)
    DATETIME:8個(gè)字節(jié)

  • 字段屬性
    NULL屬性占用1個(gè)字節(jié),如果一個(gè)字段設(shè)置了NOT NULL,則沒有此項(xiàng)。

Extra
Extra表示很多額外的信息,各種操作會(huì)在Extra提示相關(guān)信息,常見幾種如下:

  • Using where
    表示查詢需要通過索引回表查詢數(shù)據(jù)。

  • Using index
    表示查詢需要通過索引,索引就可以滿足所需數(shù)據(jù)。

  • Using filesort
    表示查詢出來的結(jié)果需要額外排序,數(shù)據(jù)量小在內(nèi)存,大的話在磁盤,因此有Using filesort
    建議優(yōu)化。

  • Using temprorary
    查詢使用到了臨時(shí)表,一般出現(xiàn)于去重、分組等操作。

回表查詢

在之前介紹過,InnoDB索引有聚簇索引和輔助索引。聚簇索引的葉子節(jié)點(diǎn)存儲(chǔ)行記錄,InnoDB必須要
有,且只有一個(gè)。輔助索引的葉子節(jié)點(diǎn)存儲(chǔ)的是主鍵值和索引字段值,通過輔助索引無法直接定位行記
錄,通常情況下,需要掃碼兩遍索引樹。先通過輔助索引定位主鍵值,然后再通過聚簇索引定位行記
錄,這就叫做回表查詢,它的性能比掃一遍索引樹低。
總結(jié):通過索引查詢主鍵值,然后再去聚簇索引查詢記錄信息

覆蓋索引

在SQL-Server官網(wǎng)的介紹如下:

在MySQL官網(wǎng),類似的說法出現(xiàn)在explain查詢計(jì)劃優(yōu)化章節(jié),即explain的輸出結(jié)果Extra字段為Using
index時(shí),能夠觸發(fā)索引覆蓋。

不管是SQL-Server官網(wǎng),還是MySQL官網(wǎng),都表達(dá)了:**只需要在一棵索引樹上就能獲取SQL所需的所
**有列數(shù)據(jù),無需回表,速度更快,這就叫做索引覆蓋。
實(shí)現(xiàn)索引覆蓋最常見的方法就是:將被查詢的字段,建立到組合索引。

最左前綴原則

復(fù)合索引使用時(shí)遵循最左前綴原則,最左前綴顧名思義,就是最左優(yōu)先,即查詢中使用到最左邊的列,
那么查詢就會(huì)使用到索引,如果從索引的第二列開始查找,索引將失效。

LIKE查詢

面試題:MySQL在使用like模糊查詢時(shí),索引能不能起作用?
回答:MySQL在使用Like模糊查詢時(shí),索引是可以被使用的,只有把%字符寫在后面才會(huì)使用到索引。

SQLselect * from user where name like '%o%'; //不起作用 select * from user where name like 'o%'; //起作用 select * from user where name like '%o'; //不起作用

NULL查詢

面試題:如果MySQL表的某一列含有NULL值,那么包含該列的索引是否有效?
對MySQL來說,NULL是一個(gè)特殊的值,從概念上講,NULL意味著“一個(gè)未知值”,它的處理方式與其他
值有些不同。比如:不能使用=,<,>這樣的運(yùn)算符,對NULL做算術(shù)運(yùn)算的結(jié)果都是NULL,count時(shí)
不會(huì)包括NULL行等,NULL比空字符串需要更多的存儲(chǔ)空間等。

“NULL columns require additional space in the row to record whether their values
are NULL. For MyISAM tables, each NULL column takes one bit extra, rounded up to
the nearest byte.”

NULL列需要增加額外空間來記錄其值是否為NULL。對于MyISAM表,每一個(gè)空列額外占用一位,四舍
五入到最接近的字節(jié)。

雖然MySQL可以在含有NULL的列上使用索引,但NULL和其他數(shù)據(jù)還是有區(qū)別的,不建議列上允許為
NULL。最好設(shè)置NOT NULL,并給一個(gè)默認(rèn)值,比如0和 ‘’ 空字符串等,如果是datetime類型,也可以
設(shè)置系統(tǒng)當(dāng)前時(shí)間或某個(gè)固定的特殊值,例如’1970-01-01 00:00:00’。

索引與排序

MySQL查詢支持filesort和index兩種方式的排序,filesort是先把結(jié)果查出,然后在緩存或磁盤進(jìn)行排序
操作,效率較低。使用index是指利用索引自動(dòng)實(shí)現(xiàn)排序,不需另做排序操作,效率會(huì)比較高。
filesort有兩種排序算法:雙路排序單路排序
雙路排序:需要兩次磁盤掃描讀取,最終得到用戶數(shù)據(jù)。第一次將排序字段讀取出來,然后排序;第二
次去讀取其他字段數(shù)據(jù)。
單路排序:從磁盤查詢所需的所有列數(shù)據(jù),然后在內(nèi)存排序?qū)⒔Y(jié)果返回。如果查詢數(shù)據(jù)超出緩存
sort_buffer,會(huì)導(dǎo)致多次磁盤讀取操作,并創(chuàng)建臨時(shí)表,最后產(chǎn)生了多次IO,反而會(huì)增加負(fù)擔(dān)。解決方
案:少使用select *;增加sort_buffer_size容量和max_length_for_sort_data容量。
如果我們Explain分析SQL,結(jié)果中Extra屬性顯示Using filesort,表示使用了filesort排序方式,需要優(yōu)
化。如果Extra屬性顯示Using index時(shí),表示覆蓋索引,也表示所有操作在索引上完成,也可以使用
index排序方式,建議大家盡可能采用覆蓋索引。

  • 以下幾種情況,會(huì)使用index方式的排序。

  • ORDER BY 子句索引列組合滿足索引最左前列
    explain select id from user order by id; //對應(yīng)(id)、(id,name)索引有效

  • WHERE子句+ORDER BY子句索引列組合滿足索引最左前列
    explain select id from user where age=18 order by name; //對應(yīng)(age,name)索引

  • 以下幾種情況,會(huì)使用filesort方式的排序。

  • 對索引列同時(shí)使用了ASC和DESC
    explain select id from user order by age asc,name desc; //對應(yīng)(age,name)索引

  • WHERE子句和ORDER BY子句滿足最左前綴,但where子句使用了范圍查詢(例如>、<、in
    等)
    explain select id from user where age>10 order by name; //對應(yīng)(age,name)索引

  • ORDER BY或者WHERE+ORDER BY索引列沒有滿足索引最左前列
    explain select id from user order by name; //對應(yīng)(age,name)索引

  • 使用了不同的索引,MySQL每次只采用一個(gè)索引,ORDER BY涉及了兩個(gè)索引
    explain select id from user order by name,age; //對應(yīng)(name)、(age)兩個(gè)索引

  • WHERE子句與ORDER BY子句,使用了不同的索引
    explain select id from user where name='tom' order by age; //對應(yīng)(name)、(age)索引

  • WHERE子句或者ORDER BY子句中索引列使用了表達(dá)式,包括函數(shù)表達(dá)式
    explain select id from user order by abs(age); //對應(yīng)(age)索引

查詢優(yōu)化

慢查詢定位

開啟慢查詢?nèi)罩?/strong>
查看 MySQL 數(shù)據(jù)庫是否開啟了慢查詢?nèi)罩竞吐樵內(nèi)罩疚募拇鎯?chǔ)位置的命令如下:
SHOW VARIABLES LIKE 'slow_query_log%'
通過如下命令開啟慢查詢?nèi)罩?#xff1a;

SQL`SET global slow_query_log = ON; SET global slow_query_log_file = 'OAK-slow.log'; SET global log_queries_not_using_indexes = ON; SET long_query_time = 10;`
  • long_query_time:指定慢查詢的閥值,單位秒。如果SQL執(zhí)行時(shí)間超過閥值,就屬于慢查詢
    記錄到日志文件中。
  • log_queries_not_using_indexes:表示會(huì)記錄沒有使用索引的查詢SQL。前提是slow_query_log
    的值為ON,否則不會(huì)奏效。

查看慢查詢?nèi)罩?/strong>

文本方式查看
直接使用文本編輯器打開slow.log日志即可。

  • time:日志記錄的時(shí)間

  • User@Host:執(zhí)行的用戶及主機(jī)

  • Query_time:執(zhí)行的時(shí)間

  • Lock_time:鎖表時(shí)間

  • Rows_sent:發(fā)送給請求方的記錄數(shù),結(jié)果數(shù)量

  • Rows_examined:語句掃描的記錄條數(shù)

  • SET timestamp:語句執(zhí)行的時(shí)間點(diǎn)

  • select…:執(zhí)行的具體的SQL語句

使用mysqldumpslow查看
MySQL 提供了一個(gè)慢查詢?nèi)罩痉治龉ぞ適ysqldumpslow,可以通過該工具分析慢查詢?nèi)罩?br /> 內(nèi)容。
在 MySQL bin目錄下執(zhí)行下面命令可以查看該使用格式。
perl mysqldumpslow.pl --help
運(yùn)行如下命令查看慢查詢?nèi)罩拘畔?#xff1a;
perl mysqldumpslow.pl -t 5 -s at C:\ProgramData\MySQL\Data\OAK-slow.log
除了使用mysqldumpslow工具,也可以使用第三方分析工具,比如pt-query-digest、
mysqlsla等。

慢查詢優(yōu)化

索引和慢查詢

  • 如何判斷是否為慢查詢?
    MySQL判斷一條語句是否為慢查詢語句,主要依據(jù)SQL語句的執(zhí)行時(shí)間,它把當(dāng)前語句的執(zhí)
    行時(shí)間跟 long_query_time 參數(shù)做比較,如果語句的執(zhí)行時(shí)間 > long_query_time,就會(huì)把
    這條執(zhí)行語句記錄到慢查詢?nèi)罩纠锩妗ong_query_time 參數(shù)的默認(rèn)值是 10s,該參數(shù)值可
    以根據(jù)自己的業(yè)務(wù)需要進(jìn)行調(diào)整。

  • 如何判斷是否應(yīng)用了索引?
    SQL語句是否使用了索引,可根據(jù)SQL語句執(zhí)行過程中有沒有用到表的索引,可通過 explain
    命令分析查看,檢查結(jié)果中的 key 值,是否為NULL。

  • 應(yīng)用了索引是否一定快?
    下面我們來看看下面語句的 explain 的結(jié)果,你覺得這條語句有用上索引嗎?比如
    select * from user where id>0;
    雖然使用了索引,但是還是從主鍵索引的最左邊的葉節(jié)點(diǎn)開始向右掃描整個(gè)索引樹,進(jìn)行了
    全表掃描,此時(shí)索引就失去了意義。
    而像select * from user where id = 2;這樣的語句,才是我們平時(shí)說的使用了索引。它表示
    的意思是,我們使用了索引的快速搜索功能,并且有效地減少了掃描行數(shù)。

查詢是否使用索引,只是表示一個(gè)SQL語句的執(zhí)行過程;而是否為慢查詢,是由它執(zhí)行的時(shí)間決定
的,也就是說是否使用了索引和是否是慢查詢兩者之間沒有必然的聯(lián)系。
我們在使用索引時(shí),不要只關(guān)注是否起作用,應(yīng)該關(guān)心索引是否減少了查詢掃描的數(shù)據(jù)行數(shù),如果
掃描行數(shù)減少了,效率才會(huì)得到提升。對于一個(gè)大表,不止要?jiǎng)?chuàng)建索引,還要考慮索引過濾性,過
濾性好,執(zhí)行速度才會(huì)快。

提高索引過濾性
假如有一個(gè)5000萬記錄的用戶表,通過sex='男’索引過濾后,還需要定位3000萬,SQL執(zhí)行速度也
不會(huì)很快。其實(shí)這個(gè)問題涉及到索引的過濾性,比如1萬條記錄利用索引過濾后定位10條、100
條、1000條,那他們過濾性是不同的。索引過濾性與索引字段、表的數(shù)據(jù)量、表設(shè)計(jì)結(jié)構(gòu)都有關(guān)
系。

  • 下面我們看一個(gè)案例:
SQL表:student 字段:id,name,sex,age 造數(shù)據(jù):insert into student (name,sex,age) select name,sex,age from student; SQL案例:select * from student where age=18 and name like '張%';(全表掃描)
  • 優(yōu)化1
    alter table student add index(name); //追加name索引

  • 優(yōu)化2
    `alter table student add index(age,name); //追加age,name索引

    優(yōu)化3
    可以看到,index condition pushdown 優(yōu)化的效果還是很不錯(cuò)的。再進(jìn)一步優(yōu)化,我們可以把名
    字的第一個(gè)字和年齡做一個(gè)聯(lián)合索引,這里可以使用 MySQL 5.7 引入的虛擬列來實(shí)現(xiàn)。

SQL//為user表添加first_name虛擬列,以及聯(lián)合索引(first_name,age) alter table student add first_name varchar(2) generated always as (left(name, 1)), add index(first_name, age); explain select * from student where first_name='張' and age=18

慢查詢原因總結(jié)

  • 全表掃描:explain分析type屬性all

  • 全索引掃描:explain分析type屬性index

  • 索引過濾性不好:靠索引字段選型、數(shù)據(jù)量和狀態(tài)、表設(shè)計(jì)

  • 頻繁的回表查詢開銷:盡量少用select *,使用覆蓋索引

分頁查詢優(yōu)化

一般性分頁
一般的分頁查詢使用簡單的 limit 子句就可以實(shí)現(xiàn)。limit格式如下:
SELECT * FROM 表名 LIMIT [offset,] rows

  • 第一個(gè)參數(shù)指定第一個(gè)返回記錄行的偏移量,注意從0開始;

  • 第二個(gè)參數(shù)指定返回記錄行的最大數(shù)目;

  • 如果只給定一個(gè)參數(shù),它表示返回最大的記錄行數(shù)目;

思考1:如果偏移量固定,返回記錄量對執(zhí)行時(shí)間有什么影響?

`select * from user limit 10000,1; select * from user limit 10000,10; select * from user limit 10000,100; select * from user limit 10000,1000; select * from user limit 10000,10000

**結(jié)果:**在查詢記錄時(shí),返回記錄量低于100條,查詢時(shí)間基本沒有變化,差距不大。隨著查詢記錄
量越大,所花費(fèi)的時(shí)間也會(huì)越來越多。
思考2:如果查詢偏移量變化,返回記錄數(shù)固定對執(zhí)行時(shí)間有什么影響?

SQL`select * from user limit 1,100; select * from user limit 10,100; select * from user limit 100,100; select * from user limit 1000,100; select * from user limit 10000,100;

結(jié)果:在查詢記錄時(shí),如果查詢記錄量相同,偏移量超過100后就開始隨著偏移量增大,查詢時(shí)間
急劇的增加。(這種分頁查詢機(jī)制,每次都會(huì)從數(shù)據(jù)庫第一條記錄開始掃描,越往后查詢越慢,而
且查詢的數(shù)據(jù)越多,也會(huì)拖慢總查詢速度。)
分頁優(yōu)化方案
第一步:利用覆蓋索引優(yōu)化

SQL`select * from user limit 10000,100; select id from user limit 10000,100;

第二步:利用子查詢優(yōu)化

SQLselect * from user limit 10000,100; select * from user where id>= (select id from user limit 10000,1) limit 100;

原因:使用了id做主鍵比較(id>=),并且子查詢使用了覆蓋索引進(jìn)行優(yōu)化。

最后,祝大家早日學(xué)有所成,拿到滿意offer

總結(jié)

以上是生活随笔為你收集整理的超详细图解!【MySQL进阶篇】MySQL索引原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产精品18久久久久久久网站 | 99精品免费久久久久久久久日本 | 久操视频在线播放 | av免费电影网站 | 中文字幕在线观看国产 | 天天干天天干天天干天天干天天干天天干 | 91av视频免费在线观看 | 久久综合精品一区 | 99热这里只有精品在线观看 | 最新日韩电影 | 久久久久久久久爱 | 99国产视频 | 免费视频一二三 | 91视频链接| 成人黄色电影在线观看 | 亚洲综合精品视频 | 日日爽夜夜爽 | 娇妻呻吟一区二区三区 | 国产午夜精品一区二区三区嫩草 | 在线观看视频h | 国产精品婷婷 | 亚洲丝袜中文 | 国产精品网红直播 | 国产精品视频不卡 | 国产看片免费 | 国产视频在线免费观看 | 99精品视频在线播放观看 | 九月婷婷综合网 | 久久不见久久见免费影院 | 91看片在线 | 国产亚洲永久域名 | 欧洲精品在线视频 | 久久人人爽爽人人爽人人片av | 国产精品 久久 | 亚洲欧美经典 | 国产亚洲精品无 | 在线观看视频一区二区三区 | 永久免费在线 | 国产成人精品一区二区在线 | 日韩中文字幕免费电影 | 日本精品久久久久影院 | 在线观看网站黄 | 97成人在线视频 | 玖操| 国产成人333kkk| 色a资源在线 | 久久九九网站 | 九九久| 亚洲精品国偷自产在线91正片 | 九九九九热精品免费视频点播观看 | 亚洲日日日 | 久久国产成人午夜av影院潦草 | 激情综合五月天 | 日韩av成人在线观看 | 国产中文字幕三区 | 99久久久久免费精品国产 | 中文字幕久久久精品 | 天天躁天天狠天天透 | 成人国产精品免费 | 亚洲精品中文在线观看 | 欧美日韩成人 | 视频在线观看91 | 丁香六月在线 | 国产二区电影 | 国产精品毛片一区 | 国产九九热视频 | 狠狠躁夜夜a产精品视频 | 综合精品在线 | 亚洲国产三级在线观看 | 一区二区不卡在线观看 | 97日日 | 激情av资源网 | 超碰在线人人爱 | 午夜影院先 | 911精品美国片911久久久 | 中文不卡视频在线 | 日韩视频中文字幕 | 日日爽夜夜操 | 99久久日韩精品免费热麻豆美女 | 精品国产一区二区三区四区vr | 久久久久久久久网站 | 黄色成人91 | 久久男女视频 | 欧美激情操 | 又黄又刺激视频 | 久久久久激情 | 日韩在线不卡 | 黄色电影网站在线观看 | 麻豆视频免费网站 | 欧产日产国产69 | 久久精品99精品国产香蕉 | 午夜少妇一区二区三区 | 正在播放一区二区 | 欧美日韩免费在线观看视频 | 日韩精品免费在线观看 | 久久综合之合合综合久久 | 在线看小早川怜子av | 欧美日韩18 | 99视频在线免费播放 | 特级毛片在线免费观看 | 五月婷丁香 | 麻豆系列在线观看 | 成人午夜电影在线观看 | 日韩免费不卡视频 | 国产网红在线观看 | 成年人免费观看在线视频 | 天天操天天色天天射 | 国产一区二区三精品久久久无广告 | 欧美 激情在线 | 久久久久久久久久久网站 | 欧美色久| 国产欧美最新羞羞视频在线观看 | 天天干天天干天天干天天干天天干天天干 | 久久精品视频在线免费观看 | 久久久久久久久毛片精品 | 欧美日韩视频在线观看免费 | 日韩一级精品 | av丝袜在线 | 国产精品久久久久久久久久东京 | 免费在线色 | 免费福利在线观看 | 丰满少妇在线观看 | 成人在线电影观看 | 亚洲一区日韩 | 97成人在线观看视频 | www.久久免费视频 | 91九色精品女同系列 | av噜噜噜在线播放 | 色综合久久久久综合体 | 久久午夜电影网 | 又黄又爽又刺激视频 | 国产精品美女久久久久久2018 | av大全免费在线观看 | 香蕉免费在线 | 天天碰天天操视频 | 色综合久久精品 | 中文字幕乱码亚洲精品一区 | 色搞搞| 日韩极品视频在线观看 | 全久久久久久久久久久电影 | 超碰97免费在线 | 一区中文字幕 | 国产精品久久毛片 | 国产老妇av | 91九色自拍 | 亚洲年轻女教师毛茸茸 | 欧美日韩国产一区二区三区在线观看 | 国产午夜一区 | 久久黄色影视 | 婷婷久久综合网 | 五月婷婷开心 | 中文字幕在线免费播放 | 夜夜躁狠狠躁 | 久久久久国产精品午夜一区 | 久久久久亚洲精品成人网小说 | 在线观看精品一区 | 视频一区在线免费观看 | 97超碰资源 | 精品福利片 | 日韩欧美国产激情在线播放 | 国产精品福利无圣光在线一区 | 久久精品中文字幕一区二区三区 | 中文字幕一区二区三区乱码在线 | 在线观看aaa| 丝袜精品视频 | 麻豆视频免费网站 | 91免费视频黄 | 四虎在线观看 | 亚洲年轻女教师毛茸茸 | 亚洲人成免费网站 | 亚洲区二区 | 麻花豆传媒mv在线观看网站 | 91男人影院 | 免费久久网站 | 免费观看日韩av | 久久久精品久久 | 97视频在线观看成人 | 国产精品一区二区中文字幕 | 国产一区观看 | 五月婷婷av在线 | 国产伦理一区 | 欧美性受极品xxxx喷水 | 国产无套视频 | 亚洲精品视频偷拍 | 午夜久久久久久久 | 四虎小视频 | 日韩69av| 六月丁香综合 | 国产欧美久久久精品影院 | 色偷偷人人澡久久超碰69 | 能在线观看的日韩av | 人人爽人人爽人人片av免 | 色婷婷综合久久久久 | 国内精品免费久久影院 | 操操综合网| 国内外成人在线 | 国产精品成人免费 | 黄色国产在线观看 | 欧美日韩中文在线视频 | 久久久久久欧美二区电影网 | 天天做夜夜做 | 天天搞夜夜骑 | 国产精品高清免费在线观看 | 超碰在线9 | 亚洲一区二区高潮无套美女 | 91av视频免费在线观看 | 99色在线 | 国产99中文字幕 | 色姑娘综合网 | 久久高视频 | 中文字幕黄网 | 中文字幕在线精品 | 欧美精品xxx | 久久99中文字幕 | www.国产在线视频 | 精品久久久999 | 精品久久久久久综合日本 | 午夜国产一区二区三区四区 | 亚洲激情久久 | 最近中文字幕完整视频高清1 | 国产视频在 | 国产在线一卡 | 叶爱av在线| 在线观看亚洲视频 | 色婷婷一 | 国产91在线播放 | 国产97av| 久久久久久毛片 | 狠狠操电影网 | 视频在线91 | 亚洲成人家庭影院 | 亚洲国产美女精品久久久久∴ | 国产精品久久久久久久久久久久午 | 欧美性色综合网站 | 在线观看不卡视频 | 国产精品美女999 | 91爱看片 | 久久精品视频中文字幕 | 美女久久久久久久久久久 | 久久福利精品 | 美女网站视频免费都是黄 | 国产亚洲一级高清 | 久久免费播放视频 | 999色视频 | 91精品国产自产91精品 | 国产色婷婷 | 亚洲精品tv久久久久久久久久 | 欧美午夜精品久久久久 | 久久久久观看 | 天天射天天爱天天干 | 在线看v片成人 | 91亚洲影院 | 激情视频二区 | 国产一区二区免费在线观看 | 久久久久美女 | 99精品国产视频 | 天天操天天色综合 | 国产精品99久久99久久久二8 | 美女视频黄是免费的 | 亚洲精品一区二区三区高潮 | 麻豆久久一区 | 国产视频日韩 | 激情图片区 | 激情av一区二区 | 在线观看精品一区 | 亚洲精选久久 | 欧美综合在线视频 | 久久99精品热在线观看 | 粉嫩av一区二区三区入口 | 视频在线观看亚洲 | 成人av中文字幕 | 色婷婷综合久久久 | 超碰人人在线 | 欧美精品一区二区性色 | 97超碰人人澡| 天天射狠狠干 | 激情中文在线 | 92av视频| 久久在线看 | 欧美日本高清视频 | 国产高清不卡一区二区三区 | 成人四虎 | 亚洲黄色软件 | 国产视频亚洲 | 日韩精品一区二区三区不卡 | 国产精品igao视频网网址 | 午夜精品福利一区二区三区蜜桃 | 91麻豆精品91久久久久同性 | 最近中文字幕视频网 | 国产精品九九视频 | 成人永久在线 | 伊人日日干 | 天天操天天舔天天干 | 国产精品18久久久久久不卡孕妇 | 天天操人人要 | 国产精品亚洲片在线播放 | 成人av免费在线播放 | 亚洲欧美国产精品 | 一本一本久久a久久精品综合妖精 | 六月天色婷婷 | 久久精品人 | 久久久久久久久久电影 | 97精品一区 | 亚洲午夜久久久影院 | 久青草电影 | 欧美激情视频一二三区 | 午夜三级福利 | 992tv成人免费看片 | 99精品视频免费 | 久久综合九色综合97婷婷女人 | 在线看片中文字幕 | 在线免费观看欧美日韩 | 岛国片在线 | 在线 国产一区 | 国产成人综合在线观看 | 亚洲国产成人久久 | 亚洲最大免费成人网 | 中文字幕 在线 一 二 | 亚洲欧美乱综合图片区小说区 | 超碰人人在线 | 蜜臀aⅴ国产精品久久久国产 | 久久精品99北条麻妃 | 免费观看的黄色片 | 天天艹天天操 | 国产精品精品久久久 | 天操夜夜操 | 国产精品原创av片国产免费 | 黄色一级大片在线免费看产 | 91精品国产高清 | 国产成人精品一区二区三区网站观看 | 97在线观看视频国产 | 免费看高清毛片 | 五月激情五月激情 | 91x色 | 少妇搡bbb | 在线免费观看麻豆 | av官网在线| 日韩中文字幕免费电影 | 深爱激情五月综合 | 天天色欧美 | 五月开心婷婷 | 日韩a在线播放 | 超碰97人人干 | 国产成人精品不卡 | 欧美 亚洲 另类 激情 另类 | 中文字幕电影高清在线观看 | 99久久精品午夜一区二区小说 | 17videosex性欧美 | 探花视频免费观看高清视频 | 国产999精品视频 | 在线观看www视频 | 欧洲精品一区二区 | 日韩视频1 | 国产 在线 高清 精品 | 久久伦理网 | 在线看黄色av | 91亚洲精品久久久久图片蜜桃 | 成人精品久久 | 日韩免费视频 | 成人在线免费视频 | 婷婷丁香九月 | 久久99亚洲精品 | 9草在线| 国产成人久久77777精品 | 亚洲成人精品久久久 | 精品视频一区在线观看 | 国产超碰在线 | 瑞典xxxx性hd极品 | 国产a视频免费观看 | 五月婷网站 | 久久99精品久久久久婷婷 | 中文字幕av在线不卡 | 亚洲综合最新在线 | 色综合久久88色综合天天人守婷 | 激情综合五月婷婷 | 最近中文字幕免费av | 国产婷婷视频在线 | 精品一区av | 91桃花视频 | 91九色国产蝌蚪 | 在线观看一级 | 中文在线亚洲 | 久久69精品久久久久久久电影好 | 国产精品日韩欧美 | 四虎精品成人免费网站 | 日日爽天天操 | 日韩欧美在线综合网 | 蜜臀av网址 | 天天天操操操 | 天天操比 | 在线国产小视频 | 麻豆免费看片 | 国产精品毛片一区二区在线看 | 久久久久久久久久久久久久免费看 | 国产手机在线观看 | 午夜精品婷婷 | 久久免费视频99 | 欧美网址在线观看 | 91视频成人免费 | 欧美精品一区二区免费 | 伊人中文在线 | 欧美日韩高清在线 | 亚洲一区动漫 | 日日夜夜天天久久 | 91福利视频网站 | 亚洲日本va午夜在线影院 | 免费在线国产 | 国产在线播放一区 | 亚洲精品日韩av | 香蕉视频在线免费 | 91在线免费看片 | 韩国在线一区二区 | 狠狠地日 | 国产精品一区二区免费视频 | 日韩三级视频在线观看 | 国产精品99久久久久久人免费 | 日韩特级黄色片 | 亚洲成年片 | 99亚洲国产精品 | 91看片网址 | 91福利区一区二区三区 | 99视频精品全国免费 | 国产福利免费在线观看 | av免费观看高清 | 久久综合成人 | 国产成人精品不卡 | 美女网站在线看 | 日韩有码在线观看视频 | 国产亚洲精品久久久久久电影 | 亚洲 欧美 变态 国产 另类 | 中文字幕亚洲精品在线观看 | 中文字幕免费高 | 99免费国产 | 一区二区精品在线 | 久久伊人色综合 | 黄色在线免费观看网址 | 欧美天天综合网 | 婷婷久久一区 | 中文网丁香综合网 | 96国产在线 | 五月婷婷久 | 日韩av偷拍| 中文字幕在线播放日韩 | 国产特级毛片aaaaaa | 日韩精品视频一二三 | 国产精品二区在线观看 | 超碰在线观看97 | 婷婷久久五月天 | 一本一本久久a久久精品牛牛影视 | 欧美日韩精品免费观看视频 | av免费在线播放 | 黄色精品一区二区 | www.xxx.性狂虐 | 成人黄色在线视频 | 久久开心激情 | 91在线视频在线观看 | 亚洲综合日韩在线 | 欧美一区二区三区四区夜夜大片 | 狠狠色丁香婷婷综合视频 | 亚洲精品一区二区三区四区高清 | 一区二区三区精品在线视频 | 在线蜜桃视频 | 最新av在线免费观看 | 日韩最新中文字幕 | 色狠狠综合天天综合综合 | 日韩视频图片 | 国产精品99爱 | 精品在线一区二区三区 | 国内精品久久久久久久 | 中文在线天堂资源 | 亚洲劲爆av| 欧美在线观看视频一区二区三区 | 成人午夜电影在线 | 欧美视频在线观看免费网址 | 午夜色站 | 国产小视频91 | 精品国产一区二区三区久久久 | 久久夜夜操 | 久草视频国产 | 亚洲天天干 | 亚洲91视频 | 99日精品| 亚洲专区在线视频 | 成人国产精品免费观看 | 成人国产网站 | 亚洲视频在线观看免费 | 最近中文字幕免费av | 欧美一区二区三区免费看 | 天天综合成人网 | 亚洲综合在线播放 | 成 人 黄 色 视频免费播放 | 在线观看的av| 精品九九九 | 成人午夜影视 | 涩五月婷婷 | www.香蕉视频 | 日韩日韩日韩日韩 | 国产精品毛片完整版 | 国产高清视频网 | 色婷婷国产 | 成人在线观看影院 | 日韩欧美精品在线视频 | 亚洲精品va | 在线观看www.| 久久久一本精品99久久精品66 | 亚洲专区视频在线观看 | 一区二区三区不卡在线 | 天天操天天怕 | 久久久麻豆视频 | 国产在线视频导航 | 五月亚洲 | 午夜久久福利视频 | 黄色片免费看 | 黄色av网站在线免费观看 | av手机版 | 久久久麻豆视频 | 久久久高清视频 | av三级在线免费观看 | 91在线精品播放 | 日韩视频精品在线 | 波多野结衣电影一区 | av天天草| 91你懂的| 婷婷丁香在线观看 | 国产成人av网站 | 不卡的av在线 | 亚洲黄色小说网 | 国产黄色美女 | 亚洲天堂毛片 | 国产高清免费在线播放 | 亚洲精品男人天堂 | 97av在线视频免费播放 | 天天草天天干天天射 | 99久久久久久 | 黄色三级av | 亚洲va在线va天堂va偷拍 | 亚洲电影网站 | 婷婷激情av | h视频在线看 | 久久高视频 | 91精品入口 | 黄视频色网站 | 国产一区二区三区高清播放 | 久久婷婷一区 | 久久成 | 亚洲精品国偷拍自产在线观看 | 国产精品九九九九九 | 香蕉视频91 | 久久图 | 精品影院| 99久久久久国产精品免费 | 91色在线观看 | 亚洲综合射 | 伊人首页| 黄色片免费在线 | av大片免费看 | 99国产一区二区三精品乱码 | 国产亚洲精品久久久久久移动网络 | 不卡av在线免费观看 | 四虎成人精品永久免费av九九 | 99国产精品久久久久久久久久 | 超碰九九 | 激情xxxx| 成人免费观看网站 | 日日摸日日添夜夜爽97 | 欧美另类老妇 | 国产午夜精品久久久久久久久久 | 亚洲欧美日韩国产精品一区午夜 | 黄色软件在线观看视频 | 久久免费视频99 | 天天草天天 | 狠狠干网址 | 五月综合色 | 欧美日韩在线免费观看 | 中文在线a在线 | 久草视频视频在线播放 | 久久久免费视频播放 | 亚洲aⅴ久久精品 | 中文亚洲欧美日韩 | 国产黄色精品在线 | 成人毛片网 | 国产免费黄视频在线观看 | 亚洲精品网址在线观看 | 中文字幕.av.在线 | 亚洲电影图片小说 | 乱子伦av| 亚洲一区二区精品3399 | 超碰成人网 | 欧美伦理电影一区二区 | 啪啪激情网 | 国产亚洲欧美精品久久久久久 | 欧美日韩精品免费观看 | 色网站黄 | 日本黄区免费视频观看 | 日韩视频免费播放 | 天天操天天射天天添 | 久久精品日本啪啪涩涩 | 国产专区一 | 日夜夜精品视频 | 国产视频在| 97精品超碰一区二区三区 | 久久久久久在线观看 | 999超碰| 人人舔人人 | 青春草免费视频 | www久草 | av综合av | 国产成免费视频 | 91一区一区三区 | 成人午夜免费福利 | 久操视频在线 | 日韩欧美精品在线视频 | 久九视频| 日本精品一区二区三区在线播放视频 | 91天天操| 国产精品理论片在线播放 | 久久性生活片 | 黄色一级免费电影 | 免费在线一区二区 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 久久久久久久久久网 | 欧美乱码精品一区二区 | 国产欧美最新羞羞视频在线观看 | www.五月激情.com | 最近乱久中文字幕 | 久久免费看毛片 | 国产一区二区视频在线 | 国产夫妻自拍av | 日韩一区二区免费播放 | 久久精品日产第一区二区三区乱码 | 亚洲国产精品一区二区尤物区 | 国产午夜视频在线观看 | 黄色tv视频| 精品a视频 | 国产精品免费在线视频 | 日韩美一区二区三区 | 天干啦夜天干天干在线线 | 亚洲一区 影院 | 欧美精品久久99 | 久久久久久美女 | 久久综合九色综合久99 | 久在线观看视频 | 成人在线免费av | 免费看片成人 | 国产二区av| 日韩剧情| 亚洲日日射 | 午夜av激情 | 中文字幕一区二区在线观看 | 久久都是精品 | 午夜在线免费视频 | 美国三级黄色大片 | 日韩乱码在线 | 国产成人久久久77777 | 婷婷久久精品 | 一二区精品 | 黄色毛片视频免费观看中文 | 狠狠干干 | 亚洲国产精品人久久电影 | 久久久首页 | 一区二区毛片 | 亚洲一区二区视频在线播放 | 久久精品美女视频网站 | 91av视频观看 | 久久婷婷久久 | 婷婷色av | 麻豆免费在线播放 | 久久久99国产精品免费 | 亚洲国产免费av | 99精品在线播放 | 成人宗合网 | 99精品视频一区二区 | 97操碰 | 久久免费视频网 | 在线观看视频国产一区 | 在线观看av小说 | 日韩中文在线播放 | 日韩欧美视频免费在线观看 | 天天摸天天干天天操天天射 | 欧美日韩免费看 | 激情久久网 | 国产小视频你懂的在线 | 99高清视频有精品视频 | 久久精精品视频 | 亚洲欧美日韩一二三区 | 人人干97 | 丁香激情五月婷婷 | 亚洲国产精品推荐 | 国产精品xxxx18a99 | 97香蕉超级碰碰久久免费软件 | 久草国产在线观看 | 2021国产精品视频 | 久久精品99精品国产香蕉 | 久久精品一区八戒影视 | 欧美日韩91 | 日日麻批40分钟视频免费观看 | 免费观看黄 | 一级黄色片在线免费看 | 免费看一级黄色 | 亚洲欧美在线综合 | 国产精品永久免费观看 | 国产男女免费完整视频 | 手机看片中文字幕 | 美女黄久久 | 视频在线99 | 久久韩国免费视频 | 精品久久久网 | 天堂久色 | 久久亚洲婷婷 | 91丨九色丨勾搭 | 国产 色 | 在线一区电影 | 五月婷婷丁香色 | 欧美亚洲成人xxx | 在线观看日本高清mv视频 | 国产精品v欧美精品 | 97热在线观看 | 午夜丰满寂寞少妇精品 | 欧美一区二区在线免费观看 | 国产一区免费观看 | www.av免费观看 | 久久国产成人午夜av影院宅 | 国产精品美 | 久久1区 | 欧美日韩色婷婷 | 五月婷久久 | 91视频免费网址 | 五月婷婷综合在线观看 | 国产一区视频在线 | 色综合久久66 | 99视频在线精品免费观看2 | 视频二区 | 国产免费中文字幕 | 日本在线免费看 | 337p欧美| 91亚洲狠狠婷婷综合久久久 | 园产精品久久久久久久7电影 | 成人在线视频免费观看 | 国产精品高潮呻吟久久久久 | 六月久久婷婷 | 国产黄色片免费 | 久久理论电影 | 免费观看9x视频网站在线观看 | 日韩在线一级 | 99国产在线视频 | 日本二区三区在线 | 久久久精品网站 | 欧美九九视频 | 中文字幕观看视频 | 国产精品普通话 | 深爱五月激情五月 | 国产精品免费一区二区 | 五月婷婷免费 | 69国产盗摄一区二区三区五区 | 国产精品网在线观看 | 欧美大香线蕉线伊人久久 | 亚洲小视频在线 | 四虎在线视频免费观看 | 少妇精品久久久一区二区免费 | 91在线观 | 成年人免费电影 | 久久艹久久 | 九九热1| 国产一区免费视频 | 久久久久国产成人精品亚洲午夜 | 在线观看va | 在线一二三区 | 91av原创| 去干成人网 | 四虎国产精 | 国产91在线看 | www.伊人网 | 色婷婷综合视频在线观看 | 97在线免费视频 | av网站地址 | www.色综合.com| 97韩国电影| 精品久久久久亚洲 | 日本中文字幕一二区观 | 免费看污网站 | 亚洲国产中文字幕 | 亚洲精品人人 | 美女网站视频免费黄 | 日韩在线观看网站 | 999久久久国产精品 高清av免费观看 | 日日日日| 久久草在线免费 | 国产第一页福利影院 | av韩国在线 | 日韩成人精品一区二区 | 国产色妞影院wwwxxx | 黄色精品视频 | 99国内精品 | 激情校园亚洲 | 久草国产精品 | 精品夜夜嗨av一区二区三区 | 美女视频黄是免费的 | 中文字幕在线人 | 九九九热精品免费视频观看网站 | 亚洲动漫在线观看 | 欧美日韩一区二区三区在线免费观看 | 亚洲精品一区二区精华 | 亚洲精品久久在线 | 国产在线综合视频 | 日韩高清在线一区二区三区 | 日韩av一区二区三区在线观看 | 色婷婷丁香| 丁香久久久 | 精品国产一区二区三区久久久久久 | 免费在线电影网址大全 | 欧美性受极品xxxx喷水 | 国产黄色精品网站 | www.天天草| 久久久99精品免费观看 | 日日麻批40分钟视频免费观看 | 一区二区三区久久精品 | 九月婷婷人人澡人人添人人爽 | 国内久久精品视频 | 中文字幕色综合网 | 精品国产电影一区 | 久久综合成人网 | 丁五月婷婷 | 美腿丝袜一区二区三区 | 视频在线观看91 | 97超在线视频 | 又紧又大又爽精品一区二区 | 国产成人一区二区三区在线观看 | 久久夜色精品国产欧美一区麻豆 | 在线观看91精品视频 | 国产精品丝袜久久久久久久不卡 | 日韩欧美一区二区三区在线 | 青青视频一区 | 999久久久免费精品国产 | 日韩性网站 | 日韩理论片在线观看 | 天天操天天舔天天爽 | 中文字幕视频 | 国产一区二区中文字幕 | 精品久久久久国产 | 91在线视频| 国产精品1024| 国产剧情一区 | 国产一二区免费视频 | 免费一级片久久 | 狠狠的干狠狠的操 | 在线影院中文字幕 | 亚洲精品国偷自产在线91正片 | 久久一区二 | 日韩精品免费专区 | 国产精品第2页 | 国产精品久久三 | av在线8| 国产看片网站 | 伊人黄 | 精品国产电影一区二区 | 中文字幕国产精品一区二区 | 久久久色 | 久久精精品| 天天射综合网站 | 超碰97在线看 | 久久久久久久久免费视频 | 丁香六月在线 | 97在线影视 | 日本成人中文字幕在线观看 | 国产成人三级在线播放 | 免费在线激情电影 | 天天舔天天射天天操 | 天天插伊人 | 亚洲丝袜一区 | 亚洲乱码精品久久久久 | 91在线播| 亚洲黄网站 | 狠狠五月婷婷 | 久久在线视频在线 | 夜夜操天天干, | 久久久久亚洲精品 | 亚洲成人av影片 | 亚洲国产中文字幕在线 | 午夜精品久久久 | 超碰av在线 | 亚洲国产中文在线观看 | 91香蕉视频污在线 | 国产破处在线视频 | 免费影视大全推荐 | 国产精品免费久久 | 青草视频在线播放 | 中文字幕在线免费播放 | 亚洲精品视频www | 久久综合亚洲鲁鲁五月久久 | jizz999| 久久激情影院 | 欧美日韩亚洲在线 | 国产精品成人久久久久久久 | 国产午夜精品一区二区三区 | 黄色大片入口 | 伊人影院av | 香蕉久久久久久av成人 | 久久国产精品成人免费浪潮 | 亚洲精品乱码久久久久久高潮 | 国产亚洲在线视频 | 日本一区二区免费在线观看 | 婷婷久操 | 色噜噜狠狠狠狠色综合久不 | 亚洲成人精品av | 日本69hd | 五月婷婷丁香在线观看 | 日韩av进入 | 日韩av美女| 欧美日韩免费网站 | 国产精品一区二区免费在线观看 | 国产999视频 | 久久只精品99品免费久23小说 | 91福利区一区二区三区 | 99久久激情 | 久久网页 | 成人免费视频网站在线观看 | 国产在线视频资源 | 91福利视频免费 | 久久精品www人人爽人人 | 成人黄性视频 | 国产精品毛片一区 | 日本精品久久久久中文字幕 | 亚洲国产免费 | 99综合电影在线视频 | www.夜夜操.com | 久久久久久久久久久影视 | 狠狠久久综合 | 九九热精品视频在线观看 | 久久久久久久久久久久久久免费看 | 91中文视频 | 日韩在线免费小视频 | 欧美日韩精品综合 | 成人毛片一区二区三区 | 亚洲国产免费av | 久99久中文字幕在线 | 在线小视频国产 | 久久午夜色播影院免费高清 | 麻豆国产精品永久免费视频 | 免费观看91视频大全 | 久久国内精品视频 | av夜夜操| 精品国产成人在线 | 五月天伊人网 | 一区二区伦理电影 | 久久久久久久久久福利 | 亚洲欧洲在线视频 | 日日夜夜天天久久 | 国产一级电影 | 一区二区三区动漫 | 亚洲欧美国产精品久久久久 | 黄色免费网站大全 | 午夜成人影视 | 欧美性极品xxxx做受 | 四虎永久免费网站 | 国产久视频 | 91少妇精拍在线播放 | 免费精品视频 | 天天草天天插 | 精品亚洲一区二区三区 | 久草网站在线观看 | 99亚洲国产| 99久精品| 亚洲日本韩国一区二区 | 在线 国产 亚洲 欧美 | 天天操天天艹 | 日韩高清观看 | 国产玖玖精品视频 | 午夜久久久精品 | 在线观看av免费 | 制服丝袜亚洲 | 色综合久久久久 | 在线影院av| 欧美动漫一区二区三区 | 久久久成人精品 | 在线免费观看国产黄色 | 欧美精品二区 | 色a4yy| 中文一区在线 | 97视频免费看 | 97精品国产97久久久久久久久久久久 | 久草综合在线观看 | 狠狠的干狠狠的操 | 97视频总站| 亚洲成av人片在线观看香蕉 | 午夜影视剧场 | 在线国产高清 | 国产福利91精品张津瑜 | 国产韩国日本高清视频 | 国产精品自产拍在线观看网站 | 天干啦夜天干天干在线线 | 久久久免费精品 | 精品久久久久久综合 | 天堂av一区二区 | 91九色精品国产 | 国产精品视频久久久 | 亚洲jizzjizz日本少妇 | 欧美精品首页 | 久久久久久久久久亚洲精品 |