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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Java学习实战教程之mysql优化

發布時間:2023/12/20 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java学习实战教程之mysql优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • mysql引擎
    1.1. 引擎類型
    MySQL常用的存儲引擎為MyISAM、InnoDB、MEMORY、MERGE,其中InnoDB提供事務安全表,其他存儲引擎都是非事務安全表。
    MyISAM是MySQL的默認存儲引擎。MyISAM不支持事務、也不支持外鍵,但其訪問速度快,對事務完整性沒有要求。
    innoDB存儲引擎提供了具有提交、回滾和崩潰恢復能力的事務安全。但是比起MyISAM存儲引擎,InnoDB寫的處理效率差一些并且會占用更多的磁盤空間以保留數據和索引
    MEMORY存儲引擎使用存在內存中的內容來創建表。每個MEMORY表只實際對應一個磁盤文件。MEMORY類型的表訪問非常得快,因為它的數據是放在內存中的,并且默認使用HASH索引。但是一旦服務關閉,表中的數據就會丟失掉。
    MERGE存儲引擎是一組MyISAM表的組合,這些MyISAM表必須結構完全相同。MERGE表本身沒有數據,對MERGE類型的表進行查詢、更新、刪除的操作,就是對內部的MyISAM表進行的。
    1.2. 如何選擇合適的存儲引擎
    選擇標準: 根據應用特點選擇合適的存儲引擎,對于復雜的應用系統可以根據實際情況選擇
    多種存儲引擎進行組合.
    下面是常用存儲引擎的適用環境:
    1.MyISAM:默認的 MySQL 插件式存儲引擎,它是在 Web、數據倉儲和其他應用環境下最常使用的存儲引擎之一
    2.InnoDB:用于事務處理應用程序,具有眾多特性,包括 ACID 事務支持。
    3.Memory:將所有數據保存在 RAM 中,在需要快速查找引用和其他類似數據的環境下,可提供極快的訪問。
    4.Merge:允許 MySQL DBA 或開發人員將一系列等同的 MyISAM 表以邏輯方式組合在一起,
    并作為 1 個對象引用它們。對于諸如數據倉儲等 VLDB 環境十分適合
  • 設置高速緩存
    注:可以通過order by語句測試緩存,order by語句執行速度慢!
    2.1. 設置高速緩存
    2.1.1. 查看高速緩存是否支持
    SHOW VARIABLES LIKE ‘have_query_cache’;
    2.1.2. 設置和查詢高速緩存大小
    SET GLOBAL query_cache_size = 41984; #40K
    SHOW VARIABLES LIKE ‘query_cache_size’;
    ±-----------------±------+
    | Variable_name | Value |
    ±-----------------±------+
    | query_cache_size | 41984 |
    ±-----------------±------+
    2.1.3. 緩存開啟的方式
    查看是否開啟
    SHOW VARIABLES LIKE ‘query_cache_type’;
    開啟
    SET SESSION query_cache_type = ON;
  • 如果查詢緩存大小設置為大于0,query_cache_type變量影響其工作方式。這個變量可以設置為下面的值:
    0或OFF:將阻止緩存或查詢緩存結果。
    1或ON:將允許緩存,以SELECT SQL_NO_CACHE開始的查詢語句除外。
    2或DEMAND:僅對以SELECT SQL_CACHE開始的那些查詢語句啟用緩存。

    另外:
    GLOBAL:設置所有鏈接的客戶端
    session:設置單個客戶端
    2.1.4. 設置緩存結果的最大值最小值
    如果不設置緩存的上線下線,查詢結果過大將不會緩存。
    查詢上線:
    SHOW VARIABLES LIKE ‘query_cache_limit’;
    設置上下線:
    SET GLOBAL query_cache_limit=10485760; #10M
    SET GLOBAL query_cache_min_res_unit=41984;
    2.1.5. 查詢高速緩沖狀態和維護
    可以使用下面的語句檢查MySQL服務器是否提供查詢緩存功能:
    SHOW VARIABLES LIKE ‘have_query_cache’;
    ±-----------------±------+
    | Variable_name | Value |
    ±-----------------±------+
    | have_query_cache | YES |
    ±-----------------±------+
    FLUSH QUERY CACHE:語句來清理查詢緩存碎片以提高內存使用性能。該語句不從緩存中移出任何查詢。
    RESET QUERY CACHE:語句從查詢緩存中移出所有查詢。FLUSH TABLES語句也執行同樣的工作。
    SHOW STATUS:為了監視查詢緩存性能,使用SHOW STATUS查看緩存狀態變量,例如:
    mysql> SHOW STATUS LIKE ‘Qcache%’;
    ±------------------------±-------+
    | Qcache_free_blocks | 36 |
    | Qcache_free_memory | 138488 |
    | Qcache_hits | 79570 |
    | Qcache_inserts | 27087 |
    | Qcache_lowmem_prunes | 3114 |
    | Qcache_not_cached | 22989 |
    | Qcache_queries_in_cache | 415 |
    | Qcache_total_blocks | 912 |
    ±------------------------±-------+
    QCACHE_free_blocks:空閑內存塊的數量。
    QCACHE_free_memory:空閑內存的大小。
    QCACHE_hits:查詢緩存被訪問的次數(命中數)。
    QCACHE_inserts:加入到緩存的查詢數量。
    QCACHE_lowmem_prunes:由于內存較少從緩存刪除的查詢數量。
    QCACHE_not_cached:非緩存查詢數(不可緩存,或由于query_cache_type設定值未緩存)。
    Qcache_queries_in_cache:登記到緩存內的查詢的數量。
    Qcache_total_blocks:查詢緩存內的總塊數。
    2.2. 高速緩存語句要求
    下面的兩個查詢被查詢緩存認為是不相同的:
    SELECT * FROM tbl_name
    Select * from tbl_name
    查詢必須是完全相同的(逐字節相同)才能夠被認為是相同的。
    2.3. 不緩存的語句
    如果一個查詢包含下面函數中的任何一個,它不會被緩存:
    BENCHMARK()
    CONNECTION_ID()
    CURDATE()
    CURRENT_DATE()
    CURRENT_TIME()
    CURRENT_TIMESTAMP()
    CURTIME()
    DATABASE()
    帶一個參數的ENCRYPT()
    FOUND_ROWS()
    GET_LOCK()
    LAST_INSERT_ID()
    LOAD_FILE()
    MASTER_POS_WAIT()
    NOW()
    RAND()
    RELEASE_LOCK()
    SYSDATE()
    不帶參數的UNIX_TIMESTAMP()
    USER()
    3. EXPLAIN執行計劃
    3.1. 簡介
    使用 EXPLAIN 關鍵字可以讓你知道MySQL是如何處理你的SQL語句的。這可以幫你分析你的查詢語句或是表結構的性能瓶頸。
    EXPLAIN 的查詢結果還會告訴你你的索引主鍵被如何利用的,你的數據表是如何被搜索和排序的……等等,等等。
    挑一個你的SELECT語句(推薦挑選那個最復雜的,有多表聯接的),把關鍵字EXPLAIN加到前面。
    EXPLAIN
    SELECT * FROM userinfo u INNER JOIN jobinfo j ON u.jobinfoId=j.id;
    查看執行計劃:
    參數解釋:
    id:查詢的序號
    select_type:select類型,simple表示簡單的查詢
    table:引用的表
    type:鏈接類型,all表示全表掃描,沒有使用索引。
    possible_keys:查詢時可以使用的索引
    key:查詢時正在使用的索引
    key_len:索引的長度
    rows:查詢的行數,乘積即為笛卡爾積
    Extra:該列包含MySQL解決查詢的詳細信息。

    3.1.1. 參數詳解
    id:這是SELECT的查詢序列號。
    select_type:SELECT類型,可以為以下任何一種:
    SIMPLE:簡單SELECT(不使用UNION或子查詢)
    PRIMARY:最外面的SELECT
    UNION:UNION中的第二個或后面的SELECT語句
    DEPENDENT UNION:UNION中的第二個或后面的SELECT語句,取決于外面的查詢
    UNION RESULT:UNION的結果。
    SUBQUERY:子查詢中的第一個SELECT
    DEPENDENT SUBQUERY:子查詢中的第一個SELECT,取決于外面的查詢
    DERIVED:導出表的SELECT(FROM子句的子查詢)
    table:輸出的行所引用的表。
    type:聯接類型。下面給出各種聯接類型,按照從最佳類型到最壞類型進行排序:
    system表僅有一行(=系統表)。
    const表最多有一個匹配行,它將在查詢開始時被讀取。
    eq_ref比較的時候,“=”前后的變量都加了索引。
    ref:前面的表加了索引。
    index:該聯接類型與ALL相同,只是索引樹被掃描。
    ALL:全表掃描。
    possible_keys:possible_keys列指出MySQL能使用哪個索引在該表中找到行。
    如果該列是NULL,則沒有相關的索引。在這種情況下,可以通過檢查WHERE子句看是否它引用某些列或適合索引的列來提高你的查詢性能。
    key:顯示MySQL實際決定使用的索引。如果沒有選擇索引,鍵是NULL。
    key_len:顯示MySQL決定使用的索引長度。如果索引是NULL,則長度為NULL。
    ref:顯示使用哪個列或常數與key一起從表中選擇行。
    rows:顯示MySQL認為它執行查詢時必須檢查的行數。
    Extra:該列包含MySQL解決查詢的詳細信息。下面解釋了該列可以顯示的不同的文本字符串:
    Distinct:MySQL發現第1個匹配行后,停止為當前的行組合搜索更多的行。
    Not exists:MySQL能夠對查詢進行LEFT JOIN優化,發現1個匹配LEFT JOIN標準的行后,不再為前面的的行組合在該表內檢查更多的行。
    range checked for each record (index map: #):MySQL沒有發現好的可以使用的索引,但發現如果來自前面的表的列值已知,可能部分索引可以使用。對前面的表的每個行組合,MySQL檢查是否可以使用range或index_merge訪問方法來索取行。
    Using filesort:MySQL需要額外的一次傳遞,以找出如何按排序順序檢索行。通過根據聯接類型瀏覽所有行并為所有匹配WHERE子句的行保存排序關鍵字和行的指針來完成排序。然后關鍵字被排序,并按排序順序檢索行
    Using index:從只使用索引樹中的信息而不需要進一步搜索讀取實際的行來檢索表中的列信息。當查詢只使用作為單一索引一部分的列時,可以使用該策略。
    Using temporary:為了解決查詢,MySQL需要創建一個臨時表來容納結果。典型情況如查詢包含可以按不同情況列出列的GROUP BY和ORDER BY子句時。
    Using where:WHERE子句用于限制哪一個行匹配下一個表或發送到客戶。除非你專門從表中索取或檢查所有行,如果Extra值不為Using where并且表聯接類型為ALL或index,查詢可能會有一些錯誤。
    Using sort_union(…), Using union(…), Using intersect(…):這些函數說明如何為index_merge聯接類型合并索引掃描。
    3.2. 優化方案
    3.2.1. 查看匹配的列類型和長度是否相同
    查看兩張表鏈接的列的類型和長度是否相同,不同改為相同
    ALTER TABLE 表名 MODIFY 列名 BIGINT(20);
    3.3. 為相關聯的列設置索引
    查看索引:
    SHOW INDEX FROM tbl_name;
    創建索引:
    ALTER TABLE 表名 ADD INDEX 索引名 (索引列) ;
    刪除索引:
    drop index 索引名 on 表名;
    顯示使用索引:
    USE INDEX
    在你查詢語句中表名的后面,添加 USE INDEX 來提供你希望 MySQ 去參考的索引列
    表,就可以讓 MySQL 不再考慮其他可用的索引。
    Eg:SELECT * FROM mytable USE INDEX (mod_time, name) …
    IGNORE INDEX
    如果你只是單純的想讓 MySQL 忽略一個或者多個索引,可以使用 IGNORE INDEX 作
    為 Hint。
    Eg:SELECT * FROM mytale IGNORE INDEX (priority) …
    FORCE INDEX
    為強制 MySQL 使用一個特定的索引,可在查詢中使用 FORCE INDEX 作為 Hint。
    Eg:SELECT * FROM mytable FORCE INDEX (mod_time) …

    3.4. 不使用索引的情況
    下列情況下,Mysql 不會使用已有的索引:
    1.如果 mysql 估計使用索引比全表掃描更慢,則不使用索引。例如:如果 key_part1
    均勻分布在 1 和 100 之間,下列查詢中使用索引就不是很好:
    SELECT * FROM table_name where key_part1 > 1 and key_part1 < 90
    2.如果使用內存表并且 where 條件中不用=索引列,其他> 、<、 >=、 <=均不使用
    索引;
    3.如果 like 是以%開始;
    4.對 where 后邊條件為字符串的一定要加引號,字符串如果為數字 mysql 會自動轉為
    字符串,但是不使用索引。
    3.5. 查看索引使用情況
    語法:
    mysql> show status like ‘Handler_read%’;
    如果索引正在工作,Handler_read_key 的值將很高,這個值代表了一個行被索引值讀的次數, 很低的值表明增加索引得到的性能改善不高, 因為索引并不經常使用 。
    Handler_read_rnd_next 的值高則意味著查詢運行低效,并且應該建立索引補救。這個值的含義是在數據文件中讀下一行的請求數。如果你正進行大量的表掃描,
    該值較高。通常說明表索引不正確或寫入的查詢沒有利用索引。
    4. 其他優化
    4.1. 當只要一行數據時使用 LIMIT 1
    當你查詢表的有些時候,你已經知道結果只會有一條結果,但因為你也許會去檢查返回的記錄數。在這種情況下,加上 LIMIT 1 可以增加性能。這樣一來,MySQL數據庫引擎會在找到一條數據后停止搜索,而不是繼續往后查少下一條符合記錄的數據。
    例如:
    如果你想在登陸時驗證用戶名密碼是否存在,你可以這樣寫
    SELECT 1 FROM jobinfo WHERE NAME =‘zhangsan’ AND PASSWORD = ‘1234’ LIMIT 1;
    而不是
    SELECT * FROM jobinfo WHERE NAME =‘zhangsan’ AND PASSWORD = ‘1234’;
    4.2. 為搜索字段建索引
    索引并不一定就是給主鍵或是唯一的字段。如果在你的表中,有某個字段你總要會經常用來做搜索,那么,請為其建立索引吧。
    4.3. 避免 SELECT *
    從數據庫里讀出越多的數據,那么查詢就會變得越慢。并且,如果你的數據庫服務器和WEB服務器是兩臺獨立的服務器的話,這還會增加網絡傳輸的負載。
    4.4. 永遠為每張表設置一個ID
    我們應該為數據庫里的每張表都設置一個ID做為其主鍵,而且最好的是一個INT型的,并設置上自動增加的AUTO_INCREMENT標志。
    就算是你 users 表有一個主鍵叫 “email”的字段,你也別讓它成為主鍵。使用 VARCHAR 類型來當主鍵會使用得性能下降。另外,在你的程序中,你應該使用表的ID來構造你的數據結構。
    而且,在MySQL數據引擎下,還有一些操作需要使用主鍵,在這些情況下,主鍵的性能和設置變得非常重要,比如,集群,分區……
    4.5. 盡可能的使用 NOT NULL
    除非你有一個很特別的原因去使用 NULL 值,你應該總是讓你的字段保持 NOT NULL。
    首先,問問你自己“Empty”和“NULL”有多大的區別(如果是INT,那就是0和NULL)?如果你覺得它們之間沒有什么區別,那么你就不要使用NULL。

    不要以為 NULL 不需要空間,其需要額外的空間,并且,在你進行比較的時候,你的程序會更復雜。
    4.6. Prepared Statements
    Prepared Statements很像存儲過程,是一種運行在后臺的SQL語句集合,我們可以從使用 prepared statements 獲得很多好處,無論是性能問題還是安全問題。
    Prepared Statements 可以檢查一些你綁定好的變量,這樣可以保護你的程序不會受到“SQL注入式”攻擊。當然,你也可以手動地檢查你的這些變量,然而,手動的檢查容易出問題, 而且很經常會被程序員忘了。
    在性能方面,當一個相同的查詢被使用多次的時候,這會為你帶來可觀的性能優勢。你可以給這些Prepared Statements定義一些參數,而MySQL只會解析一次。
    4.7. 把IP地址存成 INT
    很多程序員都會創建一個 VARCHAR(15) 字段來存放字符串形式的IP而不是整形的IP。如果你用整形來存放,只需要4個字節,并且你可以有定長的字段。而且,這會為你帶來查詢上的優勢,尤其是當 你需要使用這樣的WHERE條件:IP between ip1 and ip2。
    我們必需要使用NT,因為 IP地址會使用整個32位的無符號整形。
    而你的查詢,你可以使用 INET_ATON() 來把一個字符串IP轉成一個整形,并使用 INET_NTOA() 把一個整形轉成一個字符串IP。
    SELECT INET_ATON(‘192.168.0.1’) FROM jobinfo;
    SELECT INET_NTOA(3232235521) FROM jobinfo;
    4.8. 固定長度的表會更快
    如果表中的所有字段都是“固定長度”的,整個表會被認為是 “static” 或 “fixed-length”。 例如,表中沒有如下類型的字段: VARCHAR,TEXT,BLOB。
    只要你包括了其中一個這些字段,那么這個表就不是“固定長度靜態表”了,這樣,MySQL 引擎會用另一種方法來處理。
    固定長度的表會提高性能,因為MySQL搜尋得會更快一些,因為這些固定的長度是很容易計算下一個數據的偏移量的,所以讀取的自然也會很快。而如果字段不是定長的,那么,每一次要找下一條的話,需要程序找到主鍵。
    并且,固定長度的表也更容易被緩存和重建。不過,唯一的副作用是,固定長度的字段會浪費一些空間,因為定長的字段無論你用不用,他都是要分配那么多的空間。
    4.9. 垂直分割
    “垂直分割”是一種把數據庫中的表按列變成幾張表的方法,這樣可以降低表的復雜度和字段的數目,從而達到優化的目的。
    示例一:在Users表中有一個字段是家庭地址,這個字段是可選字段,相比起,而且你在數據庫操作的時候除了個 人信息外,你并不需要經常讀取或是改寫這個字段。那么,為什么不把他放到另外一張表中呢? 這樣會讓你的表有更好的性能,大多的時候,我對于用戶表來說,只有用戶ID,用戶名,口令,用戶角色等會被經常使用。小一點的表總是會有好的性能。
    示例二: 你有一個叫 “last_login” 的字段,它會在每次用戶登錄時被更新。但是,每次更新時會導致該表的查詢緩存被清空。所以,你可以把這個字段放到另一個表中,這樣就不會影響你對用戶ID,用戶名,用戶角色的不停地讀取了,因為查詢緩存會幫你增加很多性能。
    另外,你需要注意的是,這些被分出去的字段所形成的表,你不會經常性地去Join他們,不然的話,這樣的性能會比不分割時還要差,而且,會是極數級的下降。
    4.10. 拆分大的 DELETE 或 INSERT 語句
    如果你需要在一個在線的網站上去執行一個大的 DELETE 或 INSERT 查詢,你需要非常小心,要避免你的操作讓你的整個網站停止響應。因為這兩個操作是會鎖表的,表一鎖住了,別的操作都進不來了。
    Apache 會有很多的子進程或線程。所以,其工作起來相當有效率,而我們的服務器也不希望有太多的子進程,線程和數據庫鏈接,這是極大的占服務器資源的事情,尤其是內存。
    如果你把你的表鎖上一段時間,比如30秒鐘,那么對于一個有很高訪問量的站點來說,這30秒所積累的訪問進程/線程,數據庫鏈接,打開的文件數,可能不僅僅會讓你導致WEB服務Crash,還可能會讓你的整臺服務器馬上掛了。

    所以,如果你有一個大的處理,你定你一定把其拆分,使用 LIMIT 條件是一個好的方法。下面是一個示例:

    while (1) {
    //每次只做1000條
    “DELETE FROM logs WHERE log_date <= ‘2009-11-01’ LIMIT 1000”;
    if (select 1 FROM logs WHERE log_date <= ‘2009-11-01’ LIMIT 1==0) {
    // 沒得可刪了,退出!
    break;
    }
    // 每次都要休息一會兒
    usleep(50000);
    }
    4.11. 選擇正確的存儲引擎
    在 MySQL 中有多個存儲引擎 MyISAM 和 InnoDB等,每個引擎都有利有弊。
    MyISAM 適合于一些需要大量查詢的應用,但其對于有大量寫操作并不是很好。甚至你只是需要update一個字段,整個表都會被鎖起來,而別的進程,就算是讀進程都 無法操作直到讀操作完成。另外,MyISAM 對于 SELECT COUNT(*) 這類的計算是超快無比的。
    InnoDB 的趨勢會是一個非常復雜的存儲引擎,對于一些小的應用,它會比 MyISAM 還慢。他是它支持“行鎖” ,于是在寫操作比較多的時候,會更優秀。并且,他還支持更多的高級應用,比如:事務。
    4.12. 越小的列會越快
    對于大多數的數據庫引擎來說,硬盤操作可能是最重大的瓶頸。所以,把你的數據變得緊湊會對這種情況非常有幫助,因為這減少了對硬盤的訪問。
    如果一個表只會有幾列罷了(比如說字典表,配置表),那么,我們就沒有理由使用 INT 來做主鍵,使用 SMALLINT 或是更小的 TINYINT 會更經濟一些。
    4.13. 使用 ENUM 而不是 VARCHAR
    ENUM 類型是非常快和緊湊的。在實際上,其保存的是 TINYINT,但其外表上顯示為字符串。這樣一來,用這個字段來做一些選項列表變得相當的完美。
    如果你有一個字段,比如“性別”,“國家”,“民族”,“狀態”或“部門”,你知道這些字段的取值是有限而且固定的,那么,你應該使用 ENUM 而不是 VARCHAR。
    MySQL也有一個“建議”告訴你怎么去重新組織你的表結構。當你有一個 VARCHAR 字段時,這個建議會告訴你把其改成 ENUM 類型。使用 PROCEDURE ANALYSE() 你可以得到相關的建議。
    4.14. 從 PROCEDURE ANALYSE() 取得建議
    語法:SELECT * FROM student LIMIT 1,1 PROCEDURE ANALYSE(1);
    PROCEDURE ANALYSE() 會讓 MySQL 幫你去分析你的字段和其實際的數據,并會給你一些有用的建議。只有表中有實際的數據,這些建議才會變得有用,因為要做一些大的決定是需要有數據作為基礎的。
    例如,如果你創建了一個 INT 字段作為你的主鍵,然而并沒有太多的數據,那么,PROCEDURE ANALYSE()會建議你把這個字段的類型改成 MEDIUMINT 。或是你使用了一個 VARCHAR 字段,因為數據不多,你可能會得到一個讓你把它改成 ENUM 的建議。這些建議,都是可能因為數據不夠多,所以決策做得就不夠準。
    一定要注意,這些只是建議,只有當你的表里的數據越來越多時,這些建議才會變得準確。
    4.15. SHOW STATUS的其他參數
    通過 SHOW STATUS可以提供服務器狀態信息,SHOW STATUS 可以根據需要顯示 session 級別的統計結果和 global級別的統計結果。
    以下幾個參數對 Myisam 和 Innodb 存儲引擎都計數:
    1.Com_select執行 select 操作的次數,一次查詢只累加 1;
    2.Com_insert 執行 insert 操作的次數,對于批量插入的 insert 操作,只累加一次;
    3.Com_update 執行 update 操作的次數;
    4.Com_delete執行 delete 操作的次數;
    以下幾個參數是針對 Innodb 存儲引擎計數的,累加的算法也略有不同:
    1.Innodb_rows_read 查詢返回的行數;
    2.Innodb_rows_inserted 執行 Insert 操作插入的行數;
    3.Innodb_rows_updated 執行 update 操作更新的行數;
    4.Innodb_rows_deleted執行 delete 操作刪除的行數;
    通過以上幾個參數, 可以很容易的了解當前數據庫的應用是以插入更新為主還是以查詢操作為主, 以及各種類型的 SQL 大致的執行比例是多少。 對于更新操作的計數 ,是對執行次數的計數,不論提交還是回滾都會累加。
    對于事務型的應用, 通過 Com_commit 和 Com_rollback 可以了解事務提交和回滾的情況,對于回滾操作非常頻繁的數據庫,可能意味著應用編寫存在問題。
    此外,以下幾個參數便于我們了解數據庫的基本情況:
    1.Connections 試圖連接 Mysql 服務器的次數
    2.Uptime服務器工作時間(秒)
    3.Slow_queries 慢查詢的次數
    4.16. 定位執行效率較低的 SQL 語句
    SHOW PROCESSLIST;
    命令的輸出結果顯示了有哪些線程在運行,可以幫助識別出有問題的查詢語句。
    如果有 SUPER 權限,則可以看到全部的線程,否則,只能看到自己發起的線程(這是指,當前對應的 MySQL 帳戶運行的線程)。
    得到數據形式如下(只截取了三 條):
    mysql> show processlist;
    ±----±------------±-------------------±------±--------±------±---------------------------------±---------
    | Id | User | Host | db | Command | Time| State | Info
    ±----±------------±-------------------±------±--------±------±---------------------------------±---------
    |207|root |192.168.0.20:51718 |mytest | Sleep | 5 | | NULL
    |208|root |192.168.0.20:51719 |mytest | Sleep | 5 | | NULL
    |220|root |192.168.0.20:51731 |mytest |Query |84 |Locked|
    select bookname,culture,value,type from book where id=001
    id , 不用說了吧,一個標識,你要 kill 一個語句的時候很有用。
    user 列, 顯示當前用戶,如果不是 root ,這個命令就只顯示你權限范圍內的 sql 語 句。 host 列,顯示這個語句是從哪個 ip 的哪個端口上發出的。可以用來追蹤出問題語句的用戶。
    db 列,顯示這個進程目前連接的是 哪個數據庫 。
    command 列,顯示當前連接的執行的命令,一般就是休眠( sleep ),查詢( query ),連接( connect )。
    time 列,此這個狀態持續的時間,單位是秒。
    state 列,顯示使用當前連接的 sql 語句的狀態,很重要的列,后續會有所有的狀態的描述,請注意, state 只是語句執行中的某一個狀態,一個 sql 語 句,已查詢為例,可能需要經過 copying to tmp table , Sorting result , Sending data 等狀態才可以完成
    info 列,顯示這個 sql 語 句,因為長度有限,所以長的 sql 語句就顯示不全,但是一個判斷問題語句的重要依據。
    這個命令中最關鍵的就是 state 列, mysql 列出的狀態主要有以下幾 種:
     Checking table 正在檢查數據表(這是自動的)。
     Closing tables 正在將表中修改的數據刷新到磁盤中,同時正在關閉已經用完的表。這是一個很快的操作,如果不是這樣的話,就應該確認磁盤空間是否已經滿了或者磁盤是否正處于重負中。
      Connect Out 復制從服務器正在連接主服務器。
      Copying to tmp table on disk 由于臨時結果集大 于 tmp_table_size ,正在將臨時表從內存存儲轉為磁盤存儲以此節省內存。
      Creating tmp table 正在創建臨時表以存放部分查詢結果。
      deleting from main table 服務器正在執行多表刪除中的第一部分,剛刪除第一個表。
      deleting from reference tables 服務器正在執行多表刪除中的第二部 分,正在刪除其他 表的記錄。
      Flushing tables 正在執行 FLUSH TABLES ,等待其他線程關閉數據表。
      Killed 發送了一個 kill 請 求給某線程,那么這個線程將會檢查 kill 標志位,同時會放棄下一個 kill 請 求。 MySQL 會在每次的主循環中檢查 kill 標 志位,不過有些情況下該線程可能會過一小段才能死掉。如果該線程程被其他線程鎖住了,那么 kill 請 求會在鎖釋放時馬上生效。
      Locked 被其他查詢鎖住了。
      Sending data 正在處理 SELECT 查詢的記錄,同時正在把結果發送給客戶端。
      Sorting for group 正在為 GROUP BY 做排序。
      Sorting for order 正在為 ORDER BY 做排序。
      Opening tables 這個過程應該會很快,除非受到其他因素的干擾。例如,在執 ALTER TABLE 或 LOCK TABLE 語句行完以前,數據表無法被其他線程打開。正嘗試打開一個表。
      Removing duplicates 正在執行一個 SELECT DISTINCT 方式的查詢,但是 MySQL 無 法在前一個階段優化掉那些重復的記錄。因此, MySQL 需要再次去掉重復的記錄,然后再 把結果發送給客戶端。
      Reopen table 獲得了對一個表的鎖,但是必須在表結構修改之后才能獲得這個鎖。已經釋放鎖,關閉數據表,正嘗試 重新打開數據表。
      Repair by sorting 修復指令正在排序以創建索引。
      Repair with keycache 修復指令正在利用索引緩存一個 一個地創建新索引。它會比 Repair by sorting 慢些。
      Searching rows for update 正在講符合條件的記錄找 出來以備更新。它必須在 UPDATE 要修改相關的記錄之前就完成了。
      Sleeping 正在等待客戶端發送新請求 .
      System lock 正在等待取得一個外部的系統鎖。如果當前沒有運行多個 mysqld 服務器同時請求同一個表,那么可以通過增加 --skip-external-locking 參數來禁止外部系統鎖。
      Upgrading lock  INSERT DELAYED 正在 嘗試取得一個鎖表以插入新記錄。
      Updating 正在搜索匹配的記錄,并且修改它們。
      User Lock 正在等待 GET_LOCK() 。
      Waiting for tables 該線程得到通知,數據表結構已經被修改了,需要重新打開數據表以取得新的結構。然后,為了能的重 新打開數據表,必須等到所有其他線程關閉這個表。以下幾種情況下會產生這個通知: FLUSH TABLES tbl_name, ALTER TABLE, RENAME TABLE, REPAIR TABLE, ANALYZE TABLE, 或 OPTIMIZE TABLE 。
      waiting for handler insert  INSERT DELAYED 已經處理完了所有待處理的插入操作,正在等待新的請求。
     大 部分狀態對應很快的操作,只要有一個線程保持同一個狀態好幾秒鐘,那么可能是有問題發生了,需要檢查一下。
     當MySQL繁忙的時候運行show processlist,會發現有很多行輸出,每行輸出對應一個MySQL連接。怎么診斷發起連接的進程是哪個?它當前正在干嘛呢?
    首先,需要通過TCP Socket而不是Unix Socket連接MySQL,這樣在show processlist的輸出中就會有來源端口號。如下,
    mysql> show processlist;
    +——–+——–+—————–+——+———+——+——-+——————+
    | Id | User | Host | db | Command | Time | State | Info |
    +——–+——–+—————–+——+———+——+——-+——————+
    | 277801 | mydbuser | localhost:35558 | mydb | Sleep | 1 | | NULL |
    | 277804 | mydbuser | localhost:35561 | mydb | Sleep | 1 | | NULL |
    | 277805 | mydbuser | localhost:35562 | mydb | Sleep | 0 | | NULL |
    +——–+——–+—————–+——+———+——+——-+——————+
    在Host列有來源IP和端口號,然后我們從連接機器查看端口號是誰打開的,
    [root@localhost ~]# netstat -ntp | grep 35558
    … 124.115.0.68:35558 ESTABLISHED 18783/httpd
    可知進程18783發起的MySQL連接來源端口是35558,然后就可以用strace觀察這個進程了。
    4.17. 優化 group by 語句
    默認情況下,MySQL 排序所有 GROUP BY col1,col2,…。
    查詢的方法如同在查詢中指定 ORDER BY col1,col2,…。
    如果顯式包括一個包含相同的列的 ORDER BY子句,MySQL 可以毫不減速地對它進行優化,盡管仍然進行排序。
    如果查詢包括 GROUP BY 但你想要避免排序結果的消耗,你可以指定 ORDER BY NULL
    禁止排序。
    例如:
    SELECT jobName FROM jobinfo GROUP BY jobName ORDER BY NULL;
    4.18. 優化 order by 語句
    1、order by 后的字段,如果要走索引,須與where 條件里的某字段建立復合索引!!或者說orcer by后的字段如果要走索引排序,它要么與where 條件里的字段建立復合索引【這里建立復合索引的時候,需要注意復合索引的列順序為(where字段,order by 字段),這樣才能滿足最左列原則,原因可能是order by字段并能算在where 查詢條件中!】,要么它自身要在where 條件里被引用到!
    2、表a
    id為普通字段,上面建有索引
    select * from a order by id (用不上索引)
    select id from a order by id (能用上索引)
    select * from a where id=XX order by id (能用上索引)
    意思是說order by 要避免使用文件系統排序,要么把order by的字段出現在select 后,要么使用order by字段出現在where 條件里,要么把order by字段與where 條件字段建立復合索引!

    總結

    以上是生活随笔為你收集整理的Java学习实战教程之mysql优化的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    中文字幕在线观看一区 | 欧美专区日韩专区 | 国产剧情一区二区 | 中文字幕色网站 | 国产亚洲精品美女久久 | 91久久精品一区二区三区 | 日韩精品一区二区在线 | 黄色av电影在线观看 | 99热99| 国产又黄又爽又猛视频日本 | 麻豆va一区二区三区久久浪 | 免费在线观看不卡av | 日韩精品一区二区三区高清免费 | 超碰在97 | 成人精品视频久久久久 | 天天爽夜夜爽精品视频婷婷 | 日日干干夜夜 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 久久男女视频 | 91中文字幕视频 | 欧美久久成人 | 亚洲精品在线观看中文字幕 | 国产精品国产亚洲精品看不卡15 | 日韩av电影网站在线观看 | 91亚洲综合| 国产欧美三级 | 在线影院中文字幕 | 免费看的黄色片 | 亚洲激情 欧美激情 | 免费国产在线精品 | 亚洲国产片 | 久久久亚洲麻豆日韩精品一区三区 | 狠狠色噜噜狠狠狠狠2022 | 日韩 在线a | 国产精品久久电影网 | 99精品免费久久久久久久久日本 | 色婷婷视频 | 成人动图 | 亚洲精品国产欧美在线观看 | aaa日本高清在线播放免费观看 | 国产精品永久免费 | 97超碰免费 | 狠狠干五月天 | 五月天综合激情网 | 国产剧情一区二区在线观看 | 成人毛片a | 久久激情片 | 久久国产精品99久久久久久丝袜 | 久久久久9999亚洲精品 | 婷婷久月| 色综合久久88色综合天天6 | 久亚洲| 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 国产专区视频在线 | 久久国产一区 | 综合久久综合久久 | 91人人爽久久涩噜噜噜 | 五月婷婷影院 | 久久久久久久国产精品视频 | 婷婷色视频 | 激情丁香综合五月 | 欧美在线91 | 超级av在线| 亚洲精品短视频 | 人人看人人 | 黄色app网站在线观看 | 亚洲欧洲国产精品 | 国产精品免费久久久久久 | 日本久热| 国产精品久久久久av | 夜夜骑日日 | 国产精品成人一区二区 | 91手机电影 | 亚洲人视频在线 | 日韩精品中文字幕一区二区 | 中文在线中文资源 | a级片久久| 91网站免费观看 | 在线观看91 | 99视频久 | 韩国一区二区av | www四虎影院 | 日韩高清在线一区二区 | 亚洲极色 | 亚洲精品观看 | 999热线在线观看 | 99久久精品免费看国产一区二区三区 | 国产美女精品人人做人人爽 | 中文字幕av一区二区三区四区 | 久草在线综合 | 69精品 | 久久三级视频 | 国产理论一区二区三区 | 最近日本韩国中文字幕 | 精品国产aⅴ麻豆 | 久久久污 | 日韩免费二区 | 久久久久久久毛片 | 日韩精品一区二区免费视频 | 日韩中字在线 | 一区三区视频 | 精品国产伦一区二区三区 | 亚洲国产视频a | 国产人在线成免费视频 | 久久久久久久久久久久久久av | 久久国产成人午夜av影院潦草 | 久久精品成人热国产成 | 欧美成人黄色片 | 午夜久久久久久久 | 中文字幕有码在线观看 | 色多多在线观看 | 又黄又爽又湿又无遮挡的在线视频 | 亚洲国产午夜 | 亚洲另类久久 | 久久国产热 | 久艹视频免费观看 | 天天色天天色 | 91精品国产麻豆 | 久久精品视频在线观看 | 一区二区三区国 | 久久有精品 | 中文视频在线播放 | 黄色av影院 | 久久精品男人的天堂 | 国产麻豆精品久久 | 久久久久久97三级 | 久久综合成人网 | 激情综合色综合久久 | 久久亚洲私人国产精品va | 天天爽天天做 | 中文字幕视频一区二区 | 欧美成年网站 | 久久久综合香蕉尹人综合网 | 亚洲国产中文字幕 | 在线观看视频三级 | 香蕉视频色 | 在线亚洲激情 | 成全免费观看视频 | 在线99| 国产人成看黄久久久久久久久 | 欧美成人999 | 免费a视频 | 国产一级视频在线免费观看 | 亚洲国产精品小视频 | 狠狠网亚洲精品 | 色婷婷福利 | 国产精品一区久久久久 | 国产一级片久久 | 999久久久精品视频 日韩高清www | 国产精品青草综合久久久久99 | 日日夜夜艹 | 1000部18岁以下禁看视频 | 国产美女在线精品免费观看 | 久久视频网址 | 天天拍天天色 | 天天色天天操综合网 | 欧美激情h | aa一级片 | 日韩精品一区二区免费 | 国产中文字幕第一页 | 日日草av| 深爱婷婷网 | 国产精品久久久久久久久毛片 | 国产精品久久久久久久久久了 | 992tv在线成人免费观看 | 欧美福利片在线观看 | 色综合国产 | 亚洲色图 校园春色 | 欧洲色综合 | 久久久精品国产一区二区三区 | 男女拍拍免费视频 | 99视频这里只有 | 中文字幕视频免费观看 | 玖草在线观看 | av日韩在线网站 | 久草在线中文视频 | 99精品国产兔费观看久久99 | 欧美成人精品欧美一级乱 | se婷婷| 欧美一级电影 | 成人丝袜 | 免费视频黄 | 亚洲 欧洲av | 在线观看av不卡 | 久久超级碰视频 | 国产精品永久久久久久久久久 | 国产精品综合在线 | 亚洲国产精品激情在线观看 | 国产成人久久av | 人人插人人艹 | 久久艹人人 | 伊人伊成久久人综合网站 | 中文字幕一区二区三区在线播放 | 久久久久久久久久影视 | 色综合小说| 久久综合99 | 美女黄色网在线播放 | 免费a网站| 人成在线免费视频 | 国产五月天婷婷 | 日韩欧美视频免费在线观看 | 亚洲国产中文字幕 | 久久经典国产 | 国产精品系列在线观看 | 在线看黄网站 | 黄色片网站大全 | 久久国产精品精品国产色婷婷 | 毛片基地黄久久久久久天堂 | 久久夜色网 | 97色在线观看免费视频 | 国产精品久久久久影院 | 中文字幕最新精品 | 国产美女被啪进深处喷白浆视频 | 在线日本看片免费人成视久网 | 91成人在线视频 | av色图天堂网 | 97精品国产97久久久久久免费 | 国产在线a免费观看 | 国产精品一区专区欧美日韩 | 国产精品午夜在线观看 | 99久久超碰中文字幕伊人 | 91欧美精品| 亚洲国产精品小视频 | 久久久精品久久日韩一区综合 | 久久人人爽爽 | 亚洲国产精品成人va在线观看 | 天干啦夜天干天干在线线 | 99视频导航| 黄色网中文字幕 | 日韩夜夜爽 | 精品国产一区二区三区av性色 | 精品国产一区二 | 亚洲精品视频网站在线观看 | 精品成人免费 | 天天综合网天天综合色 | 日韩成人高清在线 | 国产精品a级 | 久久综合之合合综合久久 | 欧美va日韩va| 国产视频久久 | 成人av片免费看 | 热久久国产精品 | 亚洲乱亚洲乱亚洲 | 黄色三级av | 91精品国产综合久久福利不卡 | 狠狠色狠狠色综合日日小说 | 夜夜躁狠狠躁日日躁视频黑人 | 国产精品一区二区三区免费视频 | 三级在线国产 | 国产日韩在线播放 | 精品国产一区二区久久 | 欧美亚洲成人xxx | 在线播放视频一区 | 一级性生活片 | 麻豆一区在线观看 | 免费在线观看av不卡 | 在线免费观看麻豆视频 | 日韩一级电影网站 | 天天射天天干天天 | 欧美激情第一页xxx 午夜性福利 | 国产一区免费 | 一区二区三区在线免费播放 | 国产精品美女久久久久久2018 | 看av免费 | 国产日韩一区在线 | 免费在线观看亚洲视频 | 亚洲精品在线视频播放 | 国产亚洲在线观看 | 亚洲综合在线五月天 | 亚洲在线高清 | 日日狠狠 | 欧美日韩国产三级 | www.99av| 成人av一区二区三区 | 国产精品毛片久久久久久 | 成人黄色免费观看 | 99精品在线 | 狠狠色丁香婷婷 | 伊人首页 | 日韩精品一区二区三区电影 | 精品影院一区二区久久久 | 成人久久久久久久久久 | 中文字幕一区二区三区精华液 | 最近字幕在线观看第一季 | 最新国产在线视频 | 成人午夜电影在线播放 | 欧美日韩网站 | 亚洲在线精品 | 欧美日本国产在线观看 | av久久在线| 日本成人中文字幕在线观看 | 精品视频国产一区 | 亚洲自拍自偷 | 精品国产一区二区三区免费 | 成人av播放| 色中色综合 | 精品视频123区在线观看 | 亚洲情婷婷 | 国产视频99 | 国内精品视频在线播放 | 探花视频在线观看免费版 | 国产成人在线综合 | 欧美精品视 | 波多野结衣视频一区 | av在线成人| 国产成人福利片 | 日本中文在线观看 | 啪啪肉肉污av国网站 | 久久99国产视频 | 成人免费观看a | 一区二区激情视频 | 亚洲精品在线视频观看 | 国产精品久久久久久久久蜜臀 | 97高清视频 | 91麻豆精品久久久久久 | 久精品一区 | 综合视频在线 | 国产精品久久片 | 热久久国产 | 这里只有精彩视频 | 亚洲一区二区三区精品在线观看 | 久久国产二区 | 亚洲欧美日韩在线一区二区 | 中文字幕第一页在线视频 | 天天拍天天色 | 亚洲专区视频在线观看 | 国产在线精品一区 | 国产一区私人高清影院 | 国产精品久久久亚洲 | 亚洲va欧洲va国产va不卡 | 超碰在线天天 | 美女视频黄频大全免费 | 婷婷在线免费 | 黄色资源网站 | 97在线公开视频 | 日本中文字幕一二区观 | 成人在线视频观看 | 国产免费久久av | 国产色黄网站 | 天堂网av在线 | 成 人 免费 黄 色 视频 | 婷婷国产在线观看 | 91精品国产99久久久久久久 | 一区二区三区高清 | 国内小视频在线观看 | 精品国产一区二区三区不卡 | 在线看片一区 | 国产69精品久久app免费版 | 精品国产成人在线影院 | 免费黄色特级片 | 国产视频在线播放 | 亚洲国内在线 | 国产区网址 | 欧美精品免费一区二区 | 亚洲一区二区三区四区精品 | 中文字幕免费国产精品 | 丁香六月中文字幕 | 日韩精品中文字幕在线观看 | 午夜精品一区二区国产 | 国产精品久久久久av福利动漫 | 欧美日韩免费观看一区=区三区 | 午夜影院一级 | 91人人澡 | 亚洲九九九在线观看 | 国产一区二区不卡视频 | 999久久国精品免费观看网站 | 97色狠狠 | 国产精品视频全国免费观看 | 天天草天天色 | 最近的中文字幕大全免费版 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 欧美a√在线| 亚洲精品成人 | 亚洲精品影视在线观看 | 亚洲综合色丁香婷婷六月图片 | 久久黄页 | 欧美一级性生活视频 | 国产精品久久久久四虎 | 五月婷av | 婷婷六月天丁香 | 欧美成年网站 | 天天摸日日摸人人看 | 在线观看日本高清mv视频 | 欧美国产日韩中文 | 日日夜夜噜 | 国产九九九精品视频 | 久久er99热精品一区二区 | 亚洲三级黄色 | 狠狠的操你 | 国产一区福利 | 99综合久久 | 一区 在线 影院 | 91av视频 | 欧美成人性战久久 | 国产精品亚洲片夜色在线 | 91av视频在线观看免费 | 婷婷午夜激情 | 四虎天堂| 69xxxx欧美 | 蜜桃久久久 | 91女人18片女毛片60分钟 | 成人蜜桃视频 | 日日夜夜天天射 | 亚洲欧美激情精品一区二区 | 亚洲精品视频免费 | 久草在线观看资源 | 97在线免费视频观看 | 日日夜夜噜 | 国产精品久久久久久久毛片 | 日韩精品综合在线 | 亚洲 综合 专区 | 国产视频精品网 | 福利在线看片 | 福利一区在线视频 | 密桃av在线| 综合网天天射 | 国产精品3 | 国产精品毛片一区二区 | 日韩国产精品久久 | 久久精品99国产精品亚洲最刺激 | 黄色一级网 | 五月天婷婷在线观看视频 | 国产日韩欧美在线观看 | 91福利小视频 | 久久精品欧美一区二区三区麻豆 | 日韩一区二区三免费高清在线观看 | 91九色精品女同系列 | 99热精品国产一区二区在线观看 | 久久激情视频 久久 | 久久久久中文字幕 | 91av精品| 久久久久久久久亚洲精品 | 天天干夜夜夜操天 | 久草av在线播放 | 日韩av免费一区二区 | 日韩一区二区三区视频在线 | 免费手机黄色网址 | 久久成人午夜视频 | 免费成人在线观看 | 天天躁天天狠天天透 | 人人干人人上 | 在线亚洲欧美日韩 | 日韩精品一区二区在线视频 | 欧美一级高清片 | 久久久久免费网站 | 欧美在线91 | 四虎成人精品永久免费av | 91毛片视频 | 国产精品视频地址 | 国产精品一区欧美 | 又湿又紧又大又爽a视频国产 | 久久99国产一区二区三区 | 99精品影视 | 日韩免费av片 | 亚洲理论视频 | 色噜噜狠狠色综合中国 | 日韩在线视频播放 | 亚洲精品在线电影 | 亚洲一级在线观看 | 欧美日韩在线视频观看 | 日韩免费三区 | 久久公开免费视频 | 国产探花在线看 | 一区二区三区免费在线 | 精品专区一区二区 | 国产精品久久久久久久久久免费 | 精久久久久 | 国产精品久久久久久久久久妇女 | 日本中文字幕在线电影 | 午夜视频黄 | 亚洲 成人 欧美 | 精品在线视频一区二区三区 | 亚洲精品国产自产拍在线观看 | 在线播放 亚洲 | 国产精品com | 久久精品网站视频 | 日韩在线观看中文 | 久久精品99国产国产 | 国产成人精品综合久久久 | 色综合久久88色综合天天 | 超碰人人在线观看 | 天天草天天干天天射 | 中文字幕久久精品一区 | 国产亚洲精品久 | 国产一级久久 | 国产精品久久久久久久久久免费 | 亚洲免费精品视频 | 色香蕉网 | 人人爽人人爽人人片av | 久久久久亚洲精品中文字幕 | 亚洲免费a| 亚洲涩涩色 | 国产剧情在线一区 | 又黄又爽又无遮挡的视频 | 黄色电影在线免费观看 | 中文字幕 在线 一 二 | 国产免费午夜 | 精品无人国产偷自产在线 | 国产精品原创av片国产免费 | 午夜久久久影院 | 国内一级片在线观看 | 热久精品| 麻豆传媒视频在线免费观看 | 日韩中文字幕国产精品 | 一区三区在线欧 | 伊人手机在线 | 日韩在线视频一区二区三区 | 99在线热播精品免费99热 | 欧美亚洲一级片 | 亚洲精品99久久久久久 | 一区二区三区电影大全 | 久久精品视频3 | 久久久久久在线观看 | 亚洲最大的av网站 | 亚洲成av人电影 | 99热在线国产 | 一区二区精品在线视频 | 国产黄在线免费观看 | 成年人免费观看在线视频 | 欧美日韩精品在线免费观看 | 一区在线观看 | 夜添久久精品亚洲国产精品 | 丁香五香天综合情 | av在线影视 | 久久精品香蕉 | 国内精品久久久 | 香蕉视频日本 | 丁香婷婷深情五月亚洲 | 丁香婷婷社区 | 中文字幕888 | 国产精品美女视频 | 久久久五月婷婷 | 激情丁香久久 | 国产精品v欧美精品v日韩 | 色婷婷av在线 | av黄色av| 国产日韩欧美在线播放 | 日韩色爱| 免费在线视频一区二区 | 一区二区三区 中文字幕 | 91插插影库 | 国产 在线 高清 精品 | 99热这里是精品 | 免费看黄的视频 | 国产伦精品一区二区三区免费 | 国产99久久久欧美黑人 | 午夜久久久影院 | 日韩免费视频观看 | 成年人在线看片 | 少妇bbr搡bbb搡bbb | 毛片激情永久免费 | 国内成人综合 | 五月天色站 | 亚洲高清视频一区二区三区 | 日韩电影久久久 | 国产精品9999| 91欧美视频网站 | 欧美日韩不卡在线视频 | 91在线观看欧美日韩 | 91少妇精拍在线播放 | 亚洲aaa毛片| 一二三区高清 | 亚洲免费精品视频 | 中文字幕在线色 | 国产精品久久一区二区三区, | 欧美日韩国产页 | 久久久久久久久久久影视 | 中文字幕一区二区三区视频 | 中文久久精品 | 欧美一级黄色网 | 免费观看福利视频 | 久久图 | 国产午夜精品福利视频 | 黄色成人免费电影 | 亚洲国产中文字幕在线 | www.看片网站 | 狠狠躁夜夜躁人人爽超碰91 | 久久久久一区二区三区四区 | 99久久这里只有精品 | 天天干中文字幕 | 黄色一级在线免费观看 | 日韩av图片 | 日本久久视频 | 亚洲国产操 | 亚洲资源| 国产成年免费视频 | 国产又粗又硬又爽视频 | 国产又黄又猛又粗 | 狠狠色伊人亚洲综合网站色 | 欧美一区二区三区免费观看 | 亚洲国产精品第一区二区 | 黄色国产高清 | 国产精品久久久久久久久久 | 亚洲欧洲xxxx| 91在线精品秘密一区二区 | 日韩在线观看第一页 | 国产美女在线精品免费观看 | av 一区二区三区四区 | 久久久免费精品视频 | 最新av网址在线 | 国产综合激情 | 成人a免费看 | av片在线观看免费 | 久久99国产精品久久 | 国产精品久久久久久久久软件 | 99热最新| 亚洲狠狠婷婷 | 中文成人字幕 | 手机在线日韩视频 | www最近高清中文国语在线观看 | 九九热免费视频在线观看 | 久久成电影 | 97超碰人人模人人人爽人人爱 | 日韩一区二区三区视频在线 | 综合久久久久 | 一区久久久| 中文字幕国内精品 | 狠狠狠干狠狠 | 久久视频精品 | 麻豆久久久 | 国产精品wwwwww | 免费在线色视频 | 一区二区精品 | 亚洲伊人成综合网 | 97av视频在线| 麻豆视频在线观看免费 | 成人黄色毛片视频 | 干干夜夜 | 亚洲成人影音 | 99色在线观看视频 | 中文十次啦 | 毛片精品免费在线观看 | 日韩免费视频线观看 | av在线播放一区二区三区 | 毛片a级片| 国产日韩欧美在线看 | 粉嫩一区二区三区粉嫩91 | 国产精品原创视频 | 亚洲高清91| 人人看97 | 911精品视频| www.com.日本一级 | 久久精品成人 | 亚洲精品视频在线看 | 天堂av网在线 | 91av亚洲 | 天天色天天射综合网 | 射射色| 黄色片免费电影 | 国产精品麻豆视频 | 综合色婷婷 | 丁香电影小说免费视频观看 | www99久久 | 成人在线免费视频观看 | 在线观看精品国产 | 欧美孕交vivoestv另类 | 免费看一及片 | 人人爱爱人人 | 久久久久亚洲精品国产 | 日韩网站在线观看 | 美女网站在线 | 久久久久久精 | 丁香六月婷婷综合 | 欧美性大战久久久久 | 黄色国产在线观看 | 日韩精品一区二区三区中文字幕 | 免费视频一区 | 国产精品免费一区二区 | 精品视频一区在线观看 | www.少妇| 精品国产精品久久一区免费式 | 99精品国自产在线 | 中文字幕国产精品 | 久久情侣偷拍 | 国产 在线观看 | 97色国产| 欧美成人在线免费观看 | 久草国产在线观看 | 久久99精品国产99久久 | 中文字幕在线电影 | 91av免费在线观看 | 久草在线综合网 | 性色av一区二区三区在线观看 | 综合久久综合久久 | 久草爱 | 色婷婷福利视频 | 免费福利在线视频 | 色网站中文字幕 | 欧美午夜视频在线 | 五月婷社区| 免费观看国产成人 | 在线看黄色av | 国产免费又爽又刺激在线观看 | 亚洲成人二区 | 99色精品视频| 国产精品自产拍在线观看蜜 | 久久综合狠狠综合久久综合88 | 91精品天码美女少妇 | 亚洲永久精品在线观看 | 亚洲免费在线看 | 青青草在久久免费久久免费 | 国产欧美精品一区二区三区四区 | 久久99国产精品二区护士 | 99爱在线 | 国产成人精品一区一区一区 | 日韩试看 | 亚洲国产wwwccc36天堂 | 蜜桃视频日韩 | 国产综合久久 | 亚州av成人| 色九九视频 | 国精产品999国精产品视频 | 欧美做受69 | 激情五月在线 | 欧美亚洲精品在线观看 | 天天色天天搞 | 中文字幕a在线 | 91在线日韩 | 日韩一区正在播放 | 九九九热精品 | 精品在线观看一区二区三区 | 久久精品香蕉 | 日本黄区免费视频观看 | 麻豆国产精品一区二区三区 | 日色在线视频 | 在线观看视频 | 99精品影视 | 天天摸日日摸人人看 | 在线视频第一页 | 国产精品地址 | 日韩在线精品一区 | 香蕉网在线播放 | 久久久九色精品国产一区二区三区 | 欧美在线1区 | 日韩免费不卡视频 | 日韩精品一区二区免费视频 | 欧产日产国产69 | 国产精品一区二区视频 | 欧美a级一区二区 | 久久国产精品色婷婷 | 中文永久字幕 | 日日夜夜狠狠干 | 狠狠操狠狠干2017 | 久久国产精品系列 | 中文字幕资源站 | 黄色av一区二区三区 | 精品国产乱码久久久久久三级人 | 蜜桃av观看 | 国产伦理一区 | 国产精品久久久久久久久久久久午夜 | av不卡中文字幕 | www夜夜 | 九九九毛片 | 久操操| 麻豆视频国产在线观看 | 亚洲国产日韩在线 | 久久在线观看视频 | 麻豆 free xxxx movies hd | 人人爽人人爽人人片av | 中文字幕亚洲五码 | 久久国内视频 | 99热这里只有精品1 av中文字幕日韩 | 性色va | 乱男乱女www7788 | 日韩精品在线免费观看 | 狠狠干天天操 | 免费看一级 | 久草电影免费在线观看 | 国产免费久久av | 一区二区精 | 欧美日韩视频观看 | 国产日产欧美在线观看 | 亚洲三级在线 | 久久99国产视频 | 黄色网大全 | 国产精品久久久久久久久久久久午夜 | 可以免费观看的av片 | 国产乱码精品一区二区三区介绍 | 激情视频综合网 | 久久久久久久久黄色 | 最近高清中文字幕 | 色.www| 国产中年夫妇高潮精品视频 | 国产 日韩 在线 亚洲 字幕 中文 | 欧美一级性 | 黄色一级大片在线观看 | 婷婷激情网站 | 亚洲一级电影在线观看 | 日韩欧三级 | 亚洲黄网址 | 三级毛片视频 | 亚洲国产精品久久久久婷婷884 | 日韩有码在线观看视频 | 久久久免费精品 | 黄色小说视频网站 | av免费观看高清 | 国产精品乱看 | 免费在线黄色av | 日韩在线视频二区 | 在线观看免费高清视频大全追剧 | 人人澡人人爽欧一区 | 国产黄色片一级三级 | 国产传媒一区在线 | 亚洲最新合集 | www.黄色在线 | 亚洲专区欧美 | 日本黄色片一区二区 | 免费观看午夜视频 | 精品国产一区二区久久 | 在线观看免费福利 | 中文字幕久久亚洲 | 国产视频18 | 97香蕉久久国产在线观看 | 国内免费久久久久久久久久久 | 国产精品国产三级国产aⅴ无密码 | 国产电影黄色av | 欧美日韩不卡在线观看 | 国产护士hd高朝护士1 | 久久这里只有精品23 | 亚洲成人黄色 | 日本高清免费中文字幕 | 午夜精品久久久99热福利 | 日p在线观看 | 色噜噜狠狠狠狠色综合久不 | 国产精品久久久久aaaa九色 | 久久精品国产久精国产 | 亚洲片在线观看 | 日本久久久久久科技有限公司 | 国产精品系列在线播放 | 亚洲三级毛片 | 日韩在线视频二区 | 精品国产片 | 成人黄色免费在线观看 | avcom在线 | 亚洲天天摸日日摸天天欢 | 欧美一区二区日韩一区二区 | 人人爽人人舔 | 九九有精品 | 久久艹国产 | 青草视频在线看 | 久久专区 | 亚洲色图 校园春色 | 欧美日韩啪啪 | 天天干天天摸 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 91精品啪在线观看国产线免费 | 综合婷婷丁香 | 亚洲成人资源 | 色小说av| 在线国产视频 | 97在线观 | 中文在线资源 | www黄在线 | 97av免费视频| 亚洲丁香日韩 | 久久久久成人免费 | 成人国产精品久久久久久亚洲 | 91色亚洲 | 国产精品成人免费 | 国产片免费在线观看视频 | 亚洲黄色小说网址 | 国产91精品一区二区麻豆亚洲 | 日本久久久久久久久久久 | 亚洲精品高清在线观看 | 香蕉久久久久久av成人 | 日日操天天操狠狠操 | 国产精品欧美久久 | 国产日韩在线看 | 人人干人人上 | av电影在线免费观看 | 日韩一级黄色片 | 综合在线色 | 国产探花在线看 | 99久久精品久久久久久清纯 | 免费三级在线 | 日韩免费在线一区 | 69久久99精品久久久久婷婷 | 国产第一福利 | 激情动态| 亚洲日韩精品欧美一区二区 | 国产精品自产拍在线观看蜜 | 日韩电影中文字幕在线 | 国产69精品久久久久9999apgf | 99在线观看精品 | 免费看的黄色片 | 久久久国产99久久国产一 | 日日干天天射 | 久久不卡日韩美女 | 毛片在线播放网址 | 天天射天天 | 911av视频 | 波多在线视频 | 日韩在线精品一区 | 亚洲精品一区二区久 | 一区二区 不卡 | 精品久久福利 | 久草视频手机在线 | 天天射色综合 | 国产精品久久久久久五月尺 | 奇米影视在线99精品 | 一区二区三区三区在线 | av中文字幕在线电影 | 久久精品一区八戒影视 | www麻豆视频 | 黄色av一区二区 | 久久久国产精品一区二区三区 | 国产精品一区二区三区99 | 久久av免费 | 亚洲一级免费电影 | 超碰在线日本 | 亚洲va在线va天堂va偷拍 | 国产精品亚州 | se婷婷 | 欧美日韩视频一区二区 | 成人在线视 | 国产精品一区二区av | 黄色一级在线免费观看 | 亚洲精品视频在线 | 九月婷婷人人澡人人添人人爽 | 9在线观看免费高清完整版在线观看明 | 91视频久久久 | 国产精品久久久久久av | 久久久久综合精品福利啪啪 | 亚洲综合视频在线 | 中文字幕文字幕一区二区 | 国内精品视频久久 | 成人蜜桃视频 | a亚洲视频 | 色综合在| 伊人午夜视频 | 青春草免费在线视频 | 国产精品99久久久久久人免费 | 在线久久| 日韩av有码在线 | 久久久久久久久久久久av | 日日操天天操夜夜操 | 在线小视频 | 国际精品久久久久 | 手机看片福利 | 日韩在线理论 | 91av免费在线观看 | 久久综合九色综合欧美就去吻 | 91免费视频黄 | 午夜18视频在线观看 | 在线观看国产麻豆 | 天天射天天干天天插 | 天天干天天操天天搞 | 日韩电影在线看 | 久久这里有 | 精品欧美一区二区精品久久 | 四虎在线免费视频 | 四川bbb搡bbb爽爽视频 | 天天干天天玩天天操 | 日韩欧美在线综合网 | 狠狠精品| 国产第一页福利影院 | av电影免费在线播放 | 国产色中涩 | 一级黄色在线视频 | 精品99999 | 日韩专区av | 国产亚洲小视频 | 最近中文字幕在线 | 国产自偷自拍 | 午夜精品99久久免费 | 亚洲精品乱码久久久一二三 | 国产成人61精品免费看片 | 91黄色在线视频 | 在线日韩一区 | 在线观看精品黄av片免费 | 99精品视频精品精品视频 | 国产色在线视频 | 亚洲少妇影院 | 91精品对白一区国产伦 | 日韩电影在线观看一区二区 | 亚洲人成在| 久久久网页 | 欧美日韩在线观看不卡 | 久久久国产精品人人片99精片欧美一 | 黄色视屏在线免费观看 | 天天综合网久久综合网 | 最近中文字幕mv | 国产精品久久三 | 日韩久久精品 | 欧美精品久久久久久久 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 亚洲乱码久久久 | 久久这里有 | 国产精品嫩草影院123 | 成人免费av电影 | 免费在线观看成年人视频 | 97精品一区二区三区 | 在线观看网站你懂的 | 免费成人av在线看 | 丝袜美腿在线播放 | 成人精品一区二区三区电影免费 | 在线观看播放av | 操操操夜夜操 |