标签:
提到优化,先要确定出现的问题,是存储引擎选择问题,还是sql语句使用问题(如:索引)亦或者是单一存储服务器对于千万级别的数据力不从心。
解决方法:
1、根据不同业务选用不同存储引擎,虽然一般情况下都优先选择InnoDB。
2、分析sql语句的影响结果集。查慢查询日志,定位慢查询的sql语句,查看是否有锁定的sql操作。
3、分库,分表,分区(慎用分区,往往OLTP操作不适用分区,分区反倒会拖慢原有查询)
4、利用缓存或NoSql代替现有一些热点查询操作,减轻Mysql压力。
可以基于业务逻辑拆分,不同业务分布在不同服务器中,减少单一服务器压力
垂直分表和水平分表两种方式
垂直分表:将表中的一些频繁更新和非频繁更新的字段分开存放
水平分表,三种分表方式:
均等分表,哈希方式分表,优点是负载平均分布,缺点是当容量持续增加时扩荣不方便,需要重新分表,主键就很不好处理。
时间分表,根据不同的创建时间分表,适用于OLAP应用。
标签:
原文地址:http://www.cnblogs.com/Struts-pring/p/5009854.html