mysql資料庫優化配置
作業系統配置優化
資料庫是基於作業系統的,由於mysql安裝在linux上,所以對於作業系統的一些引數配置也會影響到mysql效能
網路方面配置,修改/etc/sysctl.conf檔案
#增加tcp支援的佇列數
net.ipv4.tcp_max_syn_backlog = 65535
#減少斷開連線時,資源**
net.ipv4.tcp_max_tw_buckets = 8000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle =1
net.ipv4.tcp_fin_timeout = 10
開啟檔案數限制,可以使用ulimit –a檢視目錄的各位現在,修改/etc/security/limits.conf檔案,增加或者修改一下內容。
soft nofile 65535
hard nofile 65535
如果沒有必要,關閉iptables,selinux等防火牆軟體
mysql配置檔案優化
獲取mysql配置檔案
mysqld –verbose –help |grep –a 1 『default option』
如果存在多個配置檔案,後面會覆蓋前面的
innodb_buffer_pool_size = 300m
innodb快取池,一般配置為總記憶體的75%
獲取資料庫中資料大小
select engine,
round(sum(data_length + index_length)/1024/1024,1) as "total mb"
from information_schema.tables where table_schema not in ("information_schema","performance_schema")
group by engine;
innodb_buffer_pool_size >=totabl mb
innodb_buffer_pool_instances = 4
#緩衝池個數,預設是1,可以設定成4或者8
innodb_log_buffer_size = 16m
#innodb日誌快取大小,不用設定太大
innodb_flush_log_at_trx_commit = 2
#對innodb io影響很大,建議設定成2,如果需要資料安全性較高,可以設定成預設值1
innodb_read_io_threads = 8
innodb_write_io_threads = 8
#innodb io程序數,根據cpu核數確定
innodb_file_per_table = 2
#每乙個表使用乙個表空間
innodb_stats_on_metadata = off
#決定了在什麼情況下重新整理innodb表統計資訊
mysql的優化 MySQL優化
一 sql語句優化 1 使用limit對查詢結果的記錄進行限定 2 避免select 將需要查詢的字段列出來 3 使用連線 join 來代替子查詢 4 拆分大的delete或insert語句 二 選擇合適的資料型別 1 使用可存下資料的最小的資料型別,整型 date,time char,varcha...
mysql 隨機優化 mysql 優化
mysql優化包括兩方面,一方面是sql優化,另一方面是資料庫配置優化 一 sql優化 1.優化資料型別 盡量將字段設定為 not null,如果你要儲存null,手動去設定它,而不是把它設為預設值 盡量可能的使用更小的字段,但也不要太過執著減小資料型別,要為以後的程式拓展預留一定的空間 盡量少用v...
mysql效能優化 mysql效能優化
優化方式 1.空間換時間 冗餘 2.時間換空間 字段優先使用型別 int date char varchar text 索引型別 btree索引 hash索引 索引的葉子下,存放乙個資訊指向所在行的資料位址。btree有利於範圍查詢,hash有利於精確查詢。btree用的更多一些。btree索引的常...