文档章节

mysql性能调优

dimmer
 dimmer
发布于 2015/08/28 10:46
字数 537
阅读 33
收藏 0

注明:优化是基于springMVC+mybatis+mysql的系统.

参考url:

  • http://book.51cto.com/art/201405/439561.htm

  • http://blog.csdn.net/zljjava/article/details/38422387

  • http://www.jb51.net/article/29818.htm

  • http://www.cnblogs.com/surge/p/3582248.html

最近正在开发的系统出现了性能瓶颈,单表数据量已经达到1亿级,于是乎上网各种搜资料,各种咨询DBA及技术大拿寻求解决方案,收获颇丰,现记录如下,以备后用:

  1. 缓存

    1. 数据缓存:将热数据加以缓存,可以使用memcache/rds技术,如基础数据(用户/数据字典等);用户会频繁调用的数据(工单等)

    2. 页面缓存:CDN,不做过多解释

  2. 表拆分

    1. 垂直拆分:解决IO问题,从数据量级上拆分数据库,简单粗暴的拆分法如表A(10w),表B(100w),表C(1000w),则直接将A,B合并到一个数据库,C放到另一个单独的数据库中;内涵一点儿的就是数据库中不同的业务数据拆分到不同的数据库中,做到专库专用.这个就需要具体业务具体分析

    2. 水平拆分:解决单表数据量激增造成的存储压力,分法有多种,需根据业务场景具体分析.如我现在遇到的1亿数据的单表,可以根据状态分为不同的表,也可以根据id(这个表的id是自增的)分为不同的表

  3. 读写分离

    1. master/slave模式,这种是常用模式,即配置一个主库用于写操作,多个从库用于读操作,丛库通过io日志文件与主库同步数据;

    2. spring级别的优化,动态数据源切换,就是在程序运行时,把数据源动态织入到程序中,从而选择读取主库还是从库。主要使用的技术是:annotation,Spring AOP ,反射。下面会详细的介绍实现方式


    随着应用及面的扩展,持续更新中.也欢迎大家吐槽,提出更好的解决方案.多谢!




© 著作权归作者所有

dimmer
粉丝 6
博文 20
码字总数 4091
作品 0
郑州
技术主管
私信 提问

暂无文章

非递归实现后序遍历二叉树

问题描述 从键盘接受输入先序序列,以二叉链表作为存储结构,建立二叉树(以先序来建立)并对其进行后序遍历,然后将遍历结果打印输出。要求采用非递归方法实现。 解题思路 Push根结点到第一...

niithub
27分钟前
3
0
IDEA 自动删除类中无用的import包

1.手动快捷键 Ctrl + Alt + O 2.配置自动清理 Ctrl + Alt + S 打开设置 然后,进行如下操作:

时刻在奔跑
29分钟前
2
0
cwRsync提示password file must be owned by root when running as root的解决方法

cwRsync提示password file must be owned by root when running as root的解决方法 更新时间:2015年08月30日 23:05:52 投稿:mdxy-dxy 我要评论 今天在配置服务器的时候,用了rsync4.10版本...

rootliu
34分钟前
1
0
Java 交换两个参数

目前有一个小需求: 定义一个函数,交换两个值。于是,有人就写了这样一个函数。 public class exchange_01 { public static void main(String[] args) { // TODO Auto-gen...

hellation_
43分钟前
2
0
ExoPlayer简单使用

一、介绍 ExoPlayer是google开源的应用级媒体播放器项目,该开源项目包含ExoPlayer库和演示demo,github地址:https://github.com/google/ExoPlayer。 二、概述 ExoPlayer库的核心是ExoPlay...

零点B5
52分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部