`
zhaohaolin
  • 浏览: 983341 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MySQL海量数据优化

阅读更多

MySQL海量数据优化

经常见到有人对MySQL处理海量数据(几百万,几千万的数据就不要往海量上面扯了)的能力持怀疑的态度,根据我的经验,MySQL处理单表亿级数据没有任何问题。

数据库最重要的是安全稳定,速度其次。在做任何优化之前,你都必须做好最坏的打算,一定要有备份和应急方案!

要有一个稳定安全的数据库,你必须:

  • 至少要有一个热备
  • UPS
  • 做合适的RAID。RAID0+1,RAID5或者RAID6

如果可以,最好:

  • 使用xfs而不是ext3。哪天reboot后,你发现磁盘检查要半天,还不能停止,哭都来不及
  • 将数据库数据放入盘柜。更安全,访问更快

现在切入正题,开始优化:

  • 使用64位系统。这是老生常谈了,只要谈优化就少不了这个。不仅MySQL的性能有提升,内存也能使用超过4G。
  • 选择合适的引擎。一般来讲,innodb适合写频繁的表,myisam适合读频繁的表。
  • 建立正确的索引。推荐这篇文章 。虽然比较老了,但很经典。
  • 优化my.cnf里面的参数。主要关心和buffer有关的参数,innodb_buffer_pool_size之类的
  • 使用memcache。可以把访问频繁,不经常改动的小表放入memcache;程序对数据库的读操作之前最好访问一下memcache。
  • 打开slow_query_log选项。解决出现的慢查询语句。
  • 优化sql语句。
  • 使用SAS而不是SATA。数据库对硬盘要求很高,很多时候,换个快的硬盘就能有立竿见影的效果。

优化不可能一蹴而就,它是一个长期持续的过程 ,比如一些参数要在长期的运行中观察测试才能得到一个最优的值。


分享到:
评论

相关推荐

    Mysql 海量数据性能优化.rar

    mysql

    MySQL海量数据查询优化策略.

    MySQL海量数据查询优化策略,方法。 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引...

    MySQL海量数据存储与优化(上).pdf

    mysql海量数据存储与优化

    mysql_海量数据库的查询优化及分页算法方案.doc

    mysql_海量数据库的查询优化及分页算法方案.doc

    mysql 千万级数据优化

    介绍一下海量数据库sql 优化,及书写sql 应该注意的事项。

    海量数据处理优化

    课程内容 •数据层架构 •数据同步方案 •图片存储架构和缓存 •分布式缓存Memcached •Mysql性能优化 •Oracel性能优化 •应用层架构

    mysql处理海量数据时的一些优化查询速度方法

    由于在参与的实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。曾经测试对一个包含400多万条记录(有索引)的表执行一条条件...

    mysql 数据插入优化方法

    通常来说,在MyISAM里读写操作是串行的,但当对同一个表进行查询和插入操作时,为了降低锁竞争的... 这样看来,把concurrent_insert设置为2是很划算的,至于由此产生的文件碎片,可以定期使用OPTIMIZE TABLE语法优化。

    C#在MySQL大量数据下的高效读取、写入详解

    最近由于工作的原因,经常需要对海量数据进行处理,做的数据爬虫相关,动辄千万级别的数据,单表几十个G 都是都是家常便饭。 那么主要的开发语言是C#,数据库使用的是MySQL。下面通过这篇文章我们来一起学习学习吧。

    C#在MySQL海量数据下的高效读取、写入

     由于工作的原因,经常需要对海量数据进行处理,做的数据爬虫相关,动辄千万级别的数据,单表几十个G都是都是家常便饭。 主要开发语言是C#,数据库使用的是MySQL。  常见的操作便是 select 读取数据,然后在C#...

    《海量数据处理与大数据技术实战》、《MySQL技术大全:开发、优化与运维实战》作者 旨在分享各种编程语言、开发技术、分布式与微服

    MySQL优化思路 业务高峰期不小心拔掉了服务器电源!! 一文搞懂MySQL体系架构!! 关于MySQL日志,我与阿里P9都聊了些啥? 记一次MySQL崩溃修复案例,再也不用删库跑路了!! 如何最大程度防止人为误操作MySQL数据库...

    mysql性能优化内部教材

    针对高并发,海量数据的互联网环境。 本文语言为口语,非学术标准用语。 以实战和解决具体问题为主要目标,非应试,非常规教育。友情提醒,在校生学习本教程可能对成绩提高有害无益。 非技术挑战,非高端架构师培训...

    mysql 海量数据的存储和访问解决方案

    随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来...

    C#如何在海量数据下的高效读取写入MySQL

    由于工作的原因,经常需要对海量数据进行处理,做的数据爬虫相关,动辄千万级别的数据,单表几十个G都是都是家常便饭。 主要开发语言是C#,数据库使用的是MySQL。 最常见的操作便是 select 读取数据,然后在C#中对...

    MySQL语句优化的原则

    在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说:  a.有大量重复值、且经常有范围查询( > ,,> =,)和order by、group by发生的列,可考虑建立群集...

    MySQL面试专题及性能优化教程.zip

    针对高并发,海量数据的互联网环境。以实战和解决具体问题为主要目标,非应试,非常规教育。 友情提醒,在校生学习本教程可能对成绩提高有害无益。非技术挑战,非高端架构师培训,请高手自动忽略。加强了影响结果集...

    史上最牛逼的mysql性能优化方案

    1 数据表结构的设计与性能优化 2 索引优化 3 多表联查优化 4 并发和阻塞问题 5 日志库优化 6 MySql配置优化 7 CentOS参数优化 8 MySQL服务器监控 9 SQL语句性能优化 ...9.3 、海量数据分页优化 10 MySQL碎片整理方案

    mysql千万级数据大表该如何优化?

    如何设计或优化千万级别的大表?此外无其他信息,个人觉得这个话题有点范,就只好简单说下该如何做,对于一个存储设计,必须考虑业务特点,收集的信息如下

    mysql优化总结

    Mysql处理海量数据的优化可以从以下四个方面入手: 业务优化: 业务逻辑,Sql语句优化 架构优化: 分表分库,读写分离,数据缓存 硬件优化: 硬件配置 数据库优化: 引擎选择,表设计,数据查询,参数配置

Global site tag (gtag.js) - Google Analytics