MySQL 中一个库中表数量是否有限制?表太多是否影响数据的性能?比如要把一张表拆成 1024 张,对于每个表的性能的影响是什么?这些影响需要考虑哪些因素?
2013-01-21 09:45
931 查看
1.限制那肯定是有的,因为系统数据库的表结构信息存储表,字段为:ID INT UNSIGNED 类型,最多42亿多一点,但肯定不会超过;
2.主要是文件系统,对同时打开多少个文件有限制性的:2048,但是可以修改内核参数
3.拆分过多最大的坏处,体现在:数据库的维护上面;
4.数据量没达到一定程度,且业务需求不需要,例如:新闻主题表,几百G正常,就可能不必要拆分,但是像新浪这样的公司就必须要拆分。换句话而言就是要看数据量、业务发展趋势、数据的存取需求、数据访问的并发度等综合而考虑;
5.拆分,必然对程序操纵数据的复杂度增大了,为此不得不搞一个通用的数据层,其实在数据量、并发不高、压力不大等情况下,是浪费资源,以及降低处理效率的,只有大数据量、高并发等场景下才是提高;
6.拆分之后,还可能带来隐患点,比如通用数据层,必须考虑单点等问题,同时也可能带来问题排查的难度;
7.大数据量、高并发等场景,准确说应该一般是:垂直拆分+水平拆分,肯定是提供性能、系统负载能力、支持业务增量等;
所以,综合建议大家慎重分析自己所在公司的业务模型,数据增长趋势,技术实力等综合考虑,才是最稳妥的,不要把简单的事情搞复杂了。
2.主要是文件系统,对同时打开多少个文件有限制性的:2048,但是可以修改内核参数
3.拆分过多最大的坏处,体现在:数据库的维护上面;
4.数据量没达到一定程度,且业务需求不需要,例如:新闻主题表,几百G正常,就可能不必要拆分,但是像新浪这样的公司就必须要拆分。换句话而言就是要看数据量、业务发展趋势、数据的存取需求、数据访问的并发度等综合而考虑;
5.拆分,必然对程序操纵数据的复杂度增大了,为此不得不搞一个通用的数据层,其实在数据量、并发不高、压力不大等情况下,是浪费资源,以及降低处理效率的,只有大数据量、高并发等场景下才是提高;
6.拆分之后,还可能带来隐患点,比如通用数据层,必须考虑单点等问题,同时也可能带来问题排查的难度;
7.大数据量、高并发等场景,准确说应该一般是:垂直拆分+水平拆分,肯定是提供性能、系统负载能力、支持业务增量等;
所以,综合建议大家慎重分析自己所在公司的业务模型,数据增长趋势,技术实力等综合考虑,才是最稳妥的,不要把简单的事情搞复杂了。
相关文章推荐
- MySQL 中一个库中表数量是否有限制?一般一个数据库中超过多少个表性能会明显下降?
- Mysql性能优化需要考虑的因素
- mysql优化之影响mysql性能因素一
- 哪些因素会对mysql数据库服务器性能造成影响
- 教你50招提升ASP.NET性能(十二):在生产环境,仔细考虑你需要记录哪些日志
- mysql大文本数据类型的使用需要考虑实际情况
- mysql本身对性能影响的因素存储引擎、数据库配置、数据库表结构及sql语句
- jquery验证后台数据库中是否有重复数据,比如注册的时候需要
- 创业投资决策需要考虑哪些因素
- 索引--mysql 数据库Load data大量数据时性能因素之一
- 读《MySQL性能调优与架构设计》笔记之影响 MySQL Server 性能的相关因素
- ASP.NET网站性能优化 需要考虑哪些方面
- 什么影响了MySQL的性能(1)
- 第6章 影响 MySQL Server 性能的相关因素
- jquery验证后台数据库中是否有重复数据,比如注册的时候需要
- 什么影响了MySQL的性能(01)
- 读《MySQL性能调优与架构设计》笔记之影响 MySQL Server 性能的相关因素
- 找第一份工作时最需要考虑的因素是什么
- 1 开发一个注重性能的JDBC应用程序不是一件容易的事. 当你的代码运行很慢的时候JDBC驱动程序并不会抛出异常告诉你。 本系列的性能提示将为改善JDBC应用程序的性能介绍一些基本的指导原则,这其中的原则已经被许多现有的JDBC应用程序编译运行并验证过。 这些指导原则包括: 正确的使用数据库MetaData方法 只获取需要的数据 选用最佳性能的功能 管理连
- mysql 通过Python导入clickhouse 行数对于完成速度的影响(数据文件无压缩)