Mysql必須了解的參數(shù)配置與數(shù)據(jù)庫(kù)設(shè)計(jì)

mysql服務(wù)器的參數(shù)類(lèi)型

基于參數(shù)的作用域:

全局參數(shù)
set global autocommit = ON/OFF;

會(huì)話(huà)參數(shù)(會(huì)話(huà)參數(shù)不單獨(dú)設(shè)置則會(huì)采用全局參數(shù))
set session autocommit = ON/OFF;

注意:
全局參數(shù)的設(shè)定對(duì)于已經(jīng)存在的會(huì)話(huà)無(wú)法生效
會(huì)話(huà)參數(shù)的設(shè)定隨著會(huì)話(huà)的銷(xiāo)毀而失效
全局類(lèi)的統(tǒng)一配置建議配置在默認(rèn)配置文件中,否則重啟服務(wù)會(huì)導(dǎo)致配置失效

mysql --help

尋找配置文件的位置和加載順序
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf

mysql --help | grep -A 1 'Default options are read from the following
files in the given order'

最大連接數(shù)配置
max_connections

系統(tǒng)句柄數(shù)配置
/etc/security/limits.conf
ulimit -a

mysql句柄數(shù)配置
/usr/lib/systemd/system/mysqld.service

配置文件的參數(shù):

port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /data/mysql
pid-file = /data/mysql/mysql.pid
user = mysql
bind-address = 0.0.0.0
max_connections=2000
lower_case_table_names = 0 #表名區(qū)分大小寫(xiě)
server-id = 1
tmp_table_size=16M
transaction_isolation = REPEATABLE-READ
ready_only=1

每一個(gè)connection內(nèi)存參數(shù)配置:

sort_buffer_size connection排序緩沖區(qū)大小
建議256K(默認(rèn)值)-> 2M之內(nèi)
當(dāng)查詢(xún)語(yǔ)句中有需要文件排序功能時(shí),馬上為connection分配配置的內(nèi)存大小

join_buffer_size connection關(guān)聯(lián)查詢(xún)緩沖區(qū)大小
建議256K(默認(rèn)值)-> 1M之內(nèi)
當(dāng)查詢(xún)語(yǔ)句中有關(guān)聯(lián)查詢(xún)時(shí)佩迟,馬上分配配置大小的內(nèi)存用這個(gè)關(guān)聯(lián)查詢(xún)现喳,所以有可能在一個(gè)查詢(xún)語(yǔ)句中會(huì)分配很多個(gè)關(guān)聯(lián)查詢(xún)緩沖區(qū)

上述配置4000連接占用內(nèi)存:
4000*(0.256M+0.256M) = 2G

Innodb_buffer_pool_size
innodb buffer/cache的大星吞(默認(rèn)128M)
Innodb_buffer_pool

數(shù)據(jù)緩存
索引緩存
緩沖數(shù)據(jù)
內(nèi)部結(jié)構(gòu)

大的緩沖池可以減小多次磁盤(pán)I/O訪(fǎng)問(wèn)相同的表數(shù)據(jù)以提高性能
參考計(jì)算公式:
Innodb_buffer_pool_size = (總物理內(nèi)存 - 系統(tǒng)運(yùn)行所用 - connection 所用)* 90%

wait_timeout
服務(wù)器關(guān)閉非交互連接之前等待活動(dòng)的秒數(shù)
innodb_open_files
限制Innodb能打開(kāi)的表的個(gè)數(shù)
innodb_write_io_threads
innodb_read_io_threads
innodb使用后臺(tái)線(xiàn)程處理innodb緩沖區(qū)數(shù)據(jù)頁(yè)上的讀寫(xiě) I/O(輸入輸出)請(qǐng)求
innodb_lock_wait_timeout
InnoDB事務(wù)在被回滾之前可以等待一個(gè)鎖定的超時(shí)秒數(shù)

https://www.cnblogs.com/wyy123/p/6092976.html 常見(jiàn)配置的帖子

數(shù)據(jù)庫(kù)三范式

第一范式( 1NF):

字段具有原子性,不可再分师幕。 所有關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)都滿(mǎn)足第一范式)數(shù)據(jù)庫(kù)表中的字段都是單一屬性的隆圆, 不可再分;

第二范式( 2NF):

