MySQL到底能支持多大的数据量?

MySQL是中小型网站普遍使用的数据库之一,然而,很多人并不清楚MySQL到底能支持多大的数据量,再加上某些国内CMS厂商把数据承载量的责任推给它,导致很多不了解MySQL的站长对它产生了很多误解,那么,MySQL的数据量到底能支持多少呢?其实MySQL单表的上限,主要与操作系统支持的最大文件大小有关。我们来看一下官方的介绍。

MySQL表最大能达到多少?

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

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

事实上MySQL 能承受的数据量的多少主要和数据表的结构有关,并不是一个固定的数值。表的结构简单,则能承受的数据量相对比结构复杂时大些。

据D.V.B 团队以及Cmshelp 团队做CMS 系统评测时的结果来看,MySQL单表大约在2千万条记录(4G)下能够良好运行,经过数据库的优化后5千万条记录(10G)下运行良好。那么为什么国内的某些CMS厂商还会把其产品自身负载差的责任推给MySQL呢?

这对于MySQL是不公平的,那些CMS厂商非但没有把内核做好反而还在添加很多花哨的功能,最终导致其产品自身负载过低。他们并没有针对自身负载效果作出相应的数据库优化方案及标准,而是继续保留着复杂的结构造成对MySQL的资源无休止的浪费,最终导致了其负载上的缺陷,于是他们便充分发挥中国人的传统优势——变通:避重就轻的采用了所谓的分表式存储,虽然在一定程度上缓解了自身负载的缺陷,但是导致了网站后期维护以及资源上的浪费,这样做是否是长久之计呢?虽然他们解决了眼前的问题,但以后呢?难道想无休止的分表来达到目的?

用一个不恰当的比喻来形容,MySQL中的的表就像一块地,单表就相当于利用这块地盖高层建筑充分利用达到高人员负载,但分表就相当于用这块地盖了一间平房,如果为了达到高人员负载的话那就需要另开地皮达到目的,但是我们要思考,是地不够,还是他的能力不够,如此做法让人感到资源的浪费以及规划的严重缺陷。

那么对于这样的CMS系统,有谁敢用?难道为了达到让其良好的运行而无休止的更换着服务器配置么?况且大多情况下一台服务器中不是只有这么一个网站,那么我们就要思考,我们是否是为了满足这么庞大的小CMS 而掏腰包。

建议某些CMS 厂商改善自己的产品,让用户更好的获益。否则,还有谁敢去选择你们的产品呢?

魔由心生,有万境纵横,无一道清静,无量寿佛!
 
转自:https://www.cnblogs.com/qihuan/p/4210489.html

转:MySQL到底能支持多大的数据量?的更多相关文章

  1. MySQL到底能支持多大的数据量?

    MySQL是中小型网站普遍使用的数据库之一,然而,很多人并不清楚MySQL到底能支持多大的数据量,再加上某些国内CMS厂商把数据承载量的责任推给它,导致很多不了解MySQL的站长对它产生了很多误解,那 ...

  2. MySQL能够承受上亿万条的数据量的架构

    MySQL能够承受上亿万条的数据量的架构 最近做的搜索引擎的数据量是越来越大估计了下在中国可能涉及到的1Kw的数据量,就全球来说也就是1K亿而已,最初是用的数据库是MySQL现在来说要做些优化,最终使 ...

  3. NIPT需要多大的数据量(reads number)?

    NIPT需要多大的数据量(reads number)? 调研 2014 Noninvasive prenatal diagnosis of common aneuploidies by semicon ...

  4. Mysql分库分表导出导入和数据量统计测试

    需求:添加创建了分库分表后,业务可能将数据已经写入,但未来得及接入到otter汇总库.接入汇总库前需要初始化这部分数据. 1.导出 ip_port_list ) len=${#ip_port_list ...

  5. 测试唯一ID支持多大的并发量

    昨天突然考虑到这个问题,在并发比较大的情况下,你用于生成唯一ID的函数是否还能正常运行?也就是说比如我一下子进来40000个订单,你需要生成不重复的订单ID吧? 对于这个问题我以前没考虑过,但是可能是 ...

  6. JMeter一台机器可以支持多大的并发量

    Support for concurrent thread is basically depends on many factors like OS, free RAM and connections ...

  7. oracle和mysql如何快速查看每个表的数据量?

    oracle: select t.table_name,t.num_rows from user_tables t ORDER BY NUM_ROWS DESC; mysql: use informa ...

  8. 百亿级别数据量,又需要秒级响应的案例,需要什么系统支持呢?下面介绍下大数据实时分析工具Yonghong Z-Suite

    Yonghong Z-Suite 除了提供优秀的前端BI工具之外,Yonghong Z-Suite让用户可以选购分布式数据集市来支持实时大数据分析. 对于这种百亿级的大数据案例,Yonghong Z- ...

  9. 一文总结高并发大数据量下MySQL开发规范【军规】

    在互联网公司中,MySQL是使用最多的数据库,那么在并发量大.数据量大的互联网业务中,如果高效的使用MySQL才能保证服务的稳定呢?根据本人多年运维管理经验的总结,梳理了一些核心的开发规范,希望能给大 ...

随机推荐

  1. 三层交换,单臂路由,vtp

  2. PAT 1093

    The string APPAPT contains two PAT's as substrings. The first one is formed by the 2nd, the 4th, and ...

  3. 在JDBC中实现SQL语句的模糊查询

    在JDBC中实现SQL语句的模糊查询 在大多数情况下我们可以在JDBC中写入sql语句通过占位符的方式来直接查询,但是如果要进行模糊查询,需要转义字符才能够正常查询. sql语句: select * ...

  4. Java多线程编程(1)--Java中的线程

    一.程序.进程和线程   程序是一组指令的有序集合,也可以将其通俗地理解为若干行代码.它本身没有任何运行的含义,它只是一个静态的实体,它可能只是一个单纯的文本文件,也有可能是经过编译之后生成的可执行文 ...

  5. Python之路【第十七篇】:Python并发编程|协程

    一.协程 协程,又叫微线程,纤程.英文名Coroutine.协程本质上就是一个线程 优点1:协程极高的执行效率.因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线 ...

  6. Java 中的 equals,==与 hashCode 的区别与联系

    一. 关系操作符 ==:若操作数的类型是基本数据类型,则该关系操作符判断的是左右两边操作数的值是否相等若操作数的类型是引用数据类型,则该关系操作符判断的是左右两边操作数的内存地址是否相同.也就是说,若 ...

  7. pytest_assert断言

    前言 断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了.什么是断言呢? 简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试 failed ...

  8. pytest_03_pycharm运行pytest (转:上海悠悠)

    前言 上一篇pytest文档2-用例运行规则已经介绍了如何在cmd执行pytest用例,平常我们写代码在pycharm比较多 写完用例之后,需要调试看看,是不是能正常运行,如果每次跑去cmd执行,太麻 ...

  9. bat命令复制文件

    del HDT675.applicationdel setup.exedel publish.htmRD /S /Q "Application Files"xcopy /E \\1 ...

  10. C# 计时程序运行时间

    第一种   System.DateTime public static void SubTest() { DateTime beforeDT = System.DateTime.Now; , , , ...