mysql的最大数据存储量没有最大限制。
最多也就是单字段的长度有限制,那跟字段的数据类型有关,而对于数据表的大小一般不要超过2G,超过了效率会比较慢,建议分开多表存。
上MySQL 能承受的数据量的多少主要和数据表的结构有关,并不是一个固定的数值。表的结构简单,则能承受的数据量相对比结构复杂时大些。
据D.V.B 团队以及Cmshelp 团队做CMS 系统评测时的结果来看,MySQL单表大约在2千万条记录(4G)下能够良好运行,经过数据库的优化后5千万条记录(10G)下运行良好。
扩展资料
由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
参考资料来源:百度百科-MySQL数据库
相关查看命令
sql>show global variables like 'innodb_buffer_pool_size'
sql>show global status like 'Innodb_buffer_pool_pages_data'
sql>show global status like 'Innodb_page_size'
有的参数对应不同引擎,比如对于innodb引擎的,都是innodb_打头。
例如:
innodb_buffer_pool_size = 81920M
join_buffer_size = 1024M
innodb_sort_buffer_size =1024M
sort_buffer_size = 2048M
read_rnd_buffer_size = 2048M
innodb_log_buffer_size = 128M
innodb_log_file_size =2048M
innodb_log_files_in_group=10
bulk_insert_buffer_size=4096M
myisam_sort_buffer_size = 512M
myisam_max_sort_file_size = 10G
thread_cache_size = 300
ft_min_word_len = 1 #for chinese full text search
query_cache_size = 512M
query_cache_limit = 4M
query_cache_type = 0
query_cache_min_res_unit = 2k
thread_stack = 512K
tmp_table_size = 3G
max_heap_table_size = 3G
long_query_time = 3
log-slave-updates
max_binlog_cache_size = 8M
调优参考计算方法:
val = Innodb_buffer_pool_pages_data / Innodb_buffer_pool_pages_total * 100%
val >95% 则考虑增大 innodb_buffer_pool_size, 建议使用物理内存的75%
val <95% 则考虑减小 innodb_buffer_pool_size, 建议设置为:Innodb_buffer_pool_pages_data * Innodb_page_size * 1.05 / (1024*1024*1024)
设置命令:set global innodb_buffer_pool_size = 2097152//缓冲池字节大小,单位kb,如果不设置,默认为128M
设置要根据自己的实际情况来设置,如果设置的值不在合理的范围内,并不是设置越大越好,可能设置的数值太大体现不出优化效果,反而造成系统的swap空间被占用,导致 *** 作系统变慢,降低sql查询性能。
修改配置文件的调整方法,修改my.cnf配置:
innodb_buffer_pool_size = 2147483648 #设置2G
innodb_buffer_pool_size = 2G #设置2G
innodb_buffer_pool_size = 500M #设置500M
MySQL5.7及以后版本,改参数时动态的,修改后,无需重启MySQL,但是低版本,静态的,修改后,需要重启MySQL。
MySQL 3.22 限制的表大小为4GB。由于在MySQL 3.23 中使用了MyISAM 存储引擎,最大表尺寸增加到了65536TB(2567 – 1字节)。由于允许的表尺寸更大,MySQL数据库的最大有效表尺寸通常是由 *** 作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。
InnoDB 存储引擎将InnoDB 表保存在一个表空间内,该表空间可由数个文件创建。这样,表的大小就能超过单独文件的最大容量。表空间可包括原始磁盘分区,从而使得很大的表成为可能。表空间的最大容量为64TB。
扩展资料
据D.V.B 团队以及Cmshelp 团队做CMS 系统评测时的结果来看,MySQL单表大约在2千万条记录(4G)下能够良好运行,经过数据库的优化后5千万条记录(10G)下运行良好。
这对于MySQL是不公平的,那些CMS厂商非但没有把内核做好反而还在添加很多花哨的功能,最终导致其产品自身负载过低。
他们并没有针对自身负载效果作出相应的数据库优化方案及标准,而是继续保留着复杂的结构造成对MySQL的资源无休止的浪费,最终导致了其负载上的缺陷。
于是他们便充分发挥中国人的传统优势——变通:避重就轻的采用了所谓的分表式存储,虽然在一定程度上缓解了自身负载的缺陷,但是导致了网站后期维护以及资源上的浪费。
用一个不恰当的比喻来形容,MySQL中的的表就像一块地,单表就相当于利用这块地盖高层建筑充分利用达到高人员负载,但分表就相当于用这块地盖了一间平房。
如果为了达到高人员负载的话那就需要另开地皮达到目的,但是我们要思考,是地不够,还是他的能力不够,如此做法让人感到资源的浪费以及规划的严重缺陷。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)