主頁(yè) > 知識(shí)庫(kù) > mysql優(yōu)化之query_cache_limit參數(shù)說(shuō)明

mysql優(yōu)化之query_cache_limit參數(shù)說(shuō)明

熱門標(biāo)簽:呼叫中心市場(chǎng)需求 服務(wù)外包 Linux服務(wù)器 網(wǎng)站排名優(yōu)化 AI電銷 鐵路電話系統(tǒng) 地方門戶網(wǎng)站 百度競(jìng)價(jià)排名

query_cache_limit

query_cache_limit指定單個(gè)查詢能夠使用的緩沖區(qū)大小,缺省為1M。

優(yōu)化query_cache_size

  從4.0.1開始,MySQL提供了查詢緩沖機(jī)制。使用查詢緩沖,MySQL將SELECT語(yǔ)句和查詢結(jié)果存放在緩沖區(qū)中,今后對(duì)于同樣的 SELECT語(yǔ)句(區(qū)分大小寫),將直接從緩沖區(qū)中讀取結(jié)果。根據(jù)MySQL用戶手冊(cè),使用查詢緩沖最多可以達(dá)到238%的效率。

  通過(guò)檢查狀態(tài)值Qcache_*,可以知道query_cache_size設(shè)置是否合理(上述狀態(tài)值可以使用SHOW STATUS LIKE ‘Qcache%'獲得)。如果Qcache_lowmem_prunes的值非常大,則表明經(jīng)常出現(xiàn)緩沖不夠的情況,如果Qcache_hits的值也非常大,則表明查詢緩沖使用非常頻繁,此時(shí)需要增加緩沖大??;如果Qcache_hits的值不大,則表明你的查詢重復(fù)率很低,這種情況下使用查詢緩沖反而會(huì)影響效率,那么可以考慮不用查詢緩沖。此外,在SELECT語(yǔ)句中加入SQL_NO_CACHE可以明確表示不使用查詢緩沖。

  與查詢緩沖有關(guān)的參數(shù)還有query_cache_type、query_cache_limit、query_cache_min_res_unit。query_cache_type指定是否使用查詢緩沖,可以設(shè)置為0、1、2,該變量是SESSION級(jí)的變量。query_cache_limit指定單個(gè)查詢能夠使用的緩沖區(qū)大小,缺省為1M。query_cache_min_res_unit是在4.1版本以后引入的,它指定分配緩沖區(qū)空間的最小單位,缺省為4K。檢查狀態(tài)值Qcache_free_blocks,如果該值非常大,則表明緩沖區(qū)中碎片很多,這就表明查詢結(jié)果都比較小,此時(shí)需要減小 query_cache_min_res_unit。

因?yàn)槲覀兊姆?wù)器內(nèi)容96G所以如下設(shè)置

query_cache_size = 128M
query_cache_limit = 8M

比較完整的my.ini文件,大家可以根據(jù)自己的服務(wù)器適當(dāng)調(diào)整,以防止mysql無(wú)法運(yùn)行,這個(gè)是針對(duì)mysql5.6版本的。

[client]
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8
#設(shè)置客戶端的字符編碼
[mysqld]
# generic configuration options
port = 3306
socket = /tmp/mysql.sock
basedir="E:/database/mysql/"
datadir="E:/database/mysql/data/"
tmpdir = "E:/database/mysql/tmp/"
#*** char set ***
character-set-server = utf8
#設(shè)置服務(wù)器端的字符編碼

#下面三個(gè)參數(shù)默認(rèn)12500,1400,2000
performance_schema_max_table_instances = 20000
table_definition_cache = 2000
table_open_cache = 4096

#*** network ***
back_log = 1024
#skip-networking #默認(rèn)沒(méi)有開啟
max_connections = 10000
#max_connect_errors = 3000
table_open_cache = 4096
#external-locking #默認(rèn)沒(méi)有開啟
max_allowed_packet = 256M
max_heap_table_size = 128M
secure_file_priv=''
explicit_defaults_for_timestamp=true
concurrent_insert=2

#*** timeout ***
interactive_timeout=1000
wait_timeout=1000

