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

相关文章
相关标签/搜索