mysql tcp優化 mysql 優化

2021-10-22 02:07:30 字數 1460 閱讀 6519

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索引的常...