1. 圣石小子粤语,别样幸福全集,箭在弦上大结局,我想打死你,星光灿烂猪八戒,菲律宾美人鱼50集国语,神探夏洛克 第四季,市委书记晚上不打招呼调研被拦

      SQL優(yōu)化

      時間:2024-09-09 12:19:13 SQL

      SQL優(yōu)化大全

        SQL是最重要的關(guān)系數(shù)據(jù)庫操作語言,并且它的影響已經(jīng)超出數(shù)據(jù)庫領(lǐng)域,得到其他領(lǐng)域的重視和采用,如人工智能領(lǐng)域的數(shù)據(jù)檢索,第四代軟件開發(fā)工具中嵌入SQL的語言等。那么SQL怎么優(yōu)化?一起來看看優(yōu)化步驟吧!

        1. 優(yōu)化SQL步驟

        1. 通過 show status和應(yīng)用特點(diǎn)了解各種 SQL的執(zhí)行頻率

        通過 SHOW STATUS 可以提供服務(wù)器狀態(tài)信息,也可以使用 mysqladmin extende d-status 命令獲得。 SHOW STATUS 可以根據(jù)需要顯示 session 級別的統(tǒng)計結(jié)果和 global級別的統(tǒng)計結(jié)果。

        如顯示當(dāng)前session: SHOW STATUS like "Com_%"; 全局級別:show global status;

        以下幾個參數(shù)對 Myisam 和 Innodb 存儲引擎都計數(shù):

        1. Com_select 執(zhí)行 select 操作的次數(shù),一次查詢只累加 1 ;

        2. Com_insert 執(zhí)行 insert 操作的次數(shù),對于批量插入的 insert 操作,只累加一次 ;

        3. Com_update 執(zhí)行 update 操作的次數(shù);

        4. Com_delete 執(zhí)行 delete 操作的次數(shù);

        以下幾個參數(shù)是針對 Innodb 存儲引擎計數(shù)的,累加的算法也略有不同:

        1. Innodb_rows_read select 查詢返回的行數(shù);

        2. Innodb_rows_inserted 執(zhí)行 Insert 操作插入的行數(shù);

        3. Innodb_rows_updated 執(zhí)行 update 操作更新的行數(shù);

        4. Innodb_rows_deleted 執(zhí)行 delete 操作刪除的行數(shù);

        通過以上幾個參數(shù),可以很容易的了解當(dāng)前數(shù)據(jù)庫的應(yīng)用是以插入更新為主還 是以查詢操作為主,以及各種類型的 SQL大致的執(zhí)行比例是多少。對于更新操作的計 數(shù),是對執(zhí)行次數(shù)的計數(shù),不論提交還是回滾都會累加。

        對于事務(wù)型的應(yīng)用,通過 Com_commit 和 Com_rollback 可以了解事務(wù)提交和回 滾的情況,對于回滾操作非常頻繁的數(shù)據(jù)庫,可能意味著應(yīng)用編寫存在問題。此外,以下幾個參數(shù)便于我們了解數(shù)據(jù)庫的基本情況:

        1. Connections 試圖連接 Mysql 服務(wù)器的次數(shù)

        2. Uptime 服務(wù)器工作時間

        3. Slow_queries 慢查詢的次數(shù)

        2. 定位執(zhí)行效率較低的SQL語句

        可以通過以下兩種方式定位執(zhí)行效率較低的 SQL 語句:

        1. 可以通過慢查詢?nèi)罩径ㄎ荒切﹫?zhí)行效率較低的 sql 語句,用 --log-slow-queries[=file_name] 選項(xiàng)啟動時, mysqld 寫一個包含所有執(zhí)行時間超過long_query_time 秒的 SQL 語句的日志文件。可以鏈接到管理維護(hù)中的相關(guān)章節(jié)。

        2. 使用 show processlist查看當(dāng)前MYSQL的線程, 命令慢查詢?nèi)罩驹诓樵兘Y(jié)束以后才紀(jì)錄,所以在應(yīng)用反映執(zhí)行效率出現(xiàn)問題的時候查 詢慢查詢?nèi)罩静⒉荒芏ㄎ粏栴},可以使用 show processlist 命令查看當(dāng)前 MySQL 在進(jìn)行的線程,包括線程的狀態(tài),是否鎖表等等,可以實(shí)時的查看 SQL 執(zhí)行情況, 同時對一些鎖表操作進(jìn)行優(yōu)化。

        3. 通過EXPLAIN 分析低效 SQL的執(zhí)行計劃:

        通過以上步驟查詢到效率低的 SQL 后,我們可以通過 explain 或者 desc 獲取MySQL 如何執(zhí)行 SELECT 語句的信息,包括 select 語句執(zhí)行過程表如何連接和連接 的次序。

        2. MySQL索引

        1. mysql如何使用索引

        索引用于快速找出在某個列中有一特定值的行。對相關(guān)列使用索引是提高SELECT 操作性能的最佳途徑。

        查詢要使用索引最主要的條件是查詢條件中需要使用索引關(guān)鍵字,如果是多列 索引,那么只有查詢條件使用了多列關(guān)鍵字最左邊的前綴時(前綴索引),才可以使用索引,否則 將不能使用索引。

        下列情況下, Mysql 不會使用已有的索引:

        1、如果 mysql 估計使用索引比全表掃描更慢,則不使用索引。例如:如果 key_part 1均勻分布在 1 和 100 之間,下列查詢中使用索引就不是很好:

        SELECT * FROM table_name where key_part1 > 1 and key_part1 < 90

        2、如果使用 heap 表并且 where 條件中不用=索引列,其他 > 、 < 、 >= 、 <= 均不使 用索引(MyISAM和innodb表使用索引);

        3、使用or分割的條件,如果or前的條件中的列有索引,后面的列中沒有索引,那么涉及到的索引都不會使用。

        4、如果創(chuàng)建復(fù)合索引,如果條件中使用的列不是索引列的第一部分;(不是前綴索引)

        4、如果 like 是以%開始;

        5、對 where 后邊條件為字符串的一定要加引號,字符串如果為數(shù)字 mysql 會自動轉(zhuǎn) 為字符串,但是不使用索引。

        2. 查看索引使用情況

        如果索引正在工作, Handler_read_key 的值將很高,這個值代表了一個行被索引值讀的次數(shù),很低的值表明增加索引得到的性能改善不高,因?yàn)樗饕⒉唤?jīng)常使 用。

        Handler_read_rnd_next 的值高則意味著查詢運(yùn)行低效,并且應(yīng)該建立索引補(bǔ)救。這個值的含義是在數(shù)據(jù)文件中讀下一行的請求數(shù)。如果你正進(jìn)行大量的表掃描,

        該值較高。通常說明表索引不正確或?qū)懭氲牟樵儧]有利用索引。

        語法:

        mysql> show status like 'Handler_read%';

        3. 具體優(yōu)化查詢語句

        1. 查詢進(jìn)行優(yōu)化,應(yīng)盡量避免全表掃描

        對查詢進(jìn)行優(yōu)化,應(yīng)盡量避免全表掃描,首先應(yīng)考慮在 where 及 order by 涉及的列上建立索引

        .    嘗試下面的技巧以避免優(yōu)化器錯選了表掃描:

        ·   使用ANALYZE TABLEtbl_name為掃描的表更新關(guān)鍵字分布。

        ·   對掃描的表使用FORCEINDEX告知MySQL,相對于使用給定的索引表掃描將非常耗時。

        SELECT * FROM t1, t2 FORCE INDEX (index_for_column)   WHERE t1.col_name=t2.col_name;

        ·   用--max-seeks-for-key=1000選項(xiàng)啟動mysqld或使用SET max_seeks_for_key=1000告知優(yōu)化器假設(shè)關(guān)鍵字掃描不會超過1,000次關(guān)鍵字搜索。

        1). 應(yīng)盡量避免在 where 子句中對字段進(jìn)行 null 值判斷

        否則將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描,如:

        select id from t where num is null

        NULL對于大多數(shù)數(shù)據(jù)庫都需要特殊處理,MySQL也不例外,它需要更多的代碼,更多的檢查和特殊的索引邏輯,有些開發(fā)人員完全沒有意識到,創(chuàng)建表時NULL是默認(rèn)值,但大多數(shù)時候應(yīng)該使用NOT NULL,或者使用一個特殊的值,如0,-1作為默  認(rèn)值。

        不能用null作索引,任何包含null值的列都將不會被包含在索引中。即使索引有多列這樣的情況下,只要這些列中有一列含有null,該列    就會從索引中排除。也就是說如果某列存在空值,即使對該列建索引也不會提高性能。 任何在where子句中使用is null或is not null的語句優(yōu)化器是不允許使用索引的。

        此例可以在num上設(shè)置默認(rèn)值0,確保表中num列沒有null值,然后這樣查詢:

        select id    from t where num=0

        2). 應(yīng)盡量避免在 where 子句中使用!=或<>操作符

        否則將引擎放棄使用索引而進(jìn)行全表掃描。

        MySQL只有對以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些時候的LIKE。

        可以在LIKE操作中使用索引的情形是指另一個操作數(shù)不是以通配符(%或者_(dá))開頭的情形。例如:

        SELECT id FROM  t WHERE col LIKE 'Mich%'; #  這個查詢將使用索引,

        SELECT id FROM  t WHERE col  LIKE '%ike';   #這個查詢不會使用索引。

        3). 應(yīng)盡量避免在 where 子句中使用 or 來連接條件

        否則將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描,如:

        select id from t where num=10 or num=20

        可以 使用UNION合并查詢: select id from t where num=10 union all select id from t where num=20

        在某些情況下,or條件可以避免全表掃描的。

        1 .where 語句里面如果帶有or條件, myisam表能用到索引, innodb不行。

        2 .必須所有的or條件都必須是獨(dú)立索引

        mysql or條件可以使用索引而避免全表

        4) .in 和 not in 也要慎用,否則會導(dǎo)致全表掃描,

        如:

        select id from t where num in(1,2,3)

        對于連續(xù)的數(shù)值,能用 between 就不要用 in 了:

        Select id from t where num between 1 and 3

        5).下面的查詢也將導(dǎo)致全表掃描:

        select id from t where name like '%abc%' 或者

        select id from t where name like '%abc' 或者

        若要提高效率,可以考慮全文檢索。

        而select id from t where name like 'abc%' 才用到索引

        7). 如果在 where 子句中使用參數(shù),也會導(dǎo)致全表掃描。

        因?yàn)镾QL只有在運(yùn)行時才會解析局部變量,但優(yōu)化程序不能將訪問計劃的選擇推 遲到運(yùn)行時;它必須在編譯時進(jìn)行選擇。然而,如果在編譯時建立訪問計劃,變量的值還是未知的,因而無法作為索引選擇的輸入項(xiàng)。如下面語句將進(jìn)行全表掃描:

        select id from t where num=@num

        可以改為強(qiáng)制查詢使用索引: select id from t with(index(索引名)) where num=@num

        8). 應(yīng)盡量避免在 where 子句中對字段進(jìn)行表達(dá)式操作,

        這將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描。如:

        select id from t where num/2=100

        應(yīng)改為:  select id from t where num=100*2

        9). 應(yīng)盡量避免在where子句中對字段進(jìn)行函數(shù)操作,

        這將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描。如:

        select id from t where substring(name,1,3)='abc'   --name

        select id from t where datediff(day,createdate,'2005-11-30')=0--‘2005-11-30’

        生成的id 應(yīng)改為:

        select id from t where name like 'abc%'

        select id from t where createdate>='2005-11-30' and createdate<'2005-12-1'

        10).不要在 where 子句中的“=”左邊進(jìn)行函數(shù)、算術(shù)運(yùn)算或其他表達(dá)式運(yùn)算,

        否則系統(tǒng)將可能無法正確使用索引。

        11). 索引字段不是復(fù)合索引的前綴索引

        例如 在使用索引字段作為條件時,如果該索引是復(fù)合索引,那么必須使用到該索引中的第一個字段作為條件時才能保證系統(tǒng)使用該索引,否則該索引將不會被使用,并且應(yīng)盡可能的讓字段順序與索引順序相一致。

        2 .其他一些注意優(yōu)化:

        12). 不要寫一些沒有意義的查詢,

        如需要生成一個空表結(jié)構(gòu):

        select col1,col2 into #t from t where 1=0

        這類代碼不會返回任何結(jié)果集,但是會消耗系統(tǒng)資源的,應(yīng)改成這樣: create table #t(...)

        13). 很多時候用 exists 代替 in 是一個好的選擇:

        select num from a where num in(select num from b)

        用下面的語句替換:

        select num from a where exists(select 1 from b where num=a.num)

        14). 并不是所有索引對查詢都有效,

        SQL是根據(jù)表中數(shù)據(jù)來進(jìn)行查詢優(yōu)化的,當(dāng)索引列有大量數(shù)據(jù)重復(fù)時,SQL查詢可能不會去利用索引,如一表中有字段sex,male、female幾乎各一半,那么即使在sex上建了索引也對查詢效率起不了作用。

        15). 索引并不是越多越好,

        索引固然可以提高相應(yīng)的 select 的效率,但同時也降低了 insert 及 update 的效率,因?yàn)?insert 或 update 時有可能會重建索引,所以怎樣建索引需要慎重考慮,視具體情況而定。一個表的索引數(shù)最好不要超過6個,若太多則應(yīng)考慮一些不常使用到的列上建的索引是否有必要。

        16).應(yīng)盡可能的避免更新 clustered 索引數(shù)據(jù)列,

        因?yàn)?clustered 索引數(shù)據(jù)列的順序就是表記錄的物理存儲順序,一旦該列值改變將導(dǎo)致整個表記錄的順序的調(diào)整,會耗費(fèi)相當(dāng)大的資源。若應(yīng)用系統(tǒng)需要頻繁更新 clustered 索引數(shù)據(jù)列,那么需要考慮是否應(yīng)將該索引建為 clustered 索引。

        17).盡量使用數(shù)字型字段,

        若只含數(shù)值信息的字段盡量不要設(shè)計為字符型,這會降低查詢和連接的性能,并會增加存儲開銷。這是因?yàn)橐嬖谔幚聿樵兒瓦B接時會逐個比較字符串中每一個字符,而對于數(shù)字型而言只需要比較一次就夠了。

        18).盡可能的使用 varchar/nvarchar 代替 char/nchar ,

        因?yàn)槭紫茸冮L字段存儲空間小,可以節(jié)省存儲空間,其次對于查詢來說,在一個相對較小的字段內(nèi)搜索效率顯然要高些。

        19).最好不要使用"*"返回所有: select * from t ,

        用具體的字段列表代替“*”,不要返回用不到的任何字段。

        3. 臨時表的問題:

        20). 盡量使用表變量來代替臨時表。

        如果表變量包含大量數(shù)據(jù),請注意索引非常有限(只有主鍵索引)。

        21).避免頻繁創(chuàng)建和刪除臨時表,以減少系統(tǒng)表資源的消耗。

        22).臨時表并不是不可使用,

        適當(dāng)?shù)厥褂盟鼈兛梢允鼓承├谈行В纾?dāng)需要重復(fù)引用大型表或常用表中的某個數(shù)據(jù)集時。但是,對于一次性事件,最好使用導(dǎo)出表。

        23).在新建臨時表時,如果一次性插入數(shù)據(jù)量很大,那么可以使用 select into 代替 create table,避免造成大量 log ,以提高速度;

        如果數(shù)據(jù)量不大,為了緩和系統(tǒng)表的資源,應(yīng)先create table,然后insert。

        24). 如果使用到了臨時表,在存儲過程的最后務(wù)必將所有的臨時表顯式刪除,先 truncate table ,然后 drop table ,這樣可以避免系統(tǒng)表的較長時間鎖定。

        4. 游標(biāo)的問題:

        25).盡量避免使用游標(biāo),

        因?yàn)橛螛?biāo)的效率較差,如果游標(biāo)操作的數(shù)據(jù)超過1萬行,那么就應(yīng)該考慮改寫。

        26).使用基于游標(biāo)的方法或臨時表方法之前,

        應(yīng)先尋找基于集的解決方案來解決問題,基于集的方法通常更有效。

        27).與臨時表一樣,游標(biāo)并不是不可使用。

        對小型數(shù)據(jù)集使用 FAST_FORWARD 游標(biāo)通常要優(yōu)于其他逐行處理方法,尤其是在必須引用幾個表才能獲得所需的數(shù)據(jù)時。在結(jié)果集中包括“合計”的例程通常要比使用游標(biāo)執(zhí)行的速度快。如果開發(fā)時間允許,基于游標(biāo)的方法和基于集的方法都可以嘗試一下,看哪一種方法的效果更好。

        28).在所有的存儲過程和觸發(fā)器的開始處設(shè)置 SET NOCOUNT ON ,在結(jié)束時設(shè)置 SET NOCOUNT OFF 。

        無需在執(zhí)行存儲過程和觸發(fā)器的每個語句后向客戶端發(fā)送 DONE_IN_PROC 消息。

        5. 事務(wù)的問題:

        29).盡量避免大事務(wù)操作,提高系統(tǒng)并發(fā)能力。

        6. 數(shù)據(jù)量的問題

        30).盡量避免向客戶端返回大數(shù)據(jù)量,若數(shù)據(jù)量過大,應(yīng)該考慮相應(yīng)需求是否合理。

        7. COUNT優(yōu)化:

        31) count(*) 優(yōu)于count(1)和count(primary_key)

        很多人為了統(tǒng)計記錄條數(shù),就使用 count(1) 和 count(primary_key) 而不是 count(*) ,他們認(rèn)為這樣性能更好,其實(shí)這是一個誤區(qū)。對于有些場景,這樣做可能性能會更差,應(yīng)為數(shù)據(jù)庫對 count(*) 計數(shù)操作做了一些特別的優(yōu)化。

        32)count(column) 和 count(*) 是不一樣的

        這個誤區(qū)甚至在很多的資深工程師或者是 DBA 中都普遍存在,很多人都會認(rèn)為這是理所當(dāng)然的。實(shí)際上,count(column) 和 count(*) 是一個完全不一樣的操作,所代表的意義也完全不一樣。

        count(column) 是表示結(jié)果集中有多少個column字段不為空的記錄

        count(*) 是表示整個結(jié)果集有多少條記錄

        1)innodb引擎在統(tǒng)計方面和myisam是不同的,Myisam內(nèi)置了一個計數(shù)器,

        Count(*)在沒有查詢條件的情況下使用 select count(*) from table 的時候,Myisam直接可以從計數(shù)器中取出數(shù)據(jù)。而innodb必須全表掃描一次方能得到總的數(shù)量

        2. 但是當(dāng)有查詢條件的時候,兩者的查詢效率一致。

        4. 主鍵索引count(*)的時候之所以慢

        InnoDB引擎:

        [1]     數(shù)據(jù)文件和索引文件存儲在一個文件中,主鍵索引默認(rèn)直接指向數(shù)據(jù)存儲位置。

        [2]     二級索引存儲指定字段的索引,實(shí)際的指向位置是主鍵索引。當(dāng)我們通過二級索引統(tǒng)計數(shù)據(jù)的時候,無需掃描數(shù)據(jù)文件;而通過主鍵索引統(tǒng)計數(shù)據(jù)時,由于主鍵索引與數(shù)據(jù)文件存放在一起,所以每次都會掃描數(shù)據(jù)文件,所以主鍵索引統(tǒng)計沒有二級索引效率高。

        [3]     由于主鍵索引直接指向?qū)嶋H數(shù)據(jù),所以當(dāng)我們通過主鍵id查詢數(shù)據(jù)時要比通過二級索引查詢數(shù)據(jù)要快。

        l  MyAsm引擎

        [1]     該引擎把每個表都分為幾部分存儲,比如用戶表,包含user.frm,user.MYD和user.MYI。

        [2]     User.frm負(fù)責(zé)存儲表結(jié)構(gòu)

        [3]     User.MYD負(fù)責(zé)存儲實(shí)際的數(shù)據(jù)記錄,所有的用戶記錄都存儲在這個文件中

        [4]     User.MYI負(fù)責(zé)存儲用戶表的所有索引,這里也包括主鍵索引。

        8. 優(yōu)化order by語句

        基于索引的排序

        MySQL的弱點(diǎn)之一是它的排序。雖然MySQL可以在1秒中查詢大約15,000條記錄,但由于MySQL在查詢時最多只能使用一個索引。因此,如果WHERE條件已經(jīng)占用了索引,那么在排序中就不使用索引了,這將大大降低查詢的速度。我們可以看看如下的SQL語句:

        SELECT * FROM SALES WHERE NAME = “name” ORDER BY SALE_DATE DESC;

        在以上的SQL的WHERE子句中已經(jīng)使用了NAME字段上的索引,因此,在對SALE_DATE進(jìn)行排序時將不再使用索引。為了解決這個問題,我們可以對SALES表建立復(fù)合索引:

        ALTER TABLE SALES DROP INDEX NAME, ADD INDEX (NAME,SALE_DATE)

        這樣再使用上述的SELECT語句進(jìn)行查詢時速度就會大副提升。但要注意,在使用這個方法時,要確保WHERE子句中沒有排序字段,在上例中就是不能用SALE_DATE進(jìn)行查詢,否則雖然排序快了,但是SALE_DATE字段上沒有單獨(dú)的索引,因此查詢又會慢下來。

        在某些情況中, MySQL可以使用一個索引來滿足 ORDER BY子句,而不需要額外的排序。 where條件和order by使用相同的索引,并且order by 的順序和索引順序相 同,并且order by的字段都是升序或者都是降序。例如:下列sql可以使用索引。

        SELECT * FROM t1 ORDER BY key_part1,key_part2,... ;

        SELECT * FROM t1 WHERE key_part1=1 ORDER BY key_part1 DESC, key_part2 DESC;

        SELECT * FROM t1 ORDER BY key_part1 DESC, key_part2 DESC;

        但是以下情況不使用索引:

        SELECT * FROM t1 ORDER BY key_part1 DESC, key_part2 ASC ; --order by 的字段混合 ASC 和 DESC

        SELECT * FROM t1 WHERE key2=constant ORDER BY key1 ;-- 用于查詢行的關(guān)鍵字與 ORDER BY 中所使用的不相同

        SELECT * FROM t1 ORDER BY key1, key2 ;-- 對不同的關(guān)鍵字使用 ORDER BY :

        9. 優(yōu)化GROUP BY

        默認(rèn)情況下, MySQL 排序所有 GROUP BY col1 , col2 , .... 。查詢的方法如同在查詢中指定 ORDER BY col1 , col2 , ... 。如果顯式包括一個包含相同的列的 ORDER BY

        子句, MySQL 可以毫不減速地對它進(jìn)行優(yōu)化,盡管仍然進(jìn)行排序。如果查詢包括 GROUP BY 但你想要避免排序結(jié)果的消耗,你可以指定 ORDER BY NULL禁止排序。

        例如 :

        INSERT INTO foo  SELECT a, COUNT(*) FROM bar GROUP BY a ORDER BY NULL;

        10. 優(yōu)化 OR

        具體詳解看:mysql or條件可以使用索引而避免全表

        4. Explain解釋說明

        explain顯示了mysql如何使用索引來處理select語句以及連接表。可以幫助選擇更好的索引和寫出更優(yōu)化的查詢語句。

        使用方法,在select語句前加上explain就可以了:

        如:

        explain select surname,first_name form a,b where a.id=b.id

        分析結(jié)果形式如下:

        table |  type | possible_keys | key | key_len  | ref | rows | Extra

        EXPLAIN列的解釋:

        1 table:

        顯示這一行的數(shù)據(jù)是關(guān)于哪張表的

        2 type:

        這是重要的列,顯示連接使用了何種類型。從最好到最差的連接類型為:system、const、eg_reg、ref、ref_or_null、 range、indexhe、 ALL。

        system:表僅有一行(=系統(tǒng)表)。這是const聯(lián)接類型的一個特例

        const:(PRIMARY KEY或UNIQUE)

        表最多有一個匹配行,它將在查詢開始時被讀取。因?yàn)閮H有一行,在這行的列值可被優(yōu)化器剩余部分認(rèn)為是常數(shù)。

        const表很快,因?yàn)樗鼈冎蛔x取一次!

        const用于用常數(shù)值比較PRIMARY KEY或UNIQUE索引的所有部分時。

        在下面的查詢中,tbl_name可以用于const表:

        SELECT * from tbl_name WHERE primary_key=1;

        eq_reg:key

        對于每個來自于前面的表的行組合,從該表中讀取一行。這可能是最好的聯(lián)接類型,除了const類型。

        它用在一個索引的所有部分被聯(lián)接使用并且索引是UNIQUE或PRIMARY KEY。

        eq_ref可以用于使用= 操作符比較的帶索引的列。比較值可以為常量或一個使用在該表前面所讀取的表的列的表達(dá)式。

        在下面的例子中,MySQL可以使用eq_ref聯(lián)接來處理ref_tables:

        SELECT * FROM ref_table,other_table WHERE ref_table.key_column=other_table.column;

        SELECT * FROM ref_table,other_table WHERE ref_table.key_column_part1=other_table.column

        AND ref_table.key_column_part2=1;

        ref:key

        對于每個來自于前面的表的行組合,所有有匹配索引值的行將從這張表中讀取。如果聯(lián)接只使用鍵的最左邊的前綴,

        或如果鍵不是UNIQUE或PRIMARY KEY(換句話說,如果聯(lián)接不能基于關(guān)鍵字選擇單個行的話),則使用ref。

        如果使用的鍵僅僅匹配少量行,該聯(lián)接類型是不錯的。

        ref可以用于使用=或<=>操作符的帶索引的列。

        在下面的例子中,MySQL可以使用ref聯(lián)接來處理ref_tables:

        SELECT * FROM ref_table WHERE key_column=expr;

        SELECT * FROM ref_table,other_table WHERE ref_table.key_column=other_table.column;

        SELECT * FROM ref_table,other_table WHERE ref_table.key_column_part1=other_table.column

        AND ref_table.key_column_part2=1;

        ref_or_null:Or Is null

        該聯(lián)接類型如同ref,但是添加了MySQL可以專門搜索包含NULL值的行。在解決子查詢中經(jīng)常使用該聯(lián)接類型的優(yōu)化。

        在下面的例子中,MySQL可以使用ref_or_null聯(lián)接來處理ref_tables:

        SELECT * FROM ref_table WHERE key_column=expr OR key_column IS NULL;

        range:=、<>、>、>=、<、<=、IS NULL、<=>、BETWEEN或者IN

        只檢索給定范圍的行,使用一個索引來選擇行。key列顯示使用了哪個索引。

        key_len包含所使用索引的最長關(guān)鍵元素。在該類型中ref列為NULL。

        當(dāng)使用=、<>、>、>=、<、<=、IS NULL、<=>、BETWEEN或者IN操作符,用常量比較關(guān)鍵字列時,可以使用range:

        SELECT * FROM tbl_name WHERE key_column = 10;

        SELECT * FROM tbl_name WHERE key_column BETWEEN 10 and 20;

        SELECT * FROM tbl_name WHERE key_column IN (10,20,30);

        SELECT * FROM tbl_name WHERE key_part1= 10 AND key_part2 IN (10,20,30);

        indexhe:

        該聯(lián)接類型與ALL相同,除了只有索引樹被掃描。這通常比ALL快,因?yàn)樗饕募ǔ1葦?shù)據(jù)文件小。

        當(dāng)查詢只使用作為單索引一部分的列時,MySQL可以使用該聯(lián)接類型。

        ALL:

        對于每個來自于先前的表的行組合,進(jìn)行完整的表掃描。如果表是第一個沒標(biāo)記const的表,

        這通常不好,并且通常在它情況下很差。通常可以增加更多的索引而不要使用ALL,

        使得行能基于前面的表中的常數(shù)值或列值被檢索出。

        3 possible_keys :

        顯示可能應(yīng)用在這張表中的索引。如果為空,沒有可能的索引。可以為相關(guān)的域從WHERE語句中

        選擇一個合適的語句

        4 key :

        實(shí)際使用的索引。如果為NULL,則沒有使用索引。很少的情況下,MYSQL會選擇優(yōu)化不足的索引  。

        這種情況下,可以在SELECT語句中使用USEINDEX(indexname)來強(qiáng)制使用一個索引或者用IGNORE INDEX(indexname)來強(qiáng)制MYSQL忽略索引

        5key_len:

        使用的索引的長度。在不損失精確性的情況下,長度越短越好

        6 ref

        顯示索引的哪一列被使用了,如果可能的話,是一個常數(shù)

        7 rows

        MYSQL認(rèn)為必須檢查的用來返回請求數(shù)據(jù)的行數(shù) (掃描行的數(shù)量)

        8 Extra

        該列包含MySQL解決查詢的詳細(xì)信息

        關(guān)于MYSQL如何解析查詢的額外信息。將在表4.3中討論,但這里可以看到的壞的例子是Using temporary和Using filesort,

        意思MYSQL根本不能使用索引,結(jié)果是檢索會很慢

        extra列返回的描述的意義

        Distinct:

        一旦MYSQL找到了與行相聯(lián)合匹配的行,就不再搜索了

        Not exists :

        MYSQL優(yōu)化了LEFT JOIN,一旦它找到了匹配LEFT JOIN標(biāo)準(zhǔn)的行, 就不再搜索了

        面是一個可以這樣優(yōu)化的查詢類型的例子:

        SELECT * FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t2.id IS NULL;

        假定t2.id定義為NOT NULL。在這種情況下,MySQL使用t1.id的值掃描t1并查找t2中的行。

        如果MySQL在t2中發(fā)現(xiàn)一個匹配的行,它知道t2.id絕不會為NULL,并且不再掃描t2內(nèi)有相同的id值的行。

        換句話說,對于t1的每個行,MySQL只需要在t2中查找一次,無論t2內(nèi)實(shí)際有多少匹配的行。

        Range checked for each Record(index map:#)

        沒有找到理想的索引,因此對于從前面表中來的每一個行組合,MYSQL檢查使用哪個索引,并用它來從表中返回行。

        這是使用索引的最慢的連接之一

        MySQL沒有發(fā)現(xiàn)好的可以使用的索引,但發(fā)現(xiàn)如果來自前面的表的列值已知,可能部分索引可以使用。

        對前面的表的每個行組合,MySQL檢查是否可以使用range或index_merge訪問方法來索取行。

        關(guān)于適用性標(biāo)準(zhǔn)的描述參見7.2.5節(jié),“范圍優(yōu)化”和7.2.6節(jié),“索引合并優(yōu)化”,

        不同的是前面表的所有列值已知并且認(rèn)為是常量。這并不很快,但比執(zhí)行沒有索引的聯(lián)接要快得多。

        Using filesort

        看到這個的時候,查詢就需要優(yōu)化了。MYSQL需要進(jìn)行額外的步驟來發(fā)現(xiàn)如何對返回的行排序。

        它根據(jù)連接類型以及存儲排序鍵值和匹配條件的全部行的行指針來排序全部行

        Using index

        列數(shù)據(jù)是從僅僅使用了索引中的信息而沒有讀取實(shí)際的行動的表返回的,

        這發(fā)生在對表的全部的請求列都是同一個索引的部分的時候

        Using temporary

        看到這個的時候,查詢需要優(yōu)化了。這里,MYSQL需要創(chuàng)建一個臨時表來存儲結(jié)果,這通常發(fā)生在對不同的列集進(jìn)行ORDER BY上,而不是GROUP BY上

        Using where

        使用了WHERE從句來限制哪些行將與下一張表匹配或者是返回給用戶。如果不想返回表中的全部行,

        并且連接類型ALL或index,這就會發(fā)生,或者是查詢有問題

        Impossible WHERE noticed after reading const table...

      【SQL優(yōu)化】相關(guān)文章:

      oracle的sql語句01-21

      SQL語句的理解原則03-30

      SQL查詢語句大全04-25

      sql語句的各種模糊查詢03-30

      mysql SQL語句積累參考03-30

      執(zhí)行sql原理l分析03-30

      SQL中的單記錄函數(shù)03-30

      PHP防止SQL注入的例子03-15

      SQL語句中的正則表達(dá)示03-18

      主站蜘蛛池模板: 火蓝刀锋电视剧百度影音| 朋友换娶妻2完整版| 奔跑吧兄弟第三季完整版免费| 《爱丈夫更深爱着公》主演| 《为卿痴狂》免费播放观看| 声入人心第一季免费观看完整版| 百万新娘之爱无悔大结局| 神奇四侠2国语版| 许我荣耀电视剧更新| 空乘2023法版在线观看| 飞虎神鹰前传之英雄| 敲开天堂之门| 《莫莉特别的酒店》电影在线观看 | 月光宝盒电影| 义姐是不良妈妈免费观看| 科学化学症候群| 灵魂摆渡第一季免费完整版| 藏珠短剧全集免费| 夏娃的时间| 金银梅5普通话在线观看国语版免费| 年轻的嫂子正版在线观看| 贞观长歌| 韩国伦理电影需要爸爸的种子| 当我飞奔向你电视剧| 韩剧美美| 电影非诚勿扰2在线观看| 笑咏春粤语| melodymarks女超人免费观看全部| 庆余年2免费高清观看西瓜| 观音传奇| 黑白配视频免费大全在线观看| 鬼吹灯有声小说在线收听| 假期剩5天作业剩7本女孩大哭| 好运家 电视剧| xl司令在线免费观看| 高清权力王朝:默多克家族| 幸福向前走全集| 《古墓丽影hr版:满天星》神鬼战士2 | 涪陵区| 寡妇村传奇免费观看| 《正青春》电视剧| 日本战狼6正版免费| 爱的色放3| 花与蛇1全集 影音| 《需要爸爸播种》英文名怎么写| 父贵荣华短剧全集| 夜闯寡妇村| 仙逆剧场版 神临之战| 坏家伙们电影| 台湾古装《原始部落》酋长的女儿叫 | 疯狂特警队免费观看完整版| 热血长安第二季百度云| 海之声如如理论| 恋人韩剧| 决杀令电视剧| 特殊保险公司推销员8中文| 青岛往事全集| 大力女子都奉顺在线观看| 3D肉蒲团之极乐免费| 战狼6免费高清版视频播放在线观看| 爱hifi| 电影泰坦尼克号| 暴躁老妈国语版免费观看| 老师牙签扎女童脚| 霹雳红唇| 哇嘎免费影院大全| 咱们结婚吧26| 柏林1936| 成何体统第二季| 法国护士长免费观看| 扫黑风暴第21集| 坂道之家| 暴躁的少女国语版在线观看| 蜡笔小新2010剧场版| 天狼星行动电视剧全集免费观看| 《斯巴达1帝国女版》海盗在线观看 | 特邀外卖员2003| 我的好兄弟8免费观看高清| 《妻子8》免费完整版高清韩剧| 危险关系2012| 加勒比女海盗成版人2在线| 荒岛女儿国在线观看| 朋友的老婆3| 壮志凌云2011版视频| 大笑江湖优酷| 罗曼蒂克消亡史电影未删除完整版| 酒店1-80集| 玩火的女孩| 女帝后宫:美男争风吃醋全集免费 | 沧元图第二季第4集| 我女朋友的妺妺3| 高清《捉奸侦探》电影| 日韩吃奶摸下AA片免费观看| 桐乡市| 魔盒电影网| 老炮儿未删减版| 《暴辱に屈した若妻》| 侠岚87| 《情趣用品调教》| 女版捉鬼敢死队| 超级肥妻| 狼群资源在线高清免费观看| 意大利《激战丛林》电影免费观看| 侠探杰克高清| 离婚前规则主题曲叫什么| 麻花传剧无痕mv免费观看天美| 高清《在你眉梢种红豆》电视剧| 摇滚狂花电视剧免费观看| 女子护卫队满天星1973中文| 大刀王五电影完整版免费观看| 伏罗希洛夫射手 电影| 时间静止器电影免费观看完整版| 小丑电影2019在线观看| 咏春电影| 嘉祥县| 利剑行动电视剧全集| 境界的轮回| 公交车扒开稚嫩挺进去J赵知梨| 免费网络电视| 夺命鹰爪功电影| 对你的想象高能片段| 麦乐迪家庭矛盾全集| 《杉杉来了》在线观看完整版 | 《沟壑难填》| 台版缉魂2小时10分版网飞版| 光武大帝| 麻生香织在线观看| 电视剧军刺| 好心作怪粤语24| 里沙村电影免费观看| 花满楼与陆小凤| 天下无双张靓颖| 爱我几何莫妮卡| 纸牌屋第五季下载| 米小圈上学记电视剧| 哇嘎电影免费播放完整版| 北京市公安局长| 新喜剧之王主演| 中国好声音第四季张磊| 莉娅戈蒂黑白配在线观看| 亡者之谜泰剧在线观看泰剧 | 春潮烂漫海棠红下载| 男女一起愁愁愁在线观看全集高| 农场主三姐妹美国1976豆瓣| 判处勇者刑全集观看| 日本动漫《花嫁高柳家》第一集| 高清公主骑士是蛮族的新娘未删减| 出轨的味道在线观看| 岳开始疯狂需要| 兔子先生第一季免费视频播放全集| 人体蜈蚣3 电影| 雪中悍刀行第2部免费观看| 台湾渔夫| 消失的她完整版| 迈克尔杰克逊 鬼怪| 凌云壮志满天星法国版| 中国大陆电视剧| 狂飙免费观看完整版在线观看| 1—5全集免费| 爱在太空| 鬼吹灯湘西怒晴| 《部长来我家》| 长津湖2021在线观看完整版| 夜上海广场舞| 美女杀羊| 性爱交易| 远亲小姐在线观看| 《部长来家吃饭》| 僵尸新娘国语版免费完整版| 蜜桃成熟时1997完整版| 《夏至未至》| 暴躁100集全部免费观看下载 | 新上甘岭24集在线观看| 站着再来一次第50集电视剧免费播放| 黑太阳731死亡工厂免费观看| 将门嫡女短剧全集| 《青囊传》电视剧免费观看| 水门桥在线观看完整版高清| 新战狼6,欧美版| 绽放吧百合演员表| 《一代女皇武则天》| 007女版满天星| 新奥特曼 在线观看| 恶女阿楚演员表| 美容特别待遇5HD| 一闪一闪亮星星免费观看| 香港三年大片免费观看完整版高清在 | 江源县| 告诉我你想要什么电影在线观看免费| 地久天长豆瓣| 电视剧现场铁证| 赤坂丽的《牙医诊所》百度云 | 法国兄妹开荒原版免费看| 英语老师充足的奶水| 大帅哥粤语| 莫妮卡《爱我几何》未简版电影免费 | 魔法咪路咪路高清| 高清《朱音落语》电视剧| 《分娩按摩》2| 风情的妻子| 带领村民奔小康:返乡创业全集免费 | 大内密探之灵灵性性| 四位大学位按摩记的背景和历史背景| 男子跑步成瘾留女儿在车内数小时 | 大侦探11| 军火女王 第二季| 假面舞会遇到朋友老婆| 《夫人的嘴唇》在线观看| 生逢灿烂的日子 电视剧| 愤怒的她短剧免费观看| 牙医姐妹1986完整版手机在线观看 | 诊疗中 第三季未删减| 一枝红杏入墙来| 迷失的情感电视剧| 越南女兵满天星2023年上映时间 | 泰罗奥特曼国语动漫| 啄木鸟壮志凌云| 公之浮手中22| 烽火儿女情 电视剧| 《塞伦三部曲》在线观看 | 爱丫爱丫在线国语高清电视剧 | 和上司女部长出差完整版免费观看| 宁安如梦27集| 聊斋艳谭之艳魔大战| 铁血昆仑关| 《法国空乘2009法版》| 大江大河| 开心女鬼国语| 21世纪爱情指南电影| 《红杏出墙》无删减在线观看| 爱情公寓3 19| 《军事不当行为》免费观看 | 母亲4高清免费观看韩国| 黑白配HD1080完整版高清| 林正英的僵尸电影| 《僵尸叔叔》国语版免费观看 | 白雪公主H版无删在线播放| 干露露廖凡| 人之怒 完正版在线观看| 三级《出差被同房》| 蛇舌电影完整版| 金钱之味剧情| 风流女管家免费观看电视剧| 黑衣人3高清完整版下载| 法国空乘2018在线观看免费| 离婚首富:求婚开挂全集免费| 法国空姐2004| 中间爱情番外篇| 宝贝女孩电影免费观看完整版高清 | 权力的游戏第一季无删减美剧| 《僵尸》| 高雄市| 当婚姻走到尽头| 动漫无双3终极无敌版| 电影《巴黎女流氓》免费观看| 爱唯侦察9集免费观看| 头脑特工队2国语版免费观看高清 恋爱之瘾日剧完整版在线全集免费观 | 电视剧淬火年代全集免费观看| 黎城县| 美国式忌讳结局1-5| 甜美姐姐动漫在线观看免费版| 无限挑战110716| 插曲的痛30集全集免费观看第二季 | 哪吒在线观看| 售楼小姐的秘密完整版 | 危险关系全集观看| 三十而立电视剧| 生化危机5惩罚| 夜游的生活| 密挑传楳| 南京将军山碎尸案| 斗罗大陆153集免费观看| 老板办公室狂躁秘书在线观看| 了不起的麦瑟尔夫人第二季在线观看| 叱咤乐坛| 笨蛋你在做什么第11集| 星克莱尔| 韩国电影姐姐的朋友1在线观看中文| 教授和他的女大学生| 莫莉5特别酒店| 用手指扰乱我| 老八吃粑粑| 天狼星行动电视剧全集免费观看| 杉杉来了33| 农场保卫战| 华丽的家族| 你懂的在线电影| 麦乐迪-女超人| 黑寡妇导航| 《金牌销售》法国| 奥拉星大电影1完整版| 大耳朵图图3部全集| 《义子侵犯》松下纱荣子| 海贼王1042| 云霓之望 泰剧中字| 战狼10欧美版在线观看| 算计七天的死亡游戏 | 电视剧理想之城在线观看| 新干县| 《招魂3》在线观看| 蜜汁炖鱿鱼电视剧棉免费全集| 漂亮妈妈6 中字 开头 歌曲| 邱淑贞电影全集| 冲上云霄2粤语全集| 人猿泰山1995年真人版| 快乐星球第5部| 飞哥大英雄电视剧全集在线观看 | 郑钦文称凌晨2点结束上一场| k8s经典版(老经典版)全集免费| 三生三世枕上书全集免费观看| 绝地逃生| 母亲爱上儿子同学电影| 法网狙击粤语03| 时光正好在线观看| 特殊的房产销售电影在线观看| 机器人总动员免费| 昶读什么| 莉娜安德森在线| 评书隋唐演义免费听完整版| 电影《魔女2》免费观看全集 | 活佛济公第三部快播| 水底禁锢| 她们电影| 私人女子监狱法版剧情介绍| 小宇宙33号| 锦绣未央43集| xl司令在线观看完整版动漫第一季| 老狼在线观看免费播放电视剧| 电影法国空乘免费观看| 完美女人满天星完整版| 韩版恶作剧之吻网络| 万古神帝张若尘完整版| 正在播放: 解决学生的性爱烦恼不穿内衣裤的美波老师硬硬教学 波汐里 中文本幕 | 好记录我们在线播放免费观看| 美容院特殊待遇2BT天堂电影| 人蛇大战1| 天堂中文在线资源库用| 三级片桃色凶器| 贾青神枪| 小草青青| 《公共事务》在线观看完整版| 失忆的劳拉电影| 《德国空乘11》| 错点鸳鸯电视剧50集免费播放| 东北往事之黑道风云全集免费观看| 正在播放: DRPT-048 春药曝露性爱 仓田真央带乳头导线与前女友相见 十年来同 | .奇怪的美容院2| 塔娜利韩国电影| 陷入我们的热恋电视剧免费观看 | 妻子替夫还债| 情逆三世缘国语版| 3肉脯团国语完整版| 完美世界免费观看完整在线观看| 1—5集免费普通话版| 新金瓶梅第2集| 用我的手来打扰我吧| 鄱阳县| 大鸡巴大战美女| 乱世三义电视剧免费观看 | 1995版新金银悔1-5普通话| 《指尖上的热情》类似动漫| 薄冰电视剧免费观看全集| 浮生若梦电影| 高清《古村女人》电视剧| 今野真菜| 我爱hk开心万岁下载| 婚前游戏| 自古英雄出少年全集| 花木兰电影| 浴火之路在线观看| 《乳头按摩》在线观看| 冰天雪地| 鹿晗脸上的疤| 女特警电视剧全集| 渔夫荒野史记1988版在线播放| 合照时全红婵“哭着”交出娃娃| 波野多结衣种子下载| 沐浴之王在线观看免费直播| 意大利语95版泰山在线播放| 功守道电影| 我的邻居正在付出一切党整版| 阿瓦人民唱新歌| 禁忌1980满天星2| 红蜘蛛全集| 美人心计18| 阳光灿烂的日子 电影| 女子护卫队满天星| 美国大选 直播| 美人鱼战队高清完整免费观看| 烽火佳人电视剧免费观看完整版| 贝坎奇品味人生| 变种dna2| 依海风情| 蒋依杉个人资料| 推油韩国电影| 谁是凶手免费观看完整版| 巨人的进击| 四方馆 电视剧| 祈祷爱情电视剧| 三年大片大全免费观看国语版电影完 | 女大学生按摩在线观看| 薄暮传说剧场版| 《夫妇联欢-回不去的夜晚》| 无法满足1980电影完整版| 意大利电影《美丽教师》主演| 缘之空动画| 前田香织种子| 安斋拉拉下雨天免费观看英文版| 变身动漫| 我们都要好好的45集免费观看| 山河枕全集免费观看| 意大利孕妇电影大全在线观看| 《黑白禁区》电视剧全集| 千古风流萧皇后| 出轨人妇各系列25目录| 维修师傅的艳遇bd金山丽| 生存之民工| 夫妻的成长日记| 守龙者国语版免费观看| 和女部长一起去公司研学日本电影| 玛丽苏剧| 高清《燕双鹰》免费观看高清| 韩国综艺节目runningman| 战狼6免费观看高清完整版| 李玉刚 花满楼| 《朋友夫妇:交换》3中文在线| 乱马国语| 高压监狱2免费观看完整版| 替嫁新娘全集免费| 台湾民众储存物资| 唐人街探案3 提取码| 周渝民最新电影| 一周的偶像170111| 人猿泰山1995版电影简介 | 让媳妇变成花痴第二季预告片| 我家有喜37| 二十四史前四史| 沉香如屑电视剧结局| 凌云壮志女版(法国)满天星| 警中警2免费观看全集| 永乐大帝电视剧全集免费观看| 一人客栈| 女子私人监狱美国版电影免费观看全 | 棋魂免费观看全集在线观看| 贝克汉姆任意球集锦| 酒店激战第10集的内容与解读| 爱我几何未删除| 聊斋3高清完整版在线观看| 海贼王480| 世间路电视剧| 示范销售避孕套免费看| 刘晓燕民间小调| 天赋异禀北极星免费观看| 《看上女儿》电影免费播放| 《军事不当行为》免费观看法国| 力量塔在线观看免费完整版高清 | 正阳门下36集全免费| 壮志凌云1(法国)满天星法版免费完整| 最新沙宣发型| 扫黑风暴电影免费观看| 深田咏美在线播放| 冢本战争电影免费观看| 将军夫人:战神夫君超护短短剧全集| 张艺兴诉b站侵权案将开庭| 海天雄鹰电视剧在线播放| 《瓜达卢佩的玫瑰》在线播放免费墨 | 空姐电视剧韩国| 我妻子的妈妈双字ID免费| 电视剧 追踪| 妻子的秘密中字| 第十放映室恭贺2012| 九阴真经电视剧| 桃色凶器在线观看器| 王牌逗王牌免费观看国语完整版 | 美容院:待遇服务5hd| 邪恶帝国的兴起| 三年成全在线观看| 和部长一起出差的日本电影| 快乐的小鸡电影完整版免费| 侃爷以为HK是香港结果是海口| 《白蛇:浮生》正片免费观看| 爸爸是女儿在线观看韩国电影| 麦乐迪和继父演的电影是什么| 国民党十大元帅| 陆真传奇全集| 《莫莉特别的酒店》电影在线观看| 红天机 电视剧| 银河奥特曼免费观看完整版中文版 | 泰安华通集团最近消息| 被义子糟蹋| 免费网络电视| 电视剧女人泪| 权力的游戏第一季未删减| 大头儿子和小头爸爸全集| 修车艳遇在线观看| 是偶然吗?电视剧| 风风风观看未删减版| 口头禅的意思| 售楼小姐的密秘电影完整版在线播放 | 胜女的代价优酷| 电视剧王小麦进城| 女版捉鬼敢死队法国空姐| 周家日常1v2林楠| 因为爱情有| 解放海南岛全集免费完整版 | 怪兽之王| 王保长新篇电视剧| 恐龙战队第四季| 新金银悔6-10集的播出时间和角色| 《隔壁放荡人妻BD高清》在线| 喜羊羊与灰太狼第一季| 新奥特曼电影2022年在线观看| 美国1985g点原版| 《法国空乘11》伦理HD| 斗罗大陆电视剧免费全集观看| 庆余年讲的什么故事| 去有风电视剧免费观看高清| 麦乐迪与父亲经典片段| 巾帼枭雄之谍血长天| 中国百强名镇| 李丽莎无圣光原图| 买房子的女销售电影| 2对1:三人一次体检电视剧| 玛德琳斯托大r度| 向涟苍生献上纯洁动漫完整版| 没有工作的一年| 小早川伶子电影| 不戴套交换系列17部分吴琴| 致命对决 电影| 故乡别来无恙在线观看| 1995版《泰山和珍妮》在线观看| 三毛流浪记续集| 李丽珍主演的电影免费观看国语| 聊斋之流光情劫完整在线观看| 中岛知子| 刚结婚陪部长出差在线观看| 电视剧软弱全集免费观看| 挚爱游戏樊治欣全集免费观看| 那金花和她的女婿| 维修工人的培训电影| XL司令在线观看完整版动漫 | 美国修车艳遇电影在线观看| 来了!张宝利| 擦皮鞋dj洋洋歌词| 光剑变装14分16秒百度云| 妙手房术欧洲版谁演的| 《无憾》完整版免费观看| 火蓝刀锋 电视剧| 魔女游戏国语| 战狼9电影| 白峰电影高清在线观看| 忠奸人电影| 韩剧初恋| 好想好想和你在一起| 恭喜发财短剧免费观看| 天海翼女教师电影| 为了奥运会巴黎地铁椅子终于洗了| 电影偶遇| 阿姨大小姐| 禁忌5| 女律师替夫还债电影在哪看| 校园法官越南剧免费观看| 无彩限的怪灵世界| 大唐诡异录| 牙医姐妹免费观看| 巜人妻初次按摩2视频| 假期历险记| 风语者高清| 新加坡国花| 战狼9欧式少女免费播放在线观看视频下载 | 几度菊花香| 伦理《法国护士长》在线观看| 创圣的大天使logos| 金瓶梅完整版百度影音| 家庭教师视频下载| 人民的正义| 女超人法国版无删减版| 欢乐颂5在线观看免费完整版| 乡间小路简谱| 《爱情人偶》| 赛文21奥特曼全集| 急诊护士完整版在线观看| 十大奇冤电视剧| 方世玉在线观看| 正在播放白峰| 青春梦工场粤语| 坏哥哥集百万部电影| 缘之空1| 女版战狼10什么时候上映 | 快乐的大人| 《二对一的商务模式2》| melody和爸爸的电影| 无我原非你| 世界尽头的爱电影完整版免费观看| 日和 中文配音| 星克莱尔《X迷宫》播放| 爱我几何电影完整版免费| 尤雅歌曲| 快乐elife| 花田喜事2010下载| 台湾师生恋《补课》电影是什么电影| XL司令印度| 痴心劫免费观看电影完整版 | 欧美黑白配在线免费观看| 大地中文在线观看免费高清电视剧| 诱人的岳母| 酒店1-100集全集| 一边亲一边下奶免费视频| 生化危机:惩罚| 极乐宝鉴电影免费观看在线播放中文| 秦香莲电视剧全集| 美丽的蜜桃5| 大姨姐的滋味| 射雕英雄传94版粤语| 小东西逃跑是要受到惩罚的| 外来妹电视剧免费播放在线观看| 黑白配1080p国语版| 电影《孽缘情迷》在线观看| 芭比美人鱼历险记| 完美人生电影免费观看完整版| 高清原以为大家不以貌取人| k8s经典版(老经典版)全集免费 | 塞伦意大利1997地爆天星| 我的拿手好戏一一吃屎| 绝世龙尊短剧免费看| 高清《满意度》电影完整版免费观看| 水电工的艳遇| 《莫莉特别的酒店》电影在线观看 | 美人心计第二部| 樱兰男公关部| 劝君王饮酒听虞歌| 南宁护士门迅雷下载| 6680影院在线观看免费播放电视剧性感演算法 | 百慕大三角 美剧| 女战狼6国语高清免费看| 最高爱人诏日剧免费观看| 星辰影院免费观看完整版电影狂飙| 婚姻保卫战1| 朱茵电影制服的绣感| 盛唐风流电影完整版播放时间| 漂亮妈妈7字头| 恶女花魁快播| 向涟苍士献上纯洁未增删樱花| 野花在线观看视频免费| 斗破苍穹176免费播放| 坎贝奇三部曲去哪里找在线观看| 速度与激情2高清版| 如果还有明天电视剧| 高清《妻子的新世界》电视剧 | 正在播放: CJOD-348 乳头冰巨乳零食妈妈厚直到早上无与伦比的客户服务中出事 | 莫莉3特别酒店免费| 韩剧妈妈发怒了| 恋爱时代豆瓣| 山村机缘:下乡弃少短剧全集| 美容院的特殊待遇| 动感之星小玲在线观看全集| 为争一口气短剧在线观看| 七夜雪电视剧在线观看完整版免费| 料理情人梦全集| 南靖县| 《需要爸爸播种美国》意大利演员名 | 电影洛丽塔| 跨国阴谋| 姐妹牙医电影在线完整版观看中文字幕| WRITEAS粗壮| 潜龙出渊短剧全集免费| 今天的侦探| 美女脱衣麻将| 美国禁忌结局- 5芭芭拉| 《水电工人的艳遇》免费| 男女一起愁愁愁视频| 《除却巫山》海外版| 八子电影| 异形2电影| 悬崖绝壁| 电视剧战北平| 《熟睡被义子侵犯电影高清| 电视剧苦咖啡| 午夜特快| 祈祷爱情电视剧| 销售的销售秘密2HD中字国| 公交车轮交流啊出来了视频| 不再沉默西班牙电视剧在线观看 | 俘虏之锁第二季免费看全集| 刀郎演唱会为何引网友期待| 魔鬼天使在线观看| 男女一起愁愁愁高清全集下载| 漂亮的小姨免费观看| 惜花芷电视剧免费看| 《隐身的名字》| 花样美男国语版全集| 猎罪图鉴1免费看完整版| 与讨厌的部长一起去出差旅电影| 《花开半夏》电视剧| 战狼行动| 狂暴巨兽2巨型昆虫| 我国实行周末双休制还不足30年| 秋瓷炫《生死决断》播放| 电影双女任务在线观看| 风筝电视剧| 戴洛奇小镇 第二季全集观看 | 民警抓嫌犯时遭车重压身亡| 冢本在线播放| 瓜达卢佩的玫瑰hd| 饮食男女| 北上电视剧在线观看全集免费播放 | 男人女人一起愁愁愁电视剧免费不打马塞克| 蜂巢电视剧哪个平台播放| 张鲁一失踪| 天狱飞龙| 东京食种第一季免费观看| 坎贝奇《无憾》免费下载| 台湾版《棘手狂情》电影在线免费观看| 电影平果| 肉蒲团在线看| 《干柴烈火》| 宫我的野蛮王妃小说| 中字HD丈夫的下属的背景资料| 曰本战狼六免费国语板| 一帘幽梦之浴火凤凰| 美国共和党领袖:已经炒了佩洛西| 百万人推理| 盟约2023战争片在线观看| 中文字Dl幕岳 和女胥婷婷综合| 四个少妇去按摩在线观看| 高斯奥特曼国语版| 花的勇气ppt| 《半妖倾城》| 天下第一楼全集免费播放在线观看 | 高清新选组镇魂歌 江户青春篇| 白蛇传说之法海| 夏家三千金68| 特殊的美容院5待遇| 义姐是不是良女动漫全集| 长河落日电视剧全集| 黄贯中我终于失去了你| 壹周立波秀2013集全集高清| 王曼昱简介| 社长夫人还债电影免费观看| 《美丽小蜜蜂10姐姐叫》中文字幕高清完整版免费在线观看-八戒影视 | 中国电影免费高清观看| 冬暖花会开| 一个巴掌赔偿100万| 麦乐迪女超人在线观看完整免费高清原声满天星百度网盘 | 聊斋在线观看免费全集| 绝地枪王电视剧| 亲吻姐姐02| 跟部长出差的日子| 最亲爱的你电视剧| 台军演练机场被炸瘫痪| 一片冰心在玉壶电视剧| 女超人麦乐迪未删减版| 探吃的猫女完整版| 电视剧《父与子》| 爱国让你想起什么| 神机妙算刘伯温第七单元| 高清《致命的艳遇》电影| 爱唯侦探DVD| 大牛影库战狼6中文字幕下载| 九五之尊电视剧粤语| 爱上他的漂亮妈妈| 人乳喂奶的电影| 李月华15部电影大全| 和讨厌的部长出差旅| A片按摩师未删减在线看| 巜公妇之诱感肉欲HD在线播放| 电影网站在线| 《逃犯》高清完整版| 掩耳盗邻 第二季| 商务老板旅行戴的帽子电影在线观看 | 吻到心伤透| 云霓之望 泰剧中字| 美国伦理《生殖按摩》电影| 《酒店激战》免费观看中文版 | 机械女仆| 莺长女儿全集在线看| 美式禁忌3| 秋雪漫过的冬天| 青春梦工场粤语| 黄昏恋电影| 孤舟电视剧40集免费观看| 九七电影网| oberfiower第一季免费看线观看 | 陈翔六点半之疯狂代号| 电视剧珠光宝气| 功夫小蝇| 《妻子的闺蜜》大结局| 蒋玲玲版渔夫的荒野史记蒋玲玲的一| 美国爸爸需要播种电影在线观看| 女刑警2肉体完整版色吗| 男生和女生一起愁愁愁免费观看全集高清完整版电视剧 | 黑暗荣耀第二季在线观看| 睡衣小英雄| 李毅唐雪| 美景之屋6官方正版| 电视剧私藏浪漫| 喵星人电影免费版普通话在线观看| 抽曲的痛免费观看完整版| 撒贝宁原名叫啥| 《溺爱关系》动漫| 重生之爱泰剧| 年轻丰满的继牳3伦A片201| 新电视剧推荐| 银魂212| 铁石心肠泰语版电视剧| 妻子的谎言电视剧全集| 琅琊榜之风起长林电视剧| 锵锵锵锵游戏免费完整观看视频| 二十一世纪指南在线| 一出好戏电影完整版免费观看| 重返猛鬼屋| 隐秘的真相| 好运全集观看| 插曲的痛30集全集免费播放完整剧情| 继拇再也忍不住了HD | 六月的日记| 韩国电影教室爱欲| 法国空乘伦理4| 禁忌4年转一代中文字母| 独狼高清| 鬼叫春之津津有味| 斗破苍穹缘起免费播放| 星空在线观看免费| 金瓶双梅之鸳鸯戏床| 三年大片大全免费观看国语| 《温度爱情》免费资源下载| 行尸走肉第六季在线观看| 致命打击| 旧版封神榜| 囧探佳人下载| 正者无敌电视剧| 奸魔| 啄木鸟《劳拉的遗产》叫什么| 密室大逃脱第六季免费| 我女友的妈妈| 仁心解码第一部粤语| 橄榄球的电影| o娘的故事电影免费观看策驰影院 寒夜尽处是卿心电视剧全集免费观看 | 义姐是不是良喂养樱花第2集| 山炮进城| 网络情缘原唱| 织金县| 法律事务论文| 黑拳粤语| xl司令在线观看全集免费| 《法国空乘8》观看| 灵域 电视剧| 粉碎机未删减| 藏不住偷偷喜欢你电视剧| 301勇士| 一生的承诺印度|