我们考虑的情况是在你的数据量很大的情况下,千万级别的数据量。不要当我们的请求响应时间已经让我无法忍受的时候,再来想起来优化,可能有点迟了。因为可能会丢失很多潜在的价值客户。所以,在我们当初设计表,或者因为我们的业务的变化而导致的情况下,就要多多考虑去优化我们的MySQL了。

1、在我们的开发中,请务必注意我们的sql书写,可能你的一个sql导致全站挂掉了。所以要优化好我们的sql,这其中不得不说,索引。SQL 的优化和索引 密不可分。优化SQL 一部分是业务逻辑的优化,一部分就是索引的优化。至于怎么优化,网上太多了。也可以看我其他文章有介绍。

2、当我们觉得上面的做的很不错了,还是访问慢,考虑下加缓存把。这里的缓存可以是 A文件缓存 B MySQL的buffer C Nginx或者Apace的缓存设置  D客户端浏览器的缓存  E 更重要的是NOSQL类型的缓存,增加memcache 和 redis。确实好,基于内存的读写自然比操作硬盘快把

3、我们的数据量还在增加,我们就考虑下MySQL的读写分离了,进而涉及到主从复制等情况,不过这里需要对SQL 语句进行稍微改动下。要不怎么知道读哪台服务器,写哪台。

4、接下来,我们考虑我们的业务了,随着并发量不断增加,老板这时候开心坏了。这都是钱啊。那就分表把。100万条记录的表,分5张 10张都行。不过前提需要按照一定的规则的,比方id为1的在member1表,2的在member表,一次类推;或者啊id在1-100的在1表,101-200的2表,以此类推。意思就是这样的。不过需要我们在sql的时候,写好读哪个表,写那个表的规则。其实也简单。

5、区分热表和冷表。也就是垂直切分表了。顾名思义,热表代表经常更新的,操作比较频繁的,冷表,则相反。

这其中我们需要考虑以下问题

表引擎的选择。在几年前默认就是Mysiam,现在你再看看,默认是innodb类型的。

服务器的配置情况。

MySQL大数据优化的更多相关文章

  1. MySQL大数据分页的优化思路和索引延迟关联

    之前上次在部门的分享会上,听了关于MySQL大数据的分页,即怎样使用limit offset,N来进行大数据的分页,现在做一个记录: 首先我们知道,limit offset,N的时候,MySQL的查询 ...

  2. MySQL 大数据量快速插入方法和语句优化

    MySQL大数据量快速插入方法和语句优化是本文我们主要要介绍的内容,接下来我们就来一一介绍,希望能够让您有所收获! INSERT语句的速度 插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例 ...

  3. 【1】MySQL大数据量分页查询方法及其优化

    ---方法1: 直接使用数据库提供的SQL语句---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N---适应场景: 适用于数据量较少的情况(元组百/千 ...

  4. MySQL大数据量分页查询方法及其优化

    MySQL大数据量分页查询方法及其优化   ---方法1: 直接使用数据库提供的SQL语句---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N---适 ...

  5. MySQL大数据量分页性能优化

    mysql大数据量使用limit分页,随着页码的增大,查询效率越低下. 测试实验 1.   直接用limit start, count分页语句, 也是我程序中用的方法: select * from p ...

  6. mysql 大数据分页优化

    一.mysql大数据量使用limit分页,随着页码的增大,查询效率越低下. 1.   直接用limit start, count分页语句, 也是我程序中用的方法: select * from prod ...

  7. MySQL大数据量分页查询

    mysql大数据量使用limit分页,随着页码的增大,查询效率越低下. 测试实验 1.   直接用limit start, count分页语句, 也是我程序中用的方法: select * from p ...

  8. 优秀后端架构师必会知识:史上最全MySQL大表优化方案总结

    本文原作者“ manong”,原创发表于segmentfault,原文链接:segmentfault.com/a/1190000006158186 1.引言   MySQL作为开源技术的代表作之一,是 ...

  9. MySQL 大表优化方案(长文)

    当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型 ...

随机推荐

  1. 信息安全-2:python之hill密码算法[原创]

    转发注明出处:http://www.cnblogs.com/0zcl/p/6106513.html 前言: hill密码算法我打算简要介绍就好,加密矩阵我用教材上的3*3矩阵,只做了加密,解密没有做, ...

  2. Oracle 表空间和用户权限管理

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  3. 元素绝对居中终极办法兼容IE8

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. .NET跨平台:在Ubuntu上用自己编译的dnx运行ASP.NET 5示例程序

    在 Linux Ubuntu 上成功编译 dnx 之后,会在 artifacts/build/ 文件夹中生成 dnx-coreclr-linux-x64/ 与 dnx-mono/ 这2个文件夹,前者是 ...

  5. 【已解决】Https请求——基础连接已经关闭 发送时发生错误

    本人在做商用项目的推送消息功能时,借助第三方推送服务.这里避免有打广告的嫌疑,就不报名字了.由于是通过调用API接口,所以Post方法是自己写的,但是在开发环境是可以正常推送的,但是一上线就出各种问题 ...

  6. 应用Grunt自动化地优化你的项目前端

    在不久前我曾写了一篇 应用r.js来优化你的前端 的文章,为大家介绍了r.js这个实用工具,它可以很好地压缩.合并前端文件并打包整个项目.但是如果将r.js放到项目中,我们不得不顾及到一个问题——项目 ...

  7. ASP.NET Web API 过滤器创建、执行过程(一)

    ASP.NET Web API 过滤器创建.执行过程(一) 前言 在上一篇中我们讲到控制器的执行过程系列,这个系列要搁置一段时间了,因为在控制器执行的过程中包含的信息都是要单独的用一个系列来描述的,就 ...

  8. 小丁带你走进git世界一-git简单配置

    小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config  –global user.name BattleHeaer ...

  9. ABP框架 - 设置管理

    文档目录 本节内容: 简介 关于ISettingStore 定义设置 setting scope(设置范围) 重写设置定义 获取设置值 服务端 客户端 修改设置 关于缓存 简介 每个应用必需存储一些设 ...

  10. VR ( Virtual Reality )、AR(Augmented Reality)、MR(Mix Reality)和CR(Cinematic Reality)是什么鬼?

    整个社会对虚拟现实的研究和开发源于上个世纪六十年代,计算机图形学.人机接口技术.图像处理与模式识别.多传感技术.语音处理与音响技术.高性能计算机系统.人工智能等领域在之后半个世纪取得了长足的发展为虚拟 ...