MySQL322限制的表大小为4GB。由于在MySQL323中使用了MyISAM存储引擎,最大表尺寸增加到了65536TB(2567_1字节)。由于允许的表尺寸更大,MySQL数据库的最大有效表尺寸通常是由 *** 作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。
InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建。这样,表的大小就能超过单独文件的最大容量。表空间可包括原始磁盘分区,从而使得很大的表成为可能。表空间的最大容量为64TB。
扩展资料
据DVB团队以及Cmshelp团队做CMS系统评测时的结果来看,MySQL单表大约在2千万条记录(4G)下能够良好运行,经过数据库的优化后5千万条记录(10G)下运行良好。
这对于MySQL是不公平的,那些CMS厂商非但没有把内核做好反而还在添加很多花哨的功能,最终导致其产品自身负载过低。
他们并没有针对自身负载效果作出相应的数据库优化方案及标准,而是继续保留着复杂的结构造成对MySQL的资源无休止的浪费,最终导致了其负载上的缺陷。
于是他们便充分发挥中国人的传统优势——变通:避重就轻的采用了所谓的分表式存储,虽然在一定程度上缓解了自身负载的缺陷,但是导致了网站后期维护以及资源上的浪费。
用一个不恰当的比喻来形容,MySQL中的的表就像一块地,单表就相当于利用这块地盖高层建筑充分利用达到高人员负载,但分表就相当于用这块地盖了一间平房。
如果为了达到高人员负载的话那就需要另开地皮达到目的,但是我们要思考,是地不够,还是他的能力不够,如此做法让人感到资源的浪费以及规划的严重缺陷。
表统计信息是数据库基于成本的优化器最重要的参考信息;统计信息不准确,优化器可能给出不够优化的执行计划或者是错误的执行计划。对统计信息的计算分为非持久化统计信息(实时计算)与持久化统计信息。
非持久化统计信息
统计信息没有保存在磁盘上,而是频繁的实时计算统计信息;
每次对表的访问都会重新计算其统计信息;
假设针对一张大表的频繁查询,那么每次都要重新计算统计信息,很耗费资源。
持久化统计信息
把一张表在某一时刻的统计信息值保存在磁盘上;
避免每次查询时重新计算;
如果表更新不是很频繁,或者没有达到 MySQL 必须重新计算统计信息的临界值,可直接从磁盘上获取;
即使 MySQL 服务重启,也可以快速的获取统计信息值;
统计信息的持久化可以针对全局设置也可以针对单表设置。
接下来,详细说 MySQL 统计信息如何计算,何时计算,效果评估等问题。在 MySQL Server 层来控制是否自动计算统计信息的分布,并且来决策是持久化还是非持久化。
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
有两个数据库文件太大,分别超过12G 和 6G,快把分区挤满,无法进行数据备份和更新了,需要清一下表的内容。
一个数据库,有几十个表,不可能一个个地去count的,请问在查询分析器中,如何快速地找到数据量最大的几个表?
另外,如果我用truncate table命令,那么索引文件也会相应地缩小吗?
谢谢!
解析:
sql的每一个数据库中有一个名名为’sysobjects’的表,这个系统表中储存了当前数据库中所有对象(包括系统表,用户表、日志、存储过程)的信息,可以用这个表链获取数据库中表的数目和名称,之后向获得某个制定数据库的信息,可以使用带参数的 sp_helpbd过程
我想不管是什么db总是有相应的业务逻辑的,最大的那几个表,一定有她的特殊 的业务逻辑,从表名上应该能判断出来,一般存,歌曲或者其他资料的表象对比较大,但是存用户名 以及关联表 ,一般都不会太大,
关于数据库更新,如果是xp或者me 以上的系统看看先把系统还原暂时停止,这样可以节省出来一些空间,或者在挂一块硬盘看看
以上就是关于mysql数据库可以有多大(mysql数据库能存多大数据)全部的内容,包括:mysql数据库可以有多大(mysql数据库能存多大数据)、如何用sql统计数据库表的大小、sql数据库中,如何快速找数据量最大的几个表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)