MYSQL數據庫分庫分表策略和方法

在大數據量、高併發等場景分庫分表可以提高性能,並適應業務長期發展,可是過度拆分會使簡單事情變複雜數據庫

1.限制那確定是有的,由於系統數據庫的表結構信息存儲表,字段爲:ID INT UNSIGNED 類型,最多42億多一點,但確定不會超過;併發

2.主要是文件系統,對同時打開多少個文件有限制性的:2048,可是能夠修改內核參數高併發

3.拆分過多最大的壞處,體如今:數據庫的維護上面;性能

 

3. 文件IO分配,空間佔用方面
innodb_file_per_table
做用:使每一個Innodb的表,有自已獨立的表空間。如刪除文件後能夠回收那部分空間。
分配原則:只有使用不使用。但DB還須要有一個公共的表空間。
設置方法:
innodb_file_per_table=1大數據

innodb_file_io_threads
做用:文件讀寫IO數,這個參數只在Windows上起做用。在LINUX上只會等於4
設置方法:
innodb_file_io_threads=4io

innodb_open_files
做用:限制Innodb能打開的表的數據。
分配原則:若是庫裏的表特別多的狀況,請增長這個。這個值默認是300。
設置方法:
innodb_open_files=800 
請適當的增長table_cacheinnodb

相關文章
相關標籤/搜索