日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
講解一下Mysql查詢緩存

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出鹽田免費(fèi)做網(wǎng)站回饋大家。

MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),屬于 Oracle 旗下產(chǎn)品。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,在 WEB 應(yīng)用方面,MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) 應(yīng)用軟件之一。

當(dāng)我們開啟Mysql的查詢緩存,當(dāng)執(zhí)行完全相同的SQL語(yǔ)句的時(shí)候,服務(wù)器就會(huì)直接從緩存中讀取結(jié)果。當(dāng)數(shù)據(jù)被修改, 之前的緩存會(huì)失效,所以修改比較頻繁的表不適合做查詢緩存。

當(dāng)服務(wù)器頻繁收到相同的請(qǐng)求而數(shù)據(jù)庫(kù)中的表數(shù)據(jù)變化頻率又不高,查詢緩存是非常有用的,它可以大大提高應(yīng)用程序的訪問效率。很多Web服務(wù)器利用這一原理基于數(shù)據(jù)庫(kù)的內(nèi)容動(dòng)態(tài)生成頁(yè)面。

查詢緩存并不會(huì)返回過期的數(shù)據(jù),當(dāng)數(shù)據(jù)庫(kù)中的表數(shù)據(jù)發(fā)生變化時(shí),相關(guān)的查詢緩存會(huì)自動(dòng)清除。但是查詢緩存并不會(huì)在多個(gè)MySQLd服務(wù)器實(shí)例中更新同一個(gè)表的數(shù)據(jù)時(shí)有效。

查詢緩存對(duì)于存儲(chǔ)在多個(gè)數(shù)據(jù)庫(kù)分區(qū)表中的數(shù)據(jù)是無(wú)效的。如果查詢涉及多個(gè)數(shù)據(jù)庫(kù)分區(qū)表,查詢緩存會(huì)自動(dòng)失效。

如果要禁用查詢緩存的話,只需在啟動(dòng)時(shí)將query_cache_size的大小設(shè)置為0即可。

查詢緩存在一定情況下會(huì)提升系統(tǒng)的性能,但并不代表在任何情況下都會(huì)提升系統(tǒng)的性能,某些情況下,甚至可能會(huì)降低系統(tǒng)的性能。如

1)人們對(duì)于分級(jí)設(shè)置查詢緩存的分歧很大,有些人認(rèn)為可能超出了啟用它的好處。查詢緩存的大小設(shè)置為幾十兆的時(shí)候通常是有效的,但是設(shè)置成幾百兆的時(shí)候就不一定了。

2)在服務(wù)器超負(fù)荷時(shí)使用查詢緩存是非常有效的。一個(gè)由多個(gè)SELECT組合成的復(fù)雜查詢使用查詢緩存的效率肯定是非常高效的,但如果有頻繁插入數(shù)據(jù)的話,不使用緩存的話比起使用查詢緩存效率要高的多。

查詢緩存的執(zhí)行原理

對(duì)于下面這兩種查詢,查詢緩存會(huì)當(dāng)作兩種不同形式的查詢,因?yàn)椴樵兙彺鏁?huì)嚴(yán)格比較兩次查詢的字節(jié)是否完全相同。對(duì)于不同的字符串,不同的數(shù)據(jù)表,不同的協(xié)議版本,不同的字符集都會(huì)當(dāng)作不同的查詢。

SELECT * FROM tbl_name Select * from tbl_name

在以下情況下并不適合使用查詢緩存

1)查詢是外部查詢的一個(gè)子查詢

2)在存儲(chǔ)過程,觸發(fā)器或函數(shù)中執(zhí)行的查詢

如果數(shù)據(jù)表發(fā)生變化,如增加/修改/刪除表結(jié)構(gòu)或表數(shù)據(jù),都會(huì)導(dǎo)致查詢緩存失效,緩存的數(shù)據(jù)會(huì)自動(dòng)從緩存中清除。

當(dāng)查詢緩存包含了以下函數(shù)時(shí),查詢緩存并不會(huì)有效。

詳解MySQL查詢緩存

查詢緩存不適用的情況

1)查詢使用用戶自定義的函數(shù)或存儲(chǔ)過程。

2)查詢包含了用戶變量或本地存儲(chǔ)的程序變量。

3)涉及到數(shù)據(jù)庫(kù)中的mysql,INFORMATION_SCHEMA和performance——schema表。

4)查詢涉及到數(shù)據(jù)庫(kù)分區(qū)表。

5)查詢是如下的類型:

SELECT ... LOCK IN SHARE MODE SELECT ... FOR UPDATE SELECT ... INTO OUTFILE ... SELECT ... INTO DUMPFILE ... SELECT * FROM ... WHERE autoincrement_col IS NULL

6)查詢用到了臨時(shí)表。

7)查詢沒有用到數(shù)據(jù)表。

8)查詢包含了警告。

9)用戶查詢的表中擁有特定的權(quán)限。

使用查詢緩存和不使用查詢緩存的兩種方式

SELECT SQL_CACHE id, name FROM customer; SELECT SQL_NO_CACHE id, name FROM customer;

配置查詢緩存

當(dāng)查詢緩存query_cache_size設(shè)置為一個(gè)非0的數(shù)值時(shí),最小的容量是40KB,這是由它的系統(tǒng)結(jié)構(gòu)所決定的。在應(yīng)用時(shí)設(shè)置為多大合適,還是要根據(jù)實(shí)際情況而定。


網(wǎng)站欄目:講解一下Mysql查詢緩存
網(wǎng)頁(yè)鏈接:http://www.5511xx.com/article/dhjhidh.html