当前位置: 首页 > wzjs >正文

网站建设需要具备哪些西安网站搭建的公司

网站建设需要具备哪些,西安网站搭建的公司,做传媒网站公司,郑州发布直播前言 经常使用MySQL数据库的小伙伴都知道,当单表数据量达到一定的规模以后,查询性能就会显著降低。因此,当单表数据量过大时,我们往往要考虑进行分库分表。那么如何计算单表存储多大的数据量合适?当单表数据达到多大的…

前言

经常使用MySQL数据库的小伙伴都知道,当单表数据量达到一定的规模以后,查询性能就会显著降低。因此,当单表数据量过大时,我们往往要考虑进行分库分表。那么如何计算单表存储多大的数据量合适?当单表数据达到多大的规模时,我们才要进行分库分表呢?

MySQL存储方式

首先我们要先了解一下MySQL存储数据的方式,以下都是针对InnoDB引擎来讲解的。

数据页

为了提高数据查询效率,MySQL采用了数据页的方式进行数据存储,一个数据页的大小是16KB,可以通过以下语句查询。

mysql> SHOW GLOBAL STATUS LIKE 'innodb_page_size';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| Innodb_page_size | 16384 |
+------------------+-------+
1 row in set (0.00 sec)

根据结构示意图,我们可以看到,在这16KB的数据里,除了包括我们要记录的数据,还包含页头和页尾的开销(大约200字节)。因此,一个数据页中的有效数据空间大概为16184字节。

索引结构

InnoDB引擎的索引结构是B+树,只有叶子节点会存储记录的数据,非叶子节点只存索引。

数据量计算

通常来说,三层B+树的索引结构可以达到一个较好的检索性能,只需三次磁盘IO即可完成数据查询。因此,我们以此为例进行计算。

根节点计算

我们假设数据表的主键是一个bigint类型的字段,bigint类型的长度是8Byte。而根节点除了要储存主键字段数据,还有存储下一层索引数据页的地址,大小为6Byte。
可以算出一条数据的索引所占空间为8+6=14Byte,进而可以算出根节点可以存储16184/14=1156个指针。

第二层节点计算

第二层的每个节点的指针数量和根节点一样,都是1156个指针,节点数量和根节点的指针数量一致。因此可以得出,第二层的指针数量为1156*1156=1336336。

叶子节点计算

我们假设一行数据有100个字节,那么一个叶子节点可以存储16184/100≈161条数据。与第二层的指针数量相乘以后,可以得出总数据量为1336336*161=215150096条数据,大约2亿多条。

总结

通过以上的分析,我们可以发现,关于单表的数据量条数限制并没有一个统一的答案。单表可容纳多少数据量,这与表的主键以及数据行长度息息相关,需要具体情况具体分析。
另外,在阿里的开发规范中,关于数据库的建表规约,有一条这样的建议:

【推荐】单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表。
说明:如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。

这个数据规模要比我们计算出来的小很多,可能由以下几个方面的原因导致:

  1. 实际业务中的表字段长度一般不止100个字节,主键索引结构也可能更加复杂,导致单个数据页可以存储的数据量大大降低;
  2. 磁盘IO性能的限制,当时机械硬盘还是主流,对数据量限制较为严格;
  3. 数据备份和恢复的难度,数据量过大会导致数据备份和恢复的难度大大提高。
http://www.dtcms.com/wzjs/817538.html

相关文章:

  • 微信小程序 网站开发如何建设网站吸引人
  • 商业网站策划方案网站建设那些公司比较好
  • 编辑网站教程网站用wordpress还是wp
  • 做个网站需要学会什么中信建设四川分公司招聘
  • 农家乐网站模板苏州钻木网络科技有限公司
  • 北京一家专门做会所的网站网页版游戏排行榜女
  • 做网站如何与腾讯合作机械网站建设比较好的
  • 网站 建设 步骤是邮箱注册申请官网
  • 做网站和seo流程可以做自己的单机网站
  • 慈溪市网站开发访客浏览网站 网站怎么跟踪
  • 江门模板开发建站正保建工网校
  • 深圳wordpress外贸网站建设软件app开发定制
  • 网上做代卖的网站注册一个网站
  • 网站排行榜查询表白网页在线生成制作免费
  • 稻壳企业网站模板wordpress权限数字
  • 网站网页的优化方法陵县网站建设
  • 一个公司可以注册几个网站定制wordpress
  • wordpress导出网站金融公司网站开发
  • 外贸网站建站电话多少做盗版网站会怎样
  • 关键词seo排名怎么样网站维护运营优化公司
  • 做网站工作室建设银行采购网站
  • 宣威市住房和城乡建设局网站下载中心优秀的产品设计与分析
  • 免费com域名网站中山建设网站官网
  • 怎样做网站海报临潼区做网站的公司
  • 做网站图片大会导致慢大连哪个企业想做网站
  • 免费个人网站北京商业设计网站
  • 旅游网站建设要求好用的a站
  • 网站开发模式框架开放平台设计方案
  • 汕头建站程序深圳做app网站建设
  • 装修网站建设价格无锡网站推广外包服务