mysql单表体积和一个库设计多少张表为妥
来源:互联网 发布:tcl网络电视怎么看卫视 编辑:程序博客网 时间:2024/04/28 23:34
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数据全部放到一个文件中去了,当数据量超过一定额度,又会新生成一个数据文件来存储。
- mysql单表体积和一个库设计多少张表为妥
- mysql单表体积和一个库设计多少张表为妥
- mysql查询一个库中有多少张表
- mysql查询数据库有多少张表
- 查看mysql数据库有多少张表....
- Mysql将3张表合并为一个表
- sql server 查询一个数据库中有多少张表
- sql查询一个用户下有多少张表
- 统计MySQL中某个数据库中有多少张表
- 查询MySQL中某个数据库中有多少张表
- 查询MySQL中某个数据库中有多少张表
- MySQL查看指定数据库中有多少张表
- 获取指定数据库拥有多少张表?
- 查数据库有多少张表
- 查询数据库中有多少张表
- Oracle 查询数据库有多少张表
- Oracle和MySql中将一个表中的数据插入到另一张表
- sql server 2005中如何查询一个数据库中有多少张表?
- Caffe-用自己的数据做训练
- 全局变量,局部变量和成员变量
- js的随机数生成器,不再使用Math.random
- mac 系统开发android,真机调试解决方案(无数的坑之后吐血总结)
- Android.TextUtils 简单的工具类
- mysql单表体积和一个库设计多少张表为妥
- 大数据平台的一些认识
- hdu1517A Multiplication Game
- 内存对齐与内存分配原则
- Android工具包下学习
- [翻译]浏览器是怎么工作的
- Poj 1163:The Triangle
- Hbase架构以及应用介绍
- [leetcode] 336. Palindrome Pairs 解题报告