日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql key buffer_mysql 开发进阶篇系列 16 MySQL Server(myisam key_buffer)

發布時間:2024/7/19 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql key buffer_mysql 开发进阶篇系列 16 MySQL Server(myisam key_buffer) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.概述

mysql 提供了很多參數來進行服務器的設置,當服務第一次啟動的時候,所有啟動參數值都是系統默認的。這些參數在很多生產環境下并不能滿足實際的應用需求。在這個系列中涉及到了linux 服務器,我這里是centos7.4, mysql 5.7,Xshell6。

1. 查看mysql server參數

通過show variables和show status命令查看mysql的服務器靜態參數值和動態運行狀態信息。前者是在數據庫啟動后不會動態更改的值。比如緩沖區大小,字符集,數據文件名稱等; 后者是數據庫運行期間的動態變化的信息,比如鎖等待,當前連接數等。下面來簡單查看下兩個命令

--mysql服務靜態參數值

SHOW VARIABLES;

--mysql服務運行狀態值

SHOW STATUS;

二.?影響mysql性能的重要參數

在上面介紹了mysql server 端的參數查看方法 ,對于這么多參數, 實際大多數參數是不需要用戶調整的,下面介紹一些重要參數。先介紹下MyISAM存儲引擎的key_buffer_size和table_cache。

1. key_buffer_size設置

key_buffer_size是用來設置索引塊(index Blocks)緩存的大小,它被所有線程共享,此參數只應于MYISAM存儲引擎。在mysql 5.1后,系統除了默認的索引塊緩存,還可以配置多個key_buffer,可以將指定的表索引,緩存入指定的key_buffer,這樣可以更小地降低線程之間的競爭。

--查看默認設置

SHOW VARIABLES LIKE 'key_buffer_size';

8388608/1024.0/1024.0=M? 默認8M 如下圖所示:

--建立一個新的索引塊緩存

SET GLOBAL hot_cache2.key_buffer_size=128*1024

對于GLOBAL 表示對每一個新的連接,此參數都將生效,hot_cache2是新的key_buffer名稱,可以隨時進行重建,例如:

SET GLOBAL hot_cache2.key_buffer_size=200*1024

把相關表的索引,放到指定的索引塊緩存中如下:

--將表(userbymyisam )索引放入指定的索引塊中

CACHE INDEX userbymyisam IN hot_cache2

想將索引預裝到默認的key_buffer中,可以使用load index into cache語句,例如預裝表userbymyisam的所有索引?預裝到默認的key_buffer。

LOAD INDEX INTO CACHE userbymyisam

--刪除索引緩存,如下命令

SET GLOBAL hot_cache2.key_buffer_size=0

注意:默認的key_buffer是不能刪除的如:? SET? GLOBAL key_buffer_size=0 下次重啟時還會有。

總結: cache index命令在一個表和key_buffer之間建立一種聯系,但每次服務器重啟時key_buffer中的數據將清空,如果想每次服務器重啟時相應表的索引能自動放到key_buffer中,可以在配置文件中設置init-file選項來指定包含cache index語句文件路徑,然后在對應的文件中寫入cache index語句。

下面創建二個緩存索引塊:

每次服務器啟動時,執行mysqld_init.sql中的語句, 文件中幾個表,分別對應hot_cache和cold_cache:

2. 通過操作系統來設置key_buffer

如果要設置mysql服務系統參數可以在linux里設置,先要找到my.cnf 文件位置,一般會放在/etc/my.cnf,/etc/mysql/my.cnf。

如下圖所示,嘗試修改默認key_buffer_size改為12M:

停止服務再重啟sql服務

再次查詢如下

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的mysql key buffer_mysql 开发进阶篇系列 16 MySQL Server(myisam key_buffer)的全部內容,希望文章能夠幫你解決所遇到的問題。

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