http://www.zhihu.com/question/19719997

提问:如何设计或优化千万级别的大表?此外无其他信息,个人觉得这个话题有点范,就只好简单说下该如何做,对于一个存储设计,必须考虑业务特点,收集的信息如下:

1.数据的容量:1-3年内会大概多少条数据,每条数据大概多少字节;

2.数据项:是否有大字段,那些字段的值是否经常被更新;

3.数据查询SQL条件:哪些数据项的列名称经常出现在WHERE、GROUP BY、ORDER BY子句中等;

4.数据更新类SQL条件:有多少列经常出现UPDATE或DELETE 的WHERE子句中;

5.SQL量的统计比,如:SELECT:UPDATE+DELETE:INSERT=多少?

6.预计大表及相关联的SQL,每天总的执行量在何数量级?

7.表中的数据:更新为主的业务 还是 查询为主的业务

8.打算采用什么数据库物理服务器,以及数据库服务器架构?

9.并发如何?

10.存储引擎选择InnoDB还是MyISAM?

大致明白以上10个问题,至于如何设计此类的大表,应该什么都清楚了!

至于优化若是指创建好的表,不能变动表结构的话,那建议InnoDB引擎,多利用点内存,减轻磁盘IO负载,因为IO往往是数据库服务器的瓶颈

另外对优化索引结构去解决性能问题的话,建议优先考虑修改类SQL语句,使他们更快些,不得已只靠索引组织结构的方式,当然此话前提是,

索引已经创建的非常好,若是读为主,可以考虑打开query_cache,

以及调整一些参数值:sort_buffer_size,read_buffer_size,read_rnd_buffer_size,join_buffer_size

更多信息参见:

MySQL数据库服务器端核心参数详解和推荐配置

MySQL大表关联如何优化_MySQL 对于大表(千万级),要怎么优化呢?相关推荐

  1. mysql delete 表关联删除数据_mysql delete 多表连接删除功能

    单个表的删除: DELETE FROM tableName WHERE columnName = value; 删除表内的所有行: 即:保留表的结构.属性.索引 DELETE FROM tablena ...

  2. mysql对于大表(千万级),要怎么优化呢?

    提问:如何设计或优化千万级别的大表?此外无其他信息,个人觉得这个话题有点范,就只好简单说下该如何做,对于一个存储设计,必须考虑业务特点,收集的信息如下: 1.数据的容量:1-3年内会大概多少条数据,每 ...

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

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

  4. mysql数据表关联操作步骤_MySQL数据库(三)—— 表相关操作(二)之约束条件、关联关系、复制表...

    表相关操作(二)之约束条件.关联关系.复制表 一.约束条件 1.何为约束 除了数据类型以外额外添加的约束 2.约束条件的作用 为了保证数据的合法性,完整性 3.主要的约束条件 NOT NULL #标识 ...

  5. mysql delete 表关联删除数据_MYSQL中delete删除多表数据与删除关联数据

    在mysql中删除数据方法有很多种,最常用的是使用delete来删除记录,下面我来介绍delete删除单条记 录与删除多表关联数据的一些简单实例. 1.delete from t1 where 条件 ...

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

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

  7. mysql 建表时建立索引_mysql 分享建表和索引的几点规范

    一. MySQL建表,字段需设置为非空,需设置字段默认值. 二. MySQL建表,字段需NULL时,需设置字段默认值,默认值不为NULL. 三. MySQL建表,如果字段等价于外键,应在该字段加索引. ...

  8. mysql 连接查询两个条件_MySQL之多表查询一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习...

    一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 首先说一下,我们写项目一般都会建一个数据库,那数据库里面是不是存了好多张表啊,不可能把所有的数据都放到一张表里面,肯定要分表来存数据,这样节 ...

  9. mysql 事务 注意 优化_MySQL入门详解——事务、锁、优化

    MySQL事务 MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在一个商城系统中,用户执行购买操作,那么用户订单中应该加一条,库存要减一条,如果这两步由于意外只进行了其中一步那么就会发生 ...

  10. mysql获取多张表中的数据_mysql 之多表查询

    阅读目录 一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习 一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 首先说一下,我们写项目一般都会建一个数据库,那数据库里 ...

最新文章

  1. 雇佣和留住开发人员,打造优秀的团队
  2. Java 加密 AES 对称加密算法
  3. PHP 错误与异常的日志记录
  4. Python条件判断if、for、while if
  5. linux系统之我的选择
  6. 微信小程序自带地图_【小程序】微信小程序之地图功能
  7. android 保存流媒体,Android实现使用流媒体播放远程mp3文件的方法
  8. hazelcast_Java:如何在不到5分钟的时间内通过Hazelcast提高生产力
  9. 【OpenCV 例程200篇】62. 图像锐化——钝化掩蔽
  10. OpenShift Security (11) - 用RHACS在DevOps的CICD中扫描部署中的安全风险
  11. 表格列隐藏_WPS表格(Excel)基础编辑
  12. 杀死提交的hadoop任务
  13. SpringBoot使用AutoConfiguration自定义Starter
  14. 关于写论文的一些想法——如何写好一篇论文
  15. 智能人物画像综合分析系统——Day6
  16. 95 费解的开关(递推)
  17. 【C语言】简易版_飞机小游戏
  18. Java快速入门到精通—大数字运算(BigDecimal 类)
  19. 大数据学习之一——Hadoop单机部署
  20. CH340刷新OLED12864

热门文章

  1. swoft php怎么样,[原创]Swoole和Swoft的那些事 (Http/Rpc服务篇)
  2. HALCON 21.11:深度学习笔记(2)
  3. LARGE_INTEGER类型和QueryPerformanceFrequency()
  4. mongorepository查询条件_Java操作MongoDB采用MongoRepository仓库进行条件查询 | 学步园...
  5. MySQL百万级高并发网站优化
  6. CS 540: Introduction to Artificial Intelligence
  7. 华北电力大学依托大数据实施精准资助
  8. 基本数据类型范围大小字节大小
  9. OpenCV-怀旧色滤镜
  10. 编译Java程序一共要安装什么_如何编译java程序