這篇文章主要講解了“影響數(shù)據(jù)庫性能的MySQL系統(tǒng)變量是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“影響數(shù)據(jù)庫性能的MySQL系統(tǒng)變量是什么”吧!
十年建站經(jīng)驗(yàn), 成都網(wǎng)站建設(shè)、網(wǎng)站制作客戶的見證與正確選擇。創(chuàng)新互聯(lián)提供完善的營銷型網(wǎng)頁建站明細(xì)報(bào)價表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。
bulk_insert_buffer_size
批量插入緩存大小,這個參數(shù)是針對MyISAM存儲引擎來說的。適用于在一次性插入100-1000+條記錄時,提高效率。默認(rèn)值是8M。可以針對數(shù)據(jù)量的大小,翻倍增加。
concurrent_insert
并發(fā)插入,當(dāng)表沒有空洞(刪除過記錄),在某進(jìn)程獲取讀鎖的情況下,其他進(jìn)程可以在表尾部進(jìn)行插入。
值可以設(shè)0不允許并發(fā)插入,1當(dāng)表沒有空洞時,執(zhí)行并發(fā)插入,2。不管是否有空洞都執(zhí)行并發(fā)插入。
默認(rèn)是1。針對表的刪除頻率來設(shè)置。
delay_key_write
針對MyISAM存儲引擎,延遲更新索引。意思是說,update記錄時,先將數(shù)據(jù)up到磁盤,但不up索引,將索引存在內(nèi)存里,當(dāng)表關(guān)閉時,將內(nèi)存索引,寫到磁盤。值為0不開啟,1開啟。默認(rèn)開啟。
delayed_insert_limit,delayed_insert_timeout,delayed_queue_size
延遲插入,將數(shù)據(jù)先交給內(nèi)存隊(duì)列,然后慢慢地插入。但是這些配置,不是所有的存儲引擎都支持,目前來看,常用的InnoDB不支持,MyISAM支持。根據(jù)實(shí)際情況調(diào)大,一般默認(rèn)夠用了。
expire_logs_days
自動刪除超過指定天數(shù)的日志。建議為0,表示“不自動刪除”。
flush,flush_time
是否啟用,同步表數(shù)據(jù)到磁盤。以及自動同步的間隔時間。
針對flush_time,官方建議只在Windows9x或Me,或有最小資源的系統(tǒng)中使用該選項(xiàng)。所以,建議關(guān)閉。
ft_boolean_syntax,ft_max_word_len,ft_min_word_len,ft_query_expansion_limit,ft_stopword_file
針對MyISAM設(shè)置的參數(shù),全文搜索特性。如果你不使用FULLTEXT索引,就不需要優(yōu)化了。詳見mysql參考手冊。
join_buffer_size
用于表間關(guān)聯(lián)(join)的緩存大小。建議設(shè)為131072。(128K)
影響數(shù)據(jù)庫性能的MySQL系統(tǒng)變量有哪些
key_buffer_size
索引塊緩存區(qū)大小,針對MyISAM存儲引擎,該值越大,性能越好。但是超過操作系統(tǒng)能承受的最大值,反而會使mysql變得不穩(wěn)定。
如果不是MyISAM存儲引擎,一般設(shè)置為4-32M大小。
key_cache_age_threshold,key_cache_block_size,key_cache_division_limit
鍵值緩存的相關(guān)設(shè)置。需要針對實(shí)際情況調(diào)優(yōu)。只是針對MyISAM儲存引擎。
large_pages
是否啟動大頁面支持。意思是,可以一些緩存分配更大的空間。這個特性已經(jīng)被InnoDB,MyISAM等常用存儲引擎支持。
low_priority_updates
低優(yōu)先級更新。意思是,所有的寫操作(表寫鎖),包括update,delete,insert等都需要等待讀操作完成后才執(zhí)行(表讀鎖解開)。
因?yàn)槭轻槍Ρ淼逆i,所以,這里僅支持MyISAM。
max_write_lock_count
最大寫鎖數(shù)量。這個變量的含義是,當(dāng)寫鎖達(dá)到一定數(shù)量后,就不限制讀鎖,允許一部分讀鎖進(jìn)入。(可以讀數(shù)據(jù)了,否則需要等待寫鎖釋放后,才能讀)
因?yàn)槭轻槍Ρ淼逆i,所以,這里僅支持MyISAM。
preload_buffer_size
重載索引時分配的緩沖區(qū)大小,該變量僅支持MyISAM。
read_buffer_size,read_rnd_buffer_size
每個線程連續(xù)掃描時為掃描的每個表分配的緩沖區(qū)的大小(字節(jié))。如果進(jìn)行多次連續(xù)掃描,可能需要增加該值,默認(rèn)值為131072。
sort_buffer_size
每個排序線程分配的緩沖區(qū)的大小。增加該值可以加快ORDERBY或GROUPBY操作。默認(rèn)數(shù)值是2097144(2M),建議加大到16777208(16M)。
timed_mutexes
顯示mutexes的統(tǒng)計(jì)信息,默認(rèn)關(guān)閉OFF
tmp_table_size
臨時表的大小,在未超過大小之前進(jìn)行的操作是在內(nèi)存中的,當(dāng)超過后,mysql會自動轉(zhuǎn)換到硬盤上。
感謝各位的閱讀,以上就是“影響數(shù)據(jù)庫性能的MySQL系統(tǒng)變量是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對影響數(shù)據(jù)庫性能的MySQL系統(tǒng)變量是什么這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!