数据库性能优化的五种方案(mycat,基于阿里coba开源的数据库中间件,很容易实现分库分表、主从切换功能。另一个当当网开源的一个库 sharding-jdbc)
2017-07-14 10:59
1696 查看
IT技术百货 2017-06-14 22:38
关系型数据库在互联网项目中应用极为广泛,今天小编就和大家分享几个数据库优化的几种方案:
优化SQL语句
从业务角度,优化SQL语句;这里给大家分享一个例子,查询三个小时内,未处理的订单;使用一条SQL语句的效率要远远低于使用18条SQL语句,每条SQL语句搜取10分钟;
拆分表
表的拆分一般分为横向拆分和纵向拆分,横向拆分不改变表结构,重复多建立几张表。这种优化方式类似于上文提到的SQL语句优化的例子;另一种是纵向拆分,两个表通过字段相关联。
关于分库的知识,小编会在MYSQL高可用的文章中介绍!
好文推荐:
高可用分布式微服务架构搭建(附demo源码)
基于LVS+Keepalive搭建分布式集群(原理+实例)
50行代码搞定第一个机器学习系统(推荐系统)
互联网项目特点及高可用架构方案设计
欢迎关注,评论补充其他优化方案。
关系型数据库在互联网项目中应用极为广泛,今天小编就和大家分享几个数据库优化的几种方案:
建立索引
数据库优化第一步就是建立合理的索引,这也是最初级的优化,也是DBA常用的优化方案!MySql索引类型有:普通索引,主键索引,唯一索引,组合索引!优化SQL语句
从业务角度,优化SQL语句;这里给大家分享一个例子,查询三个小时内,未处理的订单;使用一条SQL语句的效率要远远低于使用18条SQL语句,每条SQL语句搜取10分钟;优化表结构
能用小字段类型,就尽量用小字段类型;如能用short,就不要用int;能用数字类型,就不要用字符串类型,举个例子,一般的订单号都是数字,很少有字母的。拆分表
表的拆分一般分为横向拆分和纵向拆分,横向拆分不改变表结构,重复多建立几张表。这种优化方式类似于上文提到的SQL语句优化的例子;另一种是纵向拆分,两个表通过字段相关联。分库
分库是数据库优化的一种较高级手段,实际上是横向分表的衍生;一般需要有中间件或者客户端做一些工作实现,这里给大家推荐两个分库的代码:一个是mycat,基于阿里coba开源的数据库中间件,很容易实现分库分表、主从切换功能。另一个当当网开源的一个库 sharding-jdbc关于分库的知识,小编会在MYSQL高可用的文章中介绍!
好文推荐:
高可用分布式微服务架构搭建(附demo源码)
基于LVS+Keepalive搭建分布式集群(原理+实例)
50行代码搞定第一个机器学习系统(推荐系统)
互联网项目特点及高可用架构方案设计
欢迎关注,评论补充其他优化方案。
相关文章推荐
- 当当开源sharding-jdbc,轻量级数据库分库分表中间件
- 解读分库分表中间件Sharding-JDBC与实现分库分表功能
- 当当开源sharding-jdbc,轻量级数据库分库分表中间件
- 当当开源sharding-jdbc,轻量级数据库分库分表中间件
- sharding-jdbc结合mybatis实现分库分表功能
- 数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 解析(四)之插入SQL
- 数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 解析(六)之删除SQL
- Sharding-JDBC 一个不错的分库分表中间件
- 数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 解析(五)之更新SQL
- sharding-jdbc,轻量级数据库分库分表中间件
- 数据库分库分表中间件 Sharding-JDBC 源码分析 —— 分布式主键
- 数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 路由(二)之分库分表路由
- 数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 改写
- sharding-jdbc结合mybatis实现分库分表功能
- 数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 解析(四)之插入SQL
- 数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 路由(一)分库分表配置
- 【数据库中间件】MyCat分表分库规则实现
- 解读分库分表中间件Sharding-JDBC
- Mycat 数据库分库分表中间件
- 解读分库分表中间件Sharding-JDBC