中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL/MariaDB---查詢緩存與存儲引擎

發布時間:2020-06-27 09:14:52 來源:網絡 閱讀:456 作者:不忘初心灬 欄目:系統運維

查詢緩存

"查詢緩存" ---是把將查到的結果緩存下載,如果查詢語句相同,則直接把緩存的結果返回.

如果應用程序在某一個場景  多次需要查詢,且不需要經常更新,則使用查詢緩存可以有一定的性能提升。  
如圖所以可以查看是否開啟了緩存功能  

MySQL/MariaDB---查詢緩存與存儲引擎
query_cache_type的值為on;表示已開啟了緩存功能

?query_cache_type:是否開啟緩存功能,取值為ON, OFF, DEMAND,表示 已啟用,已禁用,按照需要緩存,設置在my.cnf中即可。
    ?query_cache_min_res_unit:查詢緩存中內存塊的最小分配單位,默認4k,  
    較小值會減少浪費,但會導致更頻繁的內存分配操作,較大值會帶來浪費,會導
        致碎片過多,內存不足  
    query_cache_limit:單個查詢結果能緩存的最大值,默認為1M,  
對于查詢結果過大而無法緩存的語句,建議使用SQL_NO_CACHE
?query_cache_size:查詢緩存總共可用的內存空間;單位字節,必須是1024
的整數倍,最小值40KB,低于此值有警報
?query_cache_wlock_invalidate:如果某表被其它的會話鎖定,是否仍然可以
        從查詢緩存中返回結果,默認值為OFF,  
    表示可以在表被其它會話鎖定的場景中繼續從緩存返回數據;  
        ON則表示不允許

SELECT語句的緩存控制

?SQL_CACHE:顯式指定存儲查詢結果于緩存之中
?SQL_NO_CACHE:顯式查詢結果不予緩存
?query_cache_type參數變量
?query_cache_type的值為OFF或0時,查詢緩存功能關閉
?query_cache_type的值為ON或1時,查詢緩存功能打開,SELECT的結果符合
緩存條件即會緩存,否則,不予緩存,顯式指定SQL_NO_CACHE,不予緩存,
此為默認值
? query_cache_type的值為DEMAND或2時,查詢緩存功能按需進行,顯式指
定SQL_CACHE的SELECT語句才會緩存;其它均不予緩存    

# 查詢緩存相關的狀態變量:  
SHOW GLOBAL STATUS LIKE ‘Qcache%';

MySQL/MariaDB---查詢緩存與存儲引擎

        Qcache_free_blocks:處于空閑狀態 Query Cache中內存 Block 數  
    Qcache_total_blocks:Query Cache 中總Block ,當Qcache_free_blocks相對此值較大時,可能用內存碎片,執行FLUSH QUERY CACHE清理碎片
    ? Qcache_free_memory:處于空閑狀態的 Query Cache 內存總量
    Qcache_hits:Query Cache 命中次數
    ? Qcache_inserts:向 Query Cache 中插入新的 Query Cache 的次數,即沒
有命中的次數
     Qcache_lowmem_prunes:記錄因為內存不足而被移除出查詢緩存的查詢數
    ? Qcache_not_cached:沒有被 Cache 的 SQL 數,包括無法被 Cache 的 SQL
    以及由于 query_cache_type 設置的不會被 Cache 的 SQL語句
    ? Qcache_queries_in_cache:在 Query Cache 中的 SQL 數量    

MySQL/MariaDB---查詢緩存與存儲引擎
————————————————

存儲引擎

MyISAM引擎特點
?不支持事務
?表級鎖定
?讀寫相互阻塞,寫入不能讀,讀時不能寫
?只緩存索引
?不支持外鍵約束
?不支持聚簇索引
?讀取數據較快,占用資源較少
?不支持MVCC(多版本并發控制機制)高并發
?崩潰恢復性較差
?MySQL5.5.5前默認的數據庫引擎  

————————————————

MySQL/MariaDB---查詢緩存與存儲引擎
MyISAM存儲引擎 --適用場景

    只讀(或者寫較少)、表較小(可以接受長時間進行修復操作)
    MyISAM引擎文件
    tbl_name.frm 表格式定義
    tbl_name.MYD 數據文件
    tbl_name.MYI 索引文件    

————————————————

InnoDB引擎特點

    行級鎖
?支持事務,適合處理大量短期事務
?讀寫阻塞與事務隔離級別相關
?可緩存數據和索引
?支持聚簇索引
?崩潰恢復性更好
?支持MVCC高并發
?從MySQL5.5后支持全文索引
?從MySQL5.5.5開始為默認的數據庫引擎   

MySQL/MariaDB---查詢緩存與存儲引擎

InnoDB數據庫文件

所有InnoDB表的數據和索引放置于同一個表空間中
表空間文件:datadir定義的目錄下
數據文件:ibddata1, ibddata2, ...
每個表單獨使用一個表空間存儲表的數據和索引
啟用:innodb_file_per_table=ON
兩類文件放在數據庫獨立目錄中
數據文件(存儲數據和索引):tb_name.ibd
表格式定義:tb_name.frm  
管理存儲引擎
?查看mysql支持的存儲引擎
    show engines;
查看當前默認的存儲引擎
        show variables like '%storage_engine%';
設置默認的存儲引擎
        vim /etc/my.conf
            [mysqld]
            default_storage_engine= InnoDB  
查看庫中所有表使用的存儲引擎
                show table status from db_name;
查看庫中指定表的存儲引擎
                show table status like ' tb_name ';
                show create table tb_name;
設置表的存儲引擎:
        CREATE TABLE tb_name(... ) ENGINE=InnoDB;
        ALTER TABLE tb_name ENGINE=InnoDB;  
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

健康| 静海县| 安乡县| 建湖县| 邵武市| 鸡西市| 武乡县| 延长县| 百色市| 敦化市| 铜鼓县| 灵丘县| 纳雍县| 乌拉特后旗| 彰化市| 潢川县| 宁强县| 塘沽区| 含山县| 兴宁市| 霍城县| 阿克苏市| 溧水县| 汶川县| 青浦区| 双城市| 安福县| 平和县| 浦江县| 大余县| 沁水县| 泽州县| 白玉县| 微山县| 崇礼县| 泽普县| 香格里拉县| 岐山县| 鹿邑县| 阿合奇县| 米脂县|