# *** global cache ***
read_buffer_size = 64M
read_rnd_buffer_size = 64M
sort_buffer_size = 64M
join_buffer_size = 1024M

# *** thread ***
thread_cache_size = 64
# thread_concurrency = 8
thread_stack = 512K

# *** query cache ***
query_cache_size = 128M
query_cache_limit = 8M

# *** index ***
ft_min_word_len = 8

#memlock #默認(rèn)沒(méi)有開啟
default-storage-engine=MYISAM
innodb=OFF
default-tmp-storage-engine=MYISAM
transaction_isolation = REPEATABLE-READ

# *** tmp table ***
tmp_table_size = 1024M

# *** bin log ***
#log-bin=mysql-bin
binlog_cache_size = 4M
binlog_format=mixed
#log_slave_updates #默認(rèn)沒(méi)有開啟
#log #默認(rèn)沒(méi)有開啟,此處是查詢?nèi)罩?,開啟會(huì)影響服務(wù)器性能
log_warnings #開啟警告日志

# *** slow query log ***
slow_query_log
long_query_time = 10
# *** Replication related settings
#server-id = 1
#server-id = 2
#master-host = hostname>
#master-user = username>
#master-password = password>
#master-port = port>
#read_only
#*** MyISAM Specific options
#myisam_recover
key_buffer_size = 2048M
bulk_insert_buffer_size = 128M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover_options=force,backup

# *** INNODB Specific options ***
#skip-innodb #默認(rèn)沒(méi)有開啟
loose-innodb-trx=0
loose-innodb-locks=0
loose-innodb-lock-waits=0
loose-innodb-cmp=0
loose-innodb-cmp-per-index=0
loose-innodb-cmp-per-index-reset=0
loose-innodb-cmp-reset=0
loose-innodb-cmpmem=0
loose-innodb-cmpmem-reset=0
loose-innodb-buffer-page=0
loose-innodb-buffer-page-lru=0
loose-innodb-buffer-pool-stats=0
loose-innodb-metrics=0
loose-innodb-ft-default-stopword=0
#loose-innodb-ft-inserted=0
loose-innodb-ft-deleted=0
loose-innodb-ft-being-deleted=0
loose-innodb-ft-config=0
loose-innodb-ft-index-cache=0
loose-innodb-ft-index-table=0
loose-innodb-sys-tables=0
loose-innodb-sys-tablestats=0
loose-innodb-sys-indexes=0
loose-innodb-sys-columns=0
loose-innodb-sys-fields=0
loose-innodb-sys-foreign=0
loose-innodb-sys-foreign-cols=0

[mysqldump]
quick
max_allowed_packet = 256M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 2048M
sort_buffer_size = 2048M
read_buffer = 32M
write_buffer = 32M

[mysqlhotcopy]
interactive-timeout

[mysqld_safe]
open-files-limit = 10240
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

如果想優(yōu)化mysql可以結(jié)合MySQL的Query Cache詳解的文章。

您可能感興趣的文章:
  • MySQL查詢優(yōu)化:LIMIT 1避免全表掃描提高查詢效率
  • 為什么MySQL分頁(yè)用limit會(huì)越來(lái)越慢
  • 詳解Mysql order by與limit混用陷阱
  • mysql分頁(yè)的limit參數(shù)簡(jiǎn)單示例
  • MySQL limit分頁(yè)大偏移量慢的原因及優(yōu)化方案
  • Mysql排序和分頁(yè)(order by&limit)及存在的坑
  • MySQL limit使用方法以及超大分頁(yè)問(wèn)題解決
  • mysql踩坑之limit與sum函數(shù)混合使用問(wèn)題詳解
  • 如何提高M(jìn)ySQL Limit查詢性能的方法詳解
  • MySQL Limit性能優(yōu)化及分頁(yè)數(shù)據(jù)性能優(yōu)化詳解
  • 淺談mysql使用limit分頁(yè)優(yōu)化方案的實(shí)現(xiàn)
  • MySQL中l(wèi)imit對(duì)查詢語(yǔ)句性能的影響

標(biāo)簽:銅川 黃山 湖南 崇左 湘潭 衡水 蘭州 仙桃

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql優(yōu)化之query_cache_limit參數(shù)說(shuō)明》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266