bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

優(yōu)化SQL系統(tǒng)變量分析

這篇文章主要介紹“優(yōu)化SQL系統(tǒng)變量分析”,在日常操作中,相信很多人在優(yōu)化SQL系統(tǒng)變量分析問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”優(yōu)化SQL系統(tǒng)變量分析”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)建站專注于企業(yè)成都營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、西峰網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)成都商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為西峰等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

1、全局內(nèi)存緩沖區(qū)
1)key_buffer_size
    該變量是只存儲(chǔ)MyISAM索引信息的全局內(nèi)存緩沖區(qū)。在對(duì)應(yīng)的.MYI文件中的索引數(shù)據(jù)從磁盤上被讀取出來然后存入這個(gè)緩沖區(qū)。想要調(diào)整key_buffer_size的大小,只需要簡(jiǎn)單統(tǒng)計(jì)所有MyISAM表中總索引的大小,然后隨著數(shù)據(jù)隨時(shí)間增長(zhǎng)而調(diào)整。
 當(dāng)這個(gè)索引碼緩沖區(qū)中沒有足夠的空間來存儲(chǔ)新的索引數(shù)據(jù)時(shí),將會(huì)用最近最少使用的的方法覆蓋掉舊的頁面。
2)innodb_buffer_pool_size
    innodb_buffer_pool_size是用來存儲(chǔ)所有InnoDB數(shù)據(jù)和索引的全局內(nèi)存緩沖區(qū)。對(duì)完全使用InnoDB的數(shù)據(jù)庫來說,這是個(gè)很重要的緩沖區(qū),一定要正確分配,不正確的分配這個(gè)緩沖區(qū)可能導(dǎo)致額外的磁盤IO開銷并降低查詢性能。
    常見的方法是把innodb_buffer_pool_size設(shè)定為RAM的80%,但是很多情況下這樣設(shè)定不合理,如RAM大小50G,而數(shù)據(jù)庫總量只有2G。
    可以使用SHOW GLOBAL STATUS或者SHOW ENGINE INNODB STATUS命令來監(jiān)控InnoDB緩沖池的使用情況。

MySQL> SHOW GLOBAL STATUS LIKE 'innodb_buffer%';

3)innodb_additional_mem_pool_size
    innodb_additional_mem_pool_size變量為InnoDB特定數(shù)據(jù)字典信息定義了內(nèi)存池。對(duì)于這個(gè)變量,沒有什么好的方法來確定它的最優(yōu)值,一般將其設(shè)置為10M。
4)query_cache_size
    query_cache_size變量是一個(gè)用來存儲(chǔ)經(jīng)常緩存過的查詢?nèi)謨?nèi)存緩沖區(qū)。使用query_cache_type變量可以總體啟用和禁用查詢緩存。啟用時(shí)query_cache_size的值可能為0,這表示沒有查詢需要被緩存。而MySQL實(shí)例可以通過動(dòng)態(tài)的改變query_cache_size的值在某個(gè)時(shí)間仍然可以支持緩存。
2、全局/會(huì)話內(nèi)存緩沖區(qū)
1)max_heap_table_size
      這個(gè)變量定義了MySQL MEMORY存儲(chǔ)引擎表的最大容量。當(dāng)某個(gè)表容量超過最大值時(shí),應(yīng)用程序會(huì)收到下面的信息。
mysql> set session max_heap_table_size=1024*1024;
 Query OK, 0 rows affected (0.02 sec)
 mysql> create table test (id int(10),user_type varchar(20),code int(10)) engine=memory;
 Query OK, 0 rows affected (0.02 sec)
 mysql> insert into test select * from t_user_info_tmp_bak;
ERROR 1114 (HY000): The table 'test' is full

    這個(gè)變量有一個(gè)全局默認(rèn)值,而且在上例的每個(gè)線程上也可以指定這個(gè)變量的值。MySQL并沒有為所有MEMORY表的總?cè)萘孔鋈魏蜗拗啤_@個(gè)變量?jī)H用于單個(gè)表。
MEMORY存儲(chǔ)引擎表的總大小可以通過SHOW TABLE STATUS命令和INFORMATION_SCHEMA.TABLES表來確定。
2)tmp_table_size
    max_heap_table_size和tmp_table_size變量中的最小值定義了內(nèi)部表的最大容量,內(nèi)部臨時(shí)表用于存儲(chǔ)在內(nèi)存中的查詢執(zhí)行過程。如果在explain select的結(jié)果中的extra列中出現(xiàn)了using temporary,那么可以判斷在查詢執(zhí)行過程中用到了內(nèi)部臨時(shí)表。
    MySQL使用memory存儲(chǔ)引擎來支持這些內(nèi)部臨時(shí)表,但是內(nèi)部臨時(shí)表的容量超過max_heap_table_size和tmp_table_size中的最小值是,MySQL會(huì)在臨時(shí)位置創(chuàng)建一個(gè)基于MyISAM磁盤的表。
