緩存的有缺點 1、如果命中緩存,直接從緩存中返回,減少分析和執(zhí)行SQL語句的過程,提高查詢效率 2、緩存會帶來額外的開銷,如果開啟緩存的代價大于不開啟緩存的代價則不建議開啟緩存 緩存的開銷 1、讀查詢在開始之前會先檢查查詢緩存 2、若某個讀查詢可以被緩存且未被緩存,那么當完成執(zhí)行后,MySQL會將其結(jié)果存入查詢緩存 3、對寫操作也有影響,因為當寫入數(shù)據(jù)時,MySQL必須將對應(yīng)表的所有緩存都設(shè)置失效, 這在緩存內(nèi)存較大時將導致很大的系統(tǒng)消耗,所以緩存內(nèi)存并不是越大越好 mysql查詢緩存 1、用于保存查詢語句返回的結(jié)果,命中時,MySQL會立即返回結(jié)果,省去解析、優(yōu)化和執(zhí)行等步驟 2、MySQL保存結(jié)果于緩存中,對select語句做hash計算,計算的結(jié)果作為key,查詢結(jié)果作為value 3、mysql查詢緩存對大小寫敏感,所以使用SQL時盡量使用同一種風格 不會被緩存的語句 1、不確定的數(shù)據(jù),不會緩存,如now(),current_time()等 2、若查詢SQL中包含用戶自定義函數(shù),存儲函數(shù),用戶變量,臨時表,mysql庫中系統(tǒng)表 3、SQL中包含字段權(quán)限 與緩存相關(guān)的服務(wù)器變量 mysql> SHOW VARIABLES LIKE 'query%'; #查看和查詢緩存相關(guān)的系統(tǒng)變量 query_cache_type: 是否打開緩存 OFF: 關(guān)閉 ON: 打開 DEMAND: 只有明確寫了SQL_CACHE的查詢才會寫入緩存 query_cache_size: 緩存使用的總內(nèi)存空間大小,單位是字節(jié),這個值必須是1024的整數(shù)倍 query_cache_min_res_unit: 分配的最小內(nèi)存塊大小,太大可能導致內(nèi)存碎片,太小可能導致頻繁請求內(nèi)存 query_cache_limit: 能夠緩存的最大結(jié)果,如果超出這個大小則清處已經(jīng)緩存的數(shù)據(jù) query_cache_wlock_invalidate: 如果某個數(shù)據(jù)表被鎖住,是否仍然從緩存中返回數(shù)據(jù),OFF:表示可以返回 mysql> SHOW STATUS LIKE '%qcache%'; #查看緩存狀態(tài) Qcache_free_blocks #緩存池中空閑塊的個數(shù) Qcache_free_memory #緩存中空閑內(nèi)存量 Qcache_hits #緩存命中次數(shù) Qcache_inserts #緩存寫入次數(shù) Qcache_lowmen_prunes #因內(nèi)存不足刪除緩存次數(shù) Qcache_not_cached #查詢未被緩存次數(shù) Qcache_queries_in_cache #當前緩存中緩存的SQL數(shù)量 Qcache_total_blocks #緩存的總內(nèi)存塊 是否使用緩存 1. 通過緩存命中率判斷, 緩存命中率 = 緩存命中次數(shù) (Qcache_hits) / 查詢次數(shù) (Com_select) 2. 通過緩存寫入率, 寫入率 = 緩存寫入次數(shù) (Qcache_inserts) / 查詢次數(shù) (Com_select) 3. 通過 命中-寫入率 判斷, 比率 = 命中次數(shù) (Qcache_hits) / 寫入次數(shù) (Qcache_inserts) 3:1則算是查詢緩存有效,而最好能夠達到10:1 mysql> SHOW GLOBAL STATUS LIKE 'com_select'; #查看查詢次數(shù)
目前創(chuàng)新互聯(lián)公司已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機、網(wǎng)站托管維護、企業(yè)網(wǎng)站設(shè)計、廣水網(wǎng)站維護等服務(wù),公司將堅持客戶導向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
分析和配置查詢緩存
網(wǎng)站題目:mysql基礎(chǔ)(五)查詢緩存
文章網(wǎng)址:http://www.rwnh.cn/article10/jjspgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、小程序開發(fā)、手機網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、App開發(fā)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)