1.首先可以考虑业务层面优化,即垂直分表。

垂直分表就是bai把一个数据量很大的表,可以按某个字段的属性或使用频繁程度分类,拆分为多个表。

如有多种业务类型,每种业务类型入不同的表,table1,table2,table3.

如果日常业务不需要使用所有数据,可以按时间分表,比如说月表。每个表只存一个月记录。

2.架构上的优化,即水平分表。

水平分表就是根据一列或多列数据的值把数据行放到多个独立的表里,这里不具备业务意义。

如按照id分表,末尾是0-9的数据分别插入到10个表里面。

可能你要问,这样看起来和刚才说的垂直分表没什么区别。只不过是否具备业务意义的差异,都是按字段的值来分表。

实际上,水平分表现在最流行的实现方式,是通过水平分库来实现的。即刚才所说的10个表,分布在10个mysql数据库上。这样可以通过多个低配置主机整合起来,实现高性能。

最常见的解决方案是cobar,这个帖子介绍的比较完善,可以看看。

http://blog.csdn.net/shagoo/article/details/8191346

cobar的逻辑层次图:

不过这种分库方式也是有一定局限性的,需要应用程序做相应的配合,比如说分库的情况下,虽然可以实现跨库查询,但是不能进行相关的group by计算。

另外,之前关于水平分表的实现方式,也可以通过表分区来实现。

mysql优化的方式有很多,选择上主要还是要考虑个人的实际情况,如代码不可控的情况下,就不适合选择按字段属性分表的情况,这样可能会带来大量的重构以及很多不可预期的风险。

而架构的优化,虽然对应用是透明的,但对sql的写法有很多局限性,比如说不能使用聚合函数等等,同时也需要有充足的硬件资源,只有一台服务器的情况下是没有意义的。

相比起来,代价最低的是按时间分表或分区,这两种办法对应用来说都是透明的。

分区只需要一次本地数据迁移的操作。

而通过分表把现网数据和历史数据分离,唯一的代价是定期的数据维护。

一般如果表里面有1亿数据的情况下,索引的问题应该是常识了,这方面我就不说了。

mysql如何装上亿数据_mysql千万或者上亿的数据怎么设计数据库相关推荐

  1. mysql 事物状态有几种_MySQL知识点汇总:亿级高并发数据库运转原理大公开!

    - 点击上方"中国统计网"订阅我吧!- 做业务,要懂基本的SQL语句: 做性能优化,要懂索引,懂引擎: 做分库分表,要懂主从,懂读写分离... 数据库的使用,是开发人员的基本功,对 ...

  2. mysql数值比中文检索快_MySQL 千万 级数据量根据(索引)优化 查询 速度

    一.索引的作用 索引通俗来讲就相当于书的目录,当我们根据条件查询的时候,没有索引,便需要全表扫描,数据量少还可以,一旦数据量超过百万甚至千万,一条查询sql执行往往需要几十秒甚至更多,5秒以上就已经让 ...

  3. mysql中怎么删除表中的一列数据_mysql如何删除表中一行数据?

    mysql中使用DELETE语句删除表中一行数据,语句为"DELETE FROM 表名称 WHERE 列名称 = 值".删除所有行的语句为"DELETE FROM tab ...

  4. mysql表如何删除一条数据_mysql如何删除表中一行数据?

    mysql中使用DELETE语句删除表中一行数据,语句为"DELETE FROM 表名称 WHERE 列名称 = 值".删除所有行的语句为"DELETE FROM tab ...

  5. mysql 条件查询 导出数据_mysql按查询条件导出指定数据方法

    本文章介绍了用mysql into outfile命令来导入指定表中指定数据的方法. 按条件导出mysql表的数据: 代码如下 theyestoday=`date -d "-1 day&qu ...

  6. mysql 查询千万数据_mysql千万级数据查询

    1. mysql 的数据查询 , 大小字段要分开 , 这个还是有必要的 , 除非一点就是你查询的都是索引内容而不是表内容 , 比如只查询 id 等等 2. 查询速度和索引有很大关系也就是索引的大小直接 ...

  7. mysql插入2000万数据_Mysql千万级别数据批量插入,性能提高

    -----------------------------------------------------------方式1 ------------------------------------- ...

  8. mysql快速删除大表数据部分数据_mysql删除大表的部分数据

    mysql删除大表的部分数据 好久没写博客.最近项目要上线.下班时间还得陪着老妈.实在没时间更新. 今天有人提了一个问题,  www.2cto.com 一个表有1亿6000万的数据,有一个自增ID.最 ...

  9. MySQL与优化有关的命令_MySQL优化全攻略-相关数据库命令

    MySQL优化全攻略-相关数据库命令 更新时间:2006年11月25日 00:00:00   作者: 接下来我们要讨论的是数据库性能优化的另一方面,即运用数据库服务器内建的工具辅助性能分析和优化. ▲ ...

最新文章

  1. vue中axios如何实现token验证
  2. 数据驱动:新药物发现知识图
  3. 工业电脑中PCI、CPCI、PXI插槽的区别
  4. xml publisher 笔记
  5. java strategy模式,Java Strategy 模式简介
  6. C语言——字符串函数
  7. 在线打mysql代码_mysql 在线alter table要留神_mysql
  8. Java try和catch的使用介绍
  9. java继承封装多态特性_java 三大特性 封装 继承 多态
  10. 基于Arduino的智能环境监测与反馈系统
  11. 如何讲网页保存为pdf文件
  12. 骇客基础_骇客基础知识:第3部分
  13. 使用Scrapy爬取电影链接
  14. 破解IntelliJ IDEA 2017.1到2099年
  15. 推荐系统 - 排序算法 - 神经网络:FNN 论文阅读
  16. 判断给到的年份是否为闰年
  17. 镁客网每周硬科技领域投融资汇总(3.10-3.16),英伟达大手笔发起芯片收购案...
  18. 侯立安院士在第五届跨界大会上分享健康建筑病原微生物风险控制
  19. bzoj 2876: [Noi2012]骑行川藏 二分+拉格朗日乘数法
  20. Android 模拟返回键、菜单键、主页键

热门文章

  1. 蛮荒搜神记服务器在维护,蛮荒搜神记设置要求高吗 蛮荒搜神记设置要求推荐...
  2. python文本挖掘与分析:歌曲《说散就散》网易云音乐平台用户评论分析
  3. windows server 2016搭建域控
  4. Python 文本词频统计
  5. Python多关键字排序(思路清晰)
  6. 64位win7禁用驱动程序签名强制 几种常用方法
  7. 1582年10月5日是个很奇怪的日子
  8. 微信小程序—页面跳转以及跳转传参
  9. 35、基于51单片机自动灭火避障智能小车 消防灭火小车系统设计
  10. OpenCV-图像数字化基础(1)