国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

如何啟用MySQL的查詢語句緩存

2024-07-24 12:36:45
字體:
來源:轉載
供稿:網(wǎng)友

查詢語句緩存意思就是大量操作時我們會保存上次查詢的數(shù)據(jù)以減少數(shù)據(jù)庫查詢次數(shù)從而提升mysql訪問性能,下面我們一起來看如何啟用MySQL的查詢語句緩存吧.

我們寫的程序可能需要進行大量的數(shù)據(jù)庫操作,數(shù)據(jù)庫常常會成為產(chǎn)生瓶頸的原因,開啟查詢語句緩存也是優(yōu)化MySQL的一個策略.

MySQL 是我們開發(fā)程序常用的數(shù)據(jù)庫,它具有在內(nèi)存中緩存常用查詢語句的能力,這樣一個給定的查詢語句再次被調(diào)用時,MySQL將立即從緩存中將其返回,然而,在大多數(shù)MySQL中,這一特性默認是被禁用的,為了啟用它,向你的MySQL配置選項文件添加以下代碼,該配置文件的名稱為my.cnf,它用來聲明變量和你的MySQL服務器的行為,參看http://dev.mysql.com/doc/refman/5.1/en/option- files.html.

啟用MySQL的查詢語句緩存,在這里,我們將查詢語句緩存設為64MB,代碼如下:

[mysqld]

query_cache_size=64M

當前查詢語句緩存的大小,可以通過MySQL的SHOW VARIABLES命令來查看,代碼如下:

  1. mysql>SHOW VARIABLES; 
  2. ... //Vevb.com
  3. | query_cache_size |555-55554 
  4. | query_cache_type | ON 
  5. ... 

我們需要不斷地試驗查詢語句緩存大小的設置,緩存太小就意味著緩存了的查詢語句很快就會過期,緩存太大就意味著搜索一個緩存可能需要花費相對較長時間,還有就是使用內(nèi)存進行緩存比使用其它一些方式要好,就像有更多的web服務器處理,memcache或者操作系統(tǒng)的文件緩存一樣.

工作原理:查詢緩存的工作原理,基本上可以概括為:

緩存SELECT操作或預處理查詢,注釋,5.1.17開始支持,的結果集和SQL語句;

新的SELECT語句或預處理查詢語句,先去查詢緩存,判斷是否存在可用的記錄集,判斷標準:與緩存的SQL語句,是否完全一樣,區(qū)分大小寫.

查詢緩存對什么樣的查詢語句,無法緩存其記錄集,大致有以下幾類:

查詢語句中加了SQL_NO_CACHE參數(shù);

查詢語句中含有獲得值的函數(shù),包涵自定義函數(shù),如:CURDATE()、GET_LOCK()、RAND()、CONVERT_TZ等;

對系統(tǒng)數(shù)據(jù)庫的查詢:mysql、information_schema

查詢語句中使用SESSION級別變量或存儲過程中的局部變量;

查詢語句中使用了LOCK  IN SHARE MODE、FOR UPDATE的語句

查詢語句中類似SELECT …INTO 導出數(shù)據(jù)的語句;

事務隔離級別為:Serializable情況下,所有查詢語句都不能緩存;

對臨時表的查詢操作;

存在警告信息的查詢語句;

不涉及任何表或視圖的查詢語句;

某用戶只有列級別權限的查詢語句;

查詢緩存的優(yōu)缺點:不需要對SQL語句做任何解析和執(zhí)行,當然語法解析必須通過在先,直接從Query  Cache中獲得查詢結果.

查詢緩存的判斷規(guī)則,不夠智能,也即提高了查詢緩存的使用門檻,降低其效率;

Query Cache的起用,會增加檢查和清理Query Cache中記錄集的開銷,而且存在SQL語句緩存的表,每一張表都只有一個對應的全局鎖;

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 五河县| 铜川市| 连江县| 淮北市| 台湾省| 隆回县| 宁南县| 石柱| 辰溪县| 定边县| 丹巴县| 天柱县| 山西省| 六盘水市| 汨罗市| 民勤县| 磐安县| 临桂县| 栾川县| 雷州市| 禄丰县| 邵武市| 佛冈县| 兖州市| 高青县| 涿鹿县| 娄底市| 淳安县| 丹寨县| 江达县| 资中县| 赣州市| 金阳县| 保康县| 扶风县| 河北区| 呼图壁县| 蒙自县| 南京市| 长治市| 渭源县|