MySQL海量数据优化
经常见到有人对MySQL处理海量数据(几百万,几千万的数据就不要往海量上面扯了)的能力持怀疑的态度,根据我的经验,MySQL处理单表亿级数据没有任何问题。
数据库最重要的是安全稳定,速度其次。在做任何优化之前,你都必须做好最坏的打算,一定要有备份和应急方案!
要有一个稳定安全的数据库,你必须:
- 做合适的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选项。解决出现的慢查询语句。
- 使用SAS而不是SATA。数据库对硬盘要求很高,很多时候,换个快的硬盘就能有立竿见影的效果。
优化不可能一蹴而就,它是一个长期持续的过程
,比如一些参数要在长期的运行中观察测试才能得到一个最优的值。
分享到:
相关推荐
mysql
MySQL海量数据查询优化策略,方法。 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引...
mysql海量数据存储与优化
mysql_海量数据库的查询优化及分页算法方案.doc
介绍一下海量数据库sql 优化,及书写sql 应该注意的事项。
课程内容 •数据层架构 •数据同步方案 •图片存储架构和缓存 •分布式缓存Memcached •Mysql性能优化 •Oracel性能优化 •应用层架构
由于在参与的实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。曾经测试对一个包含400多万条记录(有索引)的表执行一条条件...
通常来说,在MyISAM里读写操作是串行的,但当对同一个表进行查询和插入操作时,为了降低锁竞争的... 这样看来,把concurrent_insert设置为2是很划算的,至于由此产生的文件碎片,可以定期使用OPTIMIZE TABLE语法优化。
最近由于工作的原因,经常需要对海量数据进行处理,做的数据爬虫相关,动辄千万级别的数据,单表几十个G 都是都是家常便饭。 那么主要的开发语言是C#,数据库使用的是MySQL。下面通过这篇文章我们来一起学习学习吧。
由于工作的原因,经常需要对海量数据进行处理,做的数据爬虫相关,动辄千万级别的数据,单表几十个G都是都是家常便饭。 主要开发语言是C#,数据库使用的是MySQL。 常见的操作便是 select 读取数据,然后在C#...
MySQL优化思路 业务高峰期不小心拔掉了服务器电源!! 一文搞懂MySQL体系架构!! 关于MySQL日志,我与阿里P9都聊了些啥? 记一次MySQL崩溃修复案例,再也不用删库跑路了!! 如何最大程度防止人为误操作MySQL数据库...
针对高并发,海量数据的互联网环境。 本文语言为口语,非学术标准用语。 以实战和解决具体问题为主要目标,非应试,非常规教育。友情提醒,在校生学习本教程可能对成绩提高有害无益。 非技术挑战,非高端架构师培训...
随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来...
由于工作的原因,经常需要对海量数据进行处理,做的数据爬虫相关,动辄千万级别的数据,单表几十个G都是都是家常便饭。 主要开发语言是C#,数据库使用的是MySQL。 最常见的操作便是 select 读取数据,然后在C#中对...
在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说: a.有大量重复值、且经常有范围查询( > ,,> =,)和order by、group by发生的列,可考虑建立群集...
针对高并发,海量数据的互联网环境。以实战和解决具体问题为主要目标,非应试,非常规教育。 友情提醒,在校生学习本教程可能对成绩提高有害无益。非技术挑战,非高端架构师培训,请高手自动忽略。加强了影响结果集...
1 数据表结构的设计与性能优化 2 索引优化 3 多表联查优化 4 并发和阻塞问题 5 日志库优化 6 MySql配置优化 7 CentOS参数优化 8 MySQL服务器监控 9 SQL语句性能优化 ...9.3 、海量数据分页优化 10 MySQL碎片整理方案
如何设计或优化千万级别的大表?此外无其他信息,个人觉得这个话题有点范,就只好简单说下该如何做,对于一个存储设计,必须考虑业务特点,收集的信息如下
Mysql处理海量数据的优化可以从以下四个方面入手: 业务优化: 业务逻辑,Sql语句优化 架构优化: 分表分库,读写分离,数据缓存 硬件优化: 硬件配置 数据库优化: 引擎选择,表设计,数据查询,参数配置