MySQL 優(yōu)化設(shè)置步驟
如果使用的是MySQL 5.0.x
可以直接將以下內(nèi)容保存替換MySQL中的my.ini,記得要修改basedir和datadir兩個(gè)欄目的路徑。
[client]
port=3306
[mysql]
default-character-set=gbk
[mysqld]
port=3306
basedir="D:/web/mysql/"
datadir="D:/web/mysql/Data/"
default-character-set=gbk
default-storage-engine=MYISAM
max_connections=1910
query_cache_limit=2M
query_cache_size=64M
query_cache_type=1
table_cache=64
tmp_table_size=32M
thread_cache_size=64
myisam_sort_buffer_size=8M
key_buffer_size=256M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=208K
skip-bdb
back_log=500
skip-locking
skip-innodb
thread_concurrency=16
max_connect_errors=30000
wait_timeout=120
max_allowed_packet=2M
interactive_timeout=120
local-infile = 0
增加數(shù)據(jù)庫(kù)日志記錄
在MySQL的配置文件my.ini最下面加入以下內(nèi)容,將你需要記錄的日志類(lèi)型欄目前面的#注釋符去掉,然后=后面填寫(xiě)日志文件名稱(chēng)(該文件需手動(dòng)建立,程序方可在其寫(xiě)入日志)使其生效。
#Enter a name for the error log file. Otherwise a default name will be used.
#log-error=
#Enter a name for the query log file. Otherwise a default name will be used.
#log=
#Enter a name for the slow query log file. Otherwise a default name will be used.
#log-slow-queries= log-slow-queries.txt
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=
增加中文全文索引
在MySQL的配置文件my.ini最下面加入以下內(nèi)容。
# Minimum word length to be indexed by the full text search index.
# You might wish to decrease it if you need to search for shorter words.
# Note that you need to rebuild your FULLTEXT index, after you have
# modified this value.
ft_min_word_len = 1
從MySQL4.0開(kāi)始就支持全文索引功能,但是MySQL默認(rèn)的最小索引長(zhǎng)度是4。如果是英文默認(rèn)值是比較合理的,但是中文絕大部分詞都是2個(gè)字符,這就導(dǎo)致小于4個(gè)字的詞都不能被索引,全文索引功能就形同虛設(shè)了。國(guó)內(nèi)的空間商大部分可能并沒(méi)有注意到這個(gè)問(wèn)題,沒(méi)有修改MySQL的默認(rèn)設(shè)置。
為什么要用全文索引呢?
一般的數(shù)據(jù)庫(kù)搜索都是用的SQL的like語(yǔ)句,like語(yǔ)句是不能利用索引的,每次查詢都是從第一條遍歷至最后一條,查詢效率極其低下。一般數(shù)據(jù)超過(guò)10萬(wàn)或者在線人數(shù)過(guò)多,like查詢都會(huì)導(dǎo)致數(shù)據(jù)庫(kù)崩潰。這也就是為什么很多程序都只提供標(biāo)題搜索的原因了,因?yàn)槿绻阉鲀?nèi)容,那就更慢了,幾萬(wàn)數(shù)據(jù)就跑不動(dòng)了。
MySQL全文索引是專(zhuān)門(mén)為了解決模糊查詢提供的,可以對(duì)整篇文章預(yù)先按照詞進(jìn)行索引,搜索效率高,能夠支持百萬(wàn)級(jí)的數(shù)據(jù)檢索。
如果您使用的是自己的服務(wù)器,請(qǐng)馬上進(jìn)行設(shè)置,不要浪費(fèi)了這個(gè)功能。
如果您使用的是虛擬主機(jī),請(qǐng)馬上聯(lián)系空間商修改配置。首先,MySQL的這個(gè)默認(rèn)值對(duì)于中文來(lái)說(shuō)就是一個(gè)錯(cuò)誤的設(shè)置,修改設(shè)置等于糾正了錯(cuò)誤。其次,這個(gè)配置修改很簡(jiǎn)單,也就是幾分鐘的事情,而且搜索效率提高也降低了空間商數(shù)據(jù)庫(kù)宕掉的幾率。如果你把本篇文章發(fā)給空間商,我相信絕大部分都會(huì)愿意改的。
特別注意:無(wú)論做以上哪一項(xiàng)修改后都必須重啟MySQL服務(wù)使修改生效。
重啟方法
方法一:在開(kāi)始-運(yùn)行輸入:net stop mysql 回車(chē),再在運(yùn)行輸入:net start mysql 回車(chē)。
方法二:或者開(kāi)始-控制面板-管理工具-服務(wù),然后找到 MySQL這一項(xiàng)點(diǎn)擊右鍵,選擇重啟服務(wù)。
相關(guān)文章
在Ubuntu或Debian系統(tǒng)的服務(wù)器上卸載MySQL的方法
這篇文章主要介紹了在Ubuntu或Debian系統(tǒng)的服務(wù)器上卸載MySQL的方法,適用于Debian系的Linux系統(tǒng),需要的朋友可以參考下2015-06-06MySql 如何實(shí)現(xiàn)無(wú)則插入有則更新
這篇文章主要介紹了MySql 實(shí)現(xiàn)無(wú)則插入有則更新的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06mysql去除重復(fù)數(shù)據(jù)只保留一條數(shù)據(jù)實(shí)例
這篇文章主要給大家介紹了關(guān)于mysql去除重復(fù)數(shù)據(jù)只保留一條數(shù)據(jù)的相關(guān)資料,在使用MySQL時(shí),有時(shí)需要查詢出某個(gè)字段不重復(fù)的記錄,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08Myeclipse 自動(dòng)生成可持久化類(lèi)的映射文件的方法
這篇文章主要介紹了Myeclipse 自動(dòng)生成可持久化類(lèi)的映射文件的方法的相關(guān)資料,這里提供了詳細(xì)的實(shí)現(xiàn)步驟,需要的朋友可以參考下2016-11-11mysql 替換字段部分內(nèi)容及mysql 替換函數(shù)replace()
這篇文章主要介紹了mysql 替換字段部分內(nèi)容及mysql 替換函數(shù)replace()的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-02-02MySQL數(shù)據(jù)庫(kù)優(yōu)化經(jīng)驗(yàn)詳談(服務(wù)器普通配置)
同時(shí)在線訪問(wèn)量繼續(xù)增大 對(duì)于1G內(nèi)存的服務(wù)器明顯感覺(jué)到吃力嚴(yán)重時(shí)甚至每天都會(huì)死機(jī) 或者時(shí)不時(shí)的服務(wù)器卡一下 這個(gè)問(wèn)題曾經(jīng)困擾了我半個(gè)多月MySQL使用是很具伸縮性的算法,因此你通常能用很少的內(nèi)存運(yùn)行或給MySQL更多的被存以得到更好的性能。2011-03-03Mysql實(shí)現(xiàn)水平分庫(kù)的示例代碼
本文主要介紹了Mysql實(shí)現(xiàn)水平分庫(kù)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06mysql踩坑之count distinct多列問(wèn)題
這篇文章主要介紹了mysql踩坑之count distinct多列問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03