mysql亿级大数据
墨初 知识笔记 118阅读
Mysql是业内最常用的数据库之一特别是对于中小企业来说mysql绝对是首选。
面对快速增长的数据量Mysql能否满足存储查询需求答案是肯定多了不敢说单纯使用Mysql我们支持了20亿的订单存储查询并且性能还是比较优秀的还远没有到达存储上限

我想这个数据量还是很有说服力的能达到这个数据量的公司绝对不多。
那Mysql如何做海量数据的存储

1一定要正确设计索引
2一定要避免SQL语句全表扫描所以SQL一定要走索引如一切的 > < ! 等等之类的写法都会导致全表扫描
3一定要避免 limit 10000000,20 这样的查询
4一定要避免 LEFT JOIN 之类的查询不把这样的逻辑处理交给数据库
5每个表索引不要建太多大数据时会增加数据库的写入压力
第二阶段1采用分表技术大表分小表
a)垂直分表将部分字段分离出来设计成分表根据主表的主键关联
b)水平分表将相同字段表中的记录按照某种Hash算法进行拆分多个分表
2采用mysql分区技术必须5.1版以上此技术完全能够对抗Oracle与水平分表有点类似但是它是在逻辑层进行的水平分表
第三阶段服务器方面1,采用memcached之类的内存对象缓存系统减少数据库读取操作
2,采用主从数据库设计分离数据库的读写压力
3,采用Squid之类的代理服务器和Web缓存服务器技术
PS:由于篇幅问题我只简单说一些基本概念其实里面每个知识点关系到的内容都很多。特别是第一阶段很多工作几年的程序员都不能完全理解。我觉得要真正理解索引最好的办法就是在1000W-亿级以上的数据进行测试SQL语句再结合 explain 命令进行查看SQL语句索引情况。
如果只是单单的思路讲解我相信大部分程序员都是不能够理解其中的精髓的下面这个Mysql亿级数据库的手册从底层讲解0基础到深入学习。深度解析了Mysql的使用。
限于文章篇幅原因只能以截图的形式展示出来有需要的小伙伴帮忙点赞文章后点击获取文中资料
目录展示 内容节选第一章Mysql架构
第二章Mysql基准测试
第三章服务器性能剖析
第三章Schema与数据类型的优化
第四章创建高性能的索引
第六章查询性能优化
第七章Mysql高级特性
第八章优化服务器设置
第九章操作系统和硬件优化
第十章复制
第十一章可扩展的Mysql
第十二章高可用性
第十三章云端的Mysql
第十四章应用层优化
第十五章备份与恢复
第十六章Mysql用户工具