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

mysql单表体积和一个库设计多少张表为妥

这篇文章来自于看博客园一个园友的分享经历,原文:http://www.cnblogs.com/qqloving/p/3427138.html

 

他不清楚mysql一个库里面分多少张表合适,他一个库分了8000张表。于是我看了,忍不住作答。

 

于是以个人随笔的形式给自己做知识备忘吧。

 

1、单表体积多大的时候需要分表

 

曾经看过一个博客,分析到什么情况下需要分表。

单表形式访问(也就是对这个表的访问不涉及到join联合查询):单个表的体积大于2g的时候。或者说,单个表的行数达到一千万的时候。

两表jion:表的体积大于2G或行数大于500W。

 

在赶集网石展提到的分享中,纯int行不能超过1000万行,含char类型的字段不能超过500万行。与曾经看过文章提到的1000万和500万很相似。难道这是一个瓶颈值吗?

 

2、单个库控制多少张表为妥


听过赶集网的一个dba的分享视频。他从中提到,mysql的单库表数量不要超过300-400张表。这个我也没试过。不过我想应该是他经验之谈吧。

为什么一个库不能很多张表。我的理解是,mysql一个数据库就是磁盘上一个文件夹。那么里面一张表就需要一个文件记录(像myisam类型的是需要三个文件分别记录表结构,记录索引、记录表数据)。
分8000张表,假设是myisam,则需要8000*3个文件。
操作系统对一个目录有文件数限制,当文件数量太多的时候,查找文件的速度就会慢,所以我们经常见到的上传的图片不会全部放到一个文件夹,一般是按照年月日来生成文件夹。

当然,网友提到表的是innodb类型。
innodb类型有两种方式存储数据:共享表和独享表
独享,Innodb_file_per_table,每个表的数据都对应存储在一个文件中
共享,一个库下面所有的innodb类型表数据都存储在一个文件中。
mysql数据全部放到一个文件中去了,当数据量超过一定额度,又会新生成一个数据文件来存储。

 

 

 

转载于:https://www.cnblogs.com/wangtao_20/p/3428277.html

相关文章:

  • 安装DPM 2012 R2时报错一例
  • 错误日志记录
  • 动态编译执行java类
  • 第三部分:Android 应用程序接口指南---第一节:应用程序组件---第三章3-3日历provider...
  • Android中的回调Callback
  • 组成_05_CPU
  • 组播地址列表
  • linux 关闭SSH 连接用户
  • 编程面试的10大算法概念汇总
  • solarwinds engineer's toolset   V9.1 安装 及注册机
  • 理解并取证:IPv6与IPv4在报文结构上的区别
  • hibernate 如何实现延迟加载
  • VMware中Ubuntu网络正常但ping不出去
  • web本地存储-LocalStorage
  • Firebug Command Line 详细分析
  • [NodeJS] 关于Buffer
  • 《深入 React 技术栈》
  • Android框架之Volley
  • ERLANG 网工修炼笔记 ---- UDP
  • HTML5新特性总结
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Javascript 原型链
  • Java基本数据类型之Number
  • October CMS - 快速入门 9 Images And Galleries
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • SpringCloud集成分布式事务LCN (一)
  • SQLServer之创建数据库快照
  • vue 配置sass、scss全局变量
  • vue的全局变量和全局拦截请求器
  • Vue官网教程学习过程中值得记录的一些事情
  • web标准化(下)
  • 从地狱到天堂,Node 回调向 async/await 转变
  • - 概述 - 《设计模式(极简c++版)》
  • 回顾2016
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 【干货分享】dos命令大全
  • 【云吞铺子】性能抖动剖析(二)
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • !$boo在php中什么意思,php前戏
  • #define与typedef区别
  • (14)Hive调优——合并小文件
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (4)(4.6) Triducer
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (独孤九剑)--文件系统
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (四)JPA - JQPL 实现增删改查
  • **PHP分步表单提交思路(分页表单提交)
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .Net Web项目创建比较不错的参考文章
  • .NET 设计模式初探
  • .NET 药厂业务系统 CPU爆高分析