300字搞懂mysql数据库优化方案方向


优化时机:

         一般单表超过500万左右,或明显感觉到性能下降时,需要优化.。

优化方案:

     1.添加索引

      2.读写分离

      3.使用缓存,如Memcached 或Redis 等

      4.使用搜索引擎,如ElasticSearch 或Solr 等

      5.分库分表

详细说明:

    1.索引这步是第一步就去做的事情,在建表的时候,就要去考虑索引的事情,加索引是很简单又有效的做法,如果通过增加索         引,减少在查询数据表时全表搜索,保证实时高的热点搜索都可以命中索引
    2.读写分离很容易实现,建议在一开始做,不必等到性能下降时发现性能下降时可做。比如有一张500万大表,不可能缓存全         表,只能缓存热点数据,所以需要有一个监控热点数据的功能。
    3.像缓存整个大表或者数据量很大可以用搜索引擎,搜索引擎是文件存储,适合高效查找,但不对插入修改、事务等支持。
    4.使用搜索引擎的话需要定时把mysql的数据同步给它,同样的数据需要预留2倍磁盘,虽然搜索引擎可能可以压缩。
    5.分库分表其实可以在第二步做,但实现较复杂;分表后必然涉及要读取多个表的问题,但对开发是透明的,在应用开发与数        据库中间需要研发一个平台,自动hash索引到分表后的表。举个例子,假设有一张600万的表,可以分为两张表,按时间            分,时间点A以前的分一张,500万;另一张表100万,后续的都插入到该表。


猜你喜欢

转载自blog.csdn.net/forward__/article/details/79896271