mysql占用多大的存储空间?

mysql占用多大的存储空间?,第1张

mysql的程序一共几十兆。跟其他数据库一样,需要占有多少空间要看数据库内容的大小。

如果想知道MySQL数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的 information_schema 数据库。在该库中有一个 TABLES 表,这个表主要字段分别是:

TABLE_SCHEMA : 数据库名

TABLE_NAME:表名

ENGINE:所使用的存储引擎

TABLES_ROWS:记录数

DATA_LENGTH:数据大小

INDEX_LENGTH:索引大小

所以要知道一个表占用空间的大小,那就相当于是 数据大小 + 索引大小 即可。

MySQL 3.22 限制的表大小为4GB。由于在MySQL 3.23 中使用了MyISAM 存储引擎,最大表尺寸增加到了65536TB(2567 – 1字节)。由于允许的表尺寸更大,MySQL数据库的最大有效表尺寸通常是由 *** 作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。

InnoDB 存储引擎将InnoDB 表保存在一个表空间内,该表空间可由数个文件创建。这样,表的大小就能超过单独文件的最大容量。表空间可包括原始磁盘分区,从而使得很大的表成为可能。表空间的最大容量为64TB。

扩展资料

MySQL数据库中,数据量越来越大的优化方案:

单表优化可以从这几个角度出发:

1、表分区

MySQL在5.1之后才有的,可以看做是水平拆分,分区表需要在建表的需要加上分区参数,用户需要在建表的时候加上分区参数;分区表底层由多个物理子表组成,但是对于代码来说,分区表是透明的。

SQL中的条件中最好能带上分区条件的列,这样可以定位到少量的分区上,否则就会扫描全部分区。

2、增加缓存

主要的思想就是减少对数据库的访问,缓存可以在整个架构中的很多地方;比如:数据库本身有就缓存,客户端缓存,数据库访问层对SQL语句的缓存,应用程序内的缓存,第三方缓存(如Redis等)。

innodb的可以用以下方式设置

[mysqld]

innodb_data_file_path = ts #用来容纳InnoDB数据表的表空间:可能涉及一个以上的文件;每一个表空间文件的最大长度都必须以B,MB,GB为单位给出;表空间文件的名字必须以分号隔开;最后一个表空间文件还以带有一个autoextend属性和一个最大长度(max:n)。如:ibdata1:1Gibdata2:1G:autoextend:max:2G。默认设置是ibdata1:10M:autoextend

innodb_autoextend_increment = n #带有autoextend属性的表空间文件每次加大多少兆字节(默认是8MB),该属性不涉及具体的数据表文件,那些文件的增大速度相对是比较小的

示例:

innodb_data_file_path=ibdata1:50Mibdata2:50M:autoextend

myisam:

与系统有关


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7253629.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存