3、會(huì)話緩沖區(qū)
1)join_buffer_size
    join_buffer_size定義了每個(gè)線程的內(nèi)存緩沖區(qū),當(dāng)查詢必須連接兩個(gè)表的數(shù)據(jù)集并且不能使用索引時(shí),這個(gè)緩沖區(qū)會(huì)被用到。這個(gè)緩沖區(qū)是專門為每個(gè)線程的索引連接操作準(zhǔn)備的。可以通過查詢計(jì)劃中Extra列的值為Using join buffer來證明使用了這個(gè)緩沖區(qū)。建議這個(gè)緩沖區(qū)設(shè)置為默認(rèn)大小。增加這個(gè)緩沖區(qū)的大小也不會(huì)加快連接操作的速度。
2)sort_buffer_size
    這個(gè)變量定義了每個(gè)線程用于對(duì)結(jié)果集排序的每線程緩沖區(qū)。可以通過查詢計(jì)劃中extra列的值為Using file-sort來確定使用了這個(gè)緩沖區(qū)。不推薦增加這個(gè)緩沖區(qū)的大小,因?yàn)檫@個(gè)緩沖區(qū)是完全分配給每個(gè)請(qǐng)求的,而且當(dāng)默認(rèn)值太大時(shí)可能會(huì)降低查詢的執(zhí)行速度。
3)read_buffer_size
    當(dāng)SQL查詢執(zhí)行連續(xù)的表數(shù)據(jù)掃描時(shí)會(huì)用到這個(gè)緩沖區(qū)。只有在大量連續(xù)表數(shù)據(jù)掃描時(shí)才推薦增加這個(gè)緩沖區(qū)的大小。
4)read_rnd_buffer_size
    這個(gè)緩沖區(qū)用來存儲(chǔ)那些作為排序操作的結(jié)果被讀取的數(shù)據(jù)。這個(gè)緩沖區(qū)和read_buffer_size的不同之處在于,他讀取的連續(xù)數(shù)據(jù)是和數(shù)據(jù)在磁盤上的存儲(chǔ)方式相關(guān)的。只有在執(zhí)行大型ORDER BY語句時(shí)才推薦增加這個(gè)緩沖區(qū)的大小。
4、有關(guān)基礎(chǔ)工具的變量
1)slow_query_log
    這個(gè)布爾類型的變量可以啟用執(zhí)行緩慢的查詢的日志功能,日志將會(huì)報(bào)告索引執(zhí)行時(shí)間超過long_query_time變量值的查詢。
2)slow_query_log_file
    這個(gè)變量定義了當(dāng)慢查詢?nèi)罩竟δ荛_啟時(shí)保存所有被記錄的查詢文件的文件名。這個(gè)是全局變量,可以動(dòng)態(tài)改變它的值。
3)general_log
    這個(gè)變量用來啟用記錄每條查詢執(zhí)行情況的全面查詢?nèi)罩尽_@個(gè)變量只能在每個(gè)服務(wù)器實(shí)例值上啟用或者禁用。這是個(gè)全局變量,可以動(dòng)態(tài)改變它的值。
4)general_log_file
這個(gè)變量定義了記錄了當(dāng)全面日志啟用時(shí)所有SQL查詢的文件名,這是個(gè)全局變量,可以動(dòng)態(tài)改變它的值。
5)long_query_time
    這個(gè)變量指定了一個(gè)查詢執(zhí)行時(shí)間的限制,當(dāng)慢查詢?nèi)罩竟δ軉⒂脮r(shí),執(zhí)行時(shí)間超過這個(gè)限制的查詢都會(huì)被記錄在慢查詢?nèi)罩局小?br/>6)log_output
    這個(gè)變量定義了慢查詢?nèi)罩竞腿娌樵內(nèi)罩镜妮敵鑫恢茫行У倪x項(xiàng)有file,table,none。當(dāng)定義輸出位置為file是,日志的輸出文件分別由slow_query_log_file和general_log_file系統(tǒng)變量來定義。如果這個(gè)變量為table,日志輸出將會(huì)分別記錄在mysql.slow_log和mysql.general_log表中。這兩個(gè)表是在內(nèi)部以CSV存儲(chǔ)引擎定義的,所以不支持任何索引。這是個(gè)全局變量,可被動(dòng)態(tài)定義。
5、其他優(yōu)化變量
1)optimizer_switch
    這個(gè)變量定義了一系列MySQL查詢優(yōu)化器特性的高級(jí)開關(guān),可以用來關(guān)閉(默認(rèn)是激活狀態(tài))三種不同的索引合并條件以及引擎下推條件。
2)default_storage_engine
    當(dāng)未指定ENGINE值時(shí),這個(gè)變量用來為create table命令指定存儲(chǔ)引擎。
3)max_allowed_packet
    可以用max_allowed_packet變量來定義SQL查詢結(jié)果集的最大值。增大這個(gè)值會(huì)運(yùn)行查詢返回更大的結(jié)果集。

到此,關(guān)于“優(yōu)化SQL系統(tǒng)變量分析”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

當(dāng)前文章:優(yōu)化SQL系統(tǒng)變量分析
鏈接地址:http://vcdvsql.cn/article42/iigshc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣電子商務(wù)App設(shè)計(jì)云服務(wù)器虛擬主機(jī)品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)