MySQL优化方案,你造吗?

当查询变得很慢很慢,建立索引已经无法提高查询速度时。那么,最常见的MySQL优化方案,你造吗? SQL查询语句优化的六大方案:

1、使用索引

2、借助explain(查询优化神器)选择更好的索引和优化查询语句

3、任何地方都不要使用SELECT * FROM语句。

4、不要在索引列做运算或者使用函数

5、查询尽可能使用limit来减少返回的行数

6、使用查询缓存,并将尽量多的内存分配给MYSQL做缓存

Mysql,它自己有一个master-slave功能,可以实现主库与从库数据的自动同步,是基于二进制日志复制来实现的。在主库进行的写操作,会形成二进制日志,然后Mysql会把这个日志异步的同步到从库上,从库再自动执行一遍这个二进制日志,那么数据就跟主库一致了。

数据库的分库分表,能够立竿见影的提升系统的性能!

分库分表的策略相对于前边两种复杂一些,一种常见的路由策略如下:

1、中间变量 = user_id%(库数量*每个库的表数量); 2、库序号 = 取整(中间变量/每个库的表数量); 3、表序号 = 中间变量%每个库的表数量;

关于分库分表策略的选择有很多种,上文中根据用户ID应该是比较简单的一种。其他方式比如使用号段进行分区或者直接使用hash进行路由等。hash路由策略的优缺点,优点是:数据分布均匀;缺点是:数据迁移的时候麻烦,不能按照机器性能分摊数据。

分库分表之后,如果我们需要对系统进行进一步的扩阵容(路由策略变更),将变得非常不方便,需要我们重新进行数据迁移。

最后需要指出的是,分库分表目前有很多的中间件可供选择,最常见的是使用淘宝的中间件Cobar。另外Spring也可以实现数据库的读写分离操作。

注:文有借鉴。

转载于:https://my.oschina.net/u/4154787/blog/3068134

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值