数据库性能优化的五种方案(mycat,基于阿里coba开源的数据库中间件,很容易实现分库分表、主从切换功能。另一个当当网开源的一个库 sharding-jdbc)

关系型数据库在互联网项目中应用极为广泛,今天小编就和大家分享几个数据库优化的几种方案:

建立索引

数据库优化第一步就是建立合理的索引,这也是最初级的优化,也是DBA常用的优化方案!MySql索引类型有:普通索引,主键索引,唯一索引,组合索引!

优化SQL语句

从业务角度,优化SQL语句;这里给大家分享一个例子,查询三个小时内,未处理的订单;使用一条SQL语句的效率要远远低于使用18条SQL语句,每条SQL语句搜取10分钟;

数据库性能优化的五种方案(mycat,基于阿里coba开源的数据库中间件,很容易实现分库分表、主从切换功能。另一个当当网开源的一个库 sharding-jdbc)_第1张图片

优化表结构

能用小字段类型,就尽量用小字段类型;如能用short,就不要用int;能用数字类型,就不要用字符串类型,举个例子,一般的订单号都是数字,很少有字母的。

拆分表

表的拆分一般分为横向拆分和纵向拆分,横向拆分不改变表结构,重复多建立几张表。这种优化方式类似于上文提到的SQL语句优化的例子;另一种是纵向拆分,两个表通过字段相关联。

数据库性能优化的五种方案(mycat,基于阿里coba开源的数据库中间件,很容易实现分库分表、主从切换功能。另一个当当网开源的一个库 sharding-jdbc)_第2张图片

分库

分库是数据库优化的一种较高级手段,实际上是横向分表的衍生;一般需要有中间件或者客户端做一些工作实现,这里给大家推荐两个分库的代码:一个是mycat,基于阿里coba开源的数据库中间件,很容易实现分库分表、主从切换功能。另一个当当网开源的一个库 sharding-jdbc

数据库性能优化的五种方案(mycat,基于阿里coba开源的数据库中间件,很容易实现分库分表、主从切换功能。另一个当当网开源的一个库 sharding-jdbc)_第3张图片

关于分库的知识,小编会在MYSQL高可用的文章中介绍!

好文推荐:

高可用分布式微服务架构搭建(附demo源码)

基于LVS+Keepalive搭建分布式集群(原理+实例)

50行代码搞定第一个机器学习系统(推荐系统)

互联网项目特点及高可用架构方案设计

欢迎关注,评论补充其他优化方案。

你可能感兴趣的:(数据库性能优化的五种方案(mycat,基于阿里coba开源的数据库中间件,很容易实现分库分表、主从切换功能。另一个当当网开源的一个库 sharding-jdbc))