要求實(shí)體的屬性完全依賴(lài)于主鍵俭识。 所謂完全依賴(lài)是指不能存在僅依賴(lài)主鍵一部分的屬性,如果存在洞渔, 那么這個(gè)屬性和主關(guān)鍵字的這一部分應(yīng)該分離出來(lái)形成一個(gè)新的實(shí)體套媚, 新實(shí)體與原實(shí)體之間是一對(duì)多的關(guān)系。為實(shí)現(xiàn)區(qū)分通常需要為表加上一個(gè)列磁椒,以存儲(chǔ)各個(gè)實(shí)例的惟一標(biāo)識(shí)凑阶。
簡(jiǎn)而言之, 第二范式就是屬性完全依賴(lài)主鍵衷快。

第三范式( 3NF):

滿(mǎn)足第三范式( 3NF) 必須先滿(mǎn)足第二范式( 2NF)宙橱。 簡(jiǎn)而言之, 第三范式( 3NF)要求一個(gè)數(shù)據(jù)庫(kù)表中不包含已在其它表中已包含的非主鍵信息蘸拔。

簡(jiǎn)單一點(diǎn):
1师郑, 每一列只有一個(gè)單一的值,不可再拆分
2调窍, 每一行都有主鍵能進(jìn)行區(qū)分
3宝冕, 每一個(gè)表都不包含其他表已經(jīng)包含的非主鍵信息。

充分的滿(mǎn)足第一范式設(shè)計(jì)將為表建立太量的列

數(shù)據(jù)從磁盤(pán)到緩沖區(qū)邓萨,緩沖區(qū)臟頁(yè)到磁盤(pán)進(jìn)行持久的過(guò)程中地梨,列的數(shù)量過(guò)多會(huì)導(dǎo)致性能下降。過(guò)多的列影響轉(zhuǎn)換和持久的性能

過(guò)分的滿(mǎn)足第三范式化造成了太多的表關(guān)聯(lián)

表的關(guān)聯(lián)操作將帶來(lái)額外的內(nèi)存和性能開(kāi)銷(xiāo)

使用innodb引擎的外鍵關(guān)系進(jìn)行數(shù)據(jù)的完整性保證
外鍵表中數(shù)據(jù)的修改會(huì)導(dǎo)致Innodb引擎對(duì)外鍵約束進(jìn)行檢查缔恳,就帶來(lái)了額外的開(kāi)銷(xiāo)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末宝剖,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子歉甚,更是在濱河造成了極大的恐慌万细,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纸泄,死亡現(xiàn)場(chǎng)離奇詭異赖钞,居然都是意外死亡腰素,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)雪营,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)弓千,“玉大人,你說(shuō)我怎么就攤上這事献起〖瞥剩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵征唬,是天一觀的道長(zhǎng)捌显。 經(jīng)常有香客問(wèn)我,道長(zhǎng)总寒,這世上最難降的妖魔是什么扶歪? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮摄闸,結(jié)果婚禮上善镰,老公的妹妹穿的比我還像新娘。我一直安慰自己年枕,他們只是感情好炫欺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著熏兄,像睡著了一般品洛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上摩桶,一...
    開(kāi)封第一講書(shū)人閱讀 51,541評(píng)論 1 305
  • 那天桥状,我揣著相機(jī)與錄音,去河邊找鬼硝清。 笑死辅斟,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼暇矫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了酵幕?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蚁趁,失蹤者是張志新(化名)和其女友劉穎裙盾,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體他嫡,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡番官,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了钢属。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徘熔。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖淆党,靈堂內(nèi)的尸體忽然破棺而出酷师,到底是詐尸還是另有隱情,我是刑警寧澤染乌,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布山孔,位于F島的核電站,受9級(jí)特大地震影響荷憋,放射性物質(zhì)發(fā)生泄漏台颠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一勒庄、第九天 我趴在偏房一處隱蔽的房頂上張望串前。 院中可真熱鬧,春花似錦实蔽、人聲如沸荡碾。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)坛吁。三九已至,卻和暖如春铐尚,著一層夾襖步出監(jiān)牢的瞬間阶冈,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工塑径, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留女坑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓统舀,卻偏偏與公主長(zhǎng)得像匆骗,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子誉简,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容