04--奠定MYSQL江湖地位的开发注意要点
为不同的行业提供不同的MYSQL应用场景
吴炳锡老师谈到,不同行业的业务有不同的特点,选择好一个适合自己行业的MYSQL应用场景至关重要。
- 互联网行业
速度一直都是互联网发展的第一要义,互联网行业所使用的数据库特点简要概括就是一个字:快!响应速度快,性能高。
- 金融行业
金融行业更加注重数据的稳定和安全,对于一致性的要求是众多行业中最高的。选择集群,数据库配置里的安全选项以及对事物的控制上都与其他行业有很大区别。
- 传统行业
相比较速度和安全,传统企业更加注重业务的处理,业务完成的整体地位要高于性能。
为不同的企业选择不同的存储引擎
和应用场景相类似,存储引擎也应该按照行业的特点来进行选择。吴炳锡老师就常用的MYSQL存储引擎进行了分析。
- MyISAM
MyISAM是最传统的MYSQL存储引擎,但从MySQL5.5版本以后,官方就开始不进行特别维护了,这个引擎现在基本上已经可以作废了。吴炳锡老师强烈建议还在使用这款存储引擎的同志们尽快弃暗投明,选择新的存储引擎来替代它。
- Innodb
Innodb是现在比较新的引擎,也是吴炳锡老师重点推荐的一款存储引擎。Innodb有两个不同的版本,一个是Innobase,一个是Innodb Plugin。现在用的MYSQL5.5和5.6两个版本的都是基于Innodb Plugin的,性能较之从前提高了两倍以上,是做常规业务的不二之选。
- 其他
另外还有可以提供高速写入功能的TokuDB引擎,在数据库里面做繁杂统计分析工作的Inforbright引擎等等众多存储引擎可供我们选择。
MYSQL优化的“三减一加”

用户集中访问算得上是互联网领域的“高发病”,面对高并发环境,吴炳锡老师提出了:三减一加的政策。减少数据访问、减少网络传输、减少CPU开销和增加资源。
高效索引设计的“军规”

设计高效索引
- 查询,更新,删除where条件中必须有索引,处理行数不能超过1w
- 若查询条件中不包含索引的最左列, 无法使用索引
- 对于范围查询, 只能利用索引的最左列
- 对于order by A语句,在A上建立索引, 可以避免排序
- 对于group by A语句,在A上建立索引, 可以避免排序
- 对于多列排序, 需要所有所有列排序方向一致, 才能利用索引。
04--奠定MYSQL江湖地位的开发注意要点的更多相关文章
- Ubuntu14.04 Django Mysql安装部署全过程
Ubuntu14.04 Django Mysql安装部署全过程 一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...
- Ubuntu 16.04 安装mysql并设置远程访问
说明: 一个朋友在使用ubuntu-server 16.04安装mysql,设置远程访问的时候出现了问题,请我帮忙.但是,我也没有使用过ubuntu安装mysql,于是乎搜索了很多技术文件,比着葫芦画 ...
- Ubuntu 12.04 安装MySQL
本文地址:http://www.cnblogs.com/yhLinux/p/4012689.html 本文适合新手入门. 本文是对 Ubuntu 12.04 环境下安装 MySQL 的记录,通过这两天 ...
- Ubuntu 15.04下MySQL 5.6.25不支持中文解决办法
Ubuntu 15.04下MySQL 5.6.25不支持中文解决办法,apt-get install 安装的,不是源码包安装的mysql. 1 修改mysql的配置文件 /etc/mysql/conf ...
- Cacti 是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具
Cacti 是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具. mysqlreport是mysql性能监测时最常用的工具,对了解mysql运行状态和配置调整都有很大 ...
- Ubuntu 16.04 安装Mysql 5.7 踩坑小记
title:Ubuntu 16.04 安装Mysql 5.7 踩坑小记 date: 2018.02.03 安装mysql sudo apt-get install mysql-server mysql ...
- ubuntu 16.04上 mysql 5.7 安装笔记
一 安装 ubuntu 采用APT安装方式,可参考: Ubuntu 安装mysql和简单操作 Ubuntu 16.04安装MySQL(5.7.18) A Quick Guide to Using th ...
- Ubuntu 18.04 安装MySQL
最近在写东西的时候,需要用到MySQL,在网上查了一下,都说Ubuntu18.04不能安装MySQL5.7.22, 总觉的不可能,所以自己就研究了一下,然后分享给大家 工具/原料 VMware W ...
- MySQL学习笔记(一)Ubuntu16.04中MySQL安装配置(5.6优化、错误日志、DNS解决)
目录 第一部分.5.6安装.配置.自动备份 第二部分.5.7源码安装.配置.自动备份 第一部分.5.6安装 1.安装mysql sudo apt-get install mysql-server su ...
随机推荐
- php第五节课
封装 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...
- 洛谷P1478 陶陶摘苹果(升级版)【水题】
又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果,这次她有一个a公分的椅子.当他手够不着时,他会站到椅子上再试试. 这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力气只剩下s ...
- CentOS7.2 多个python版本共存
1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用python -V命令查看一下是否安装P ...
- Oracle数据库的性能调整
oracle是一个高性能数据库软件.用户可以通过参数的调整,达到性能的优化.性能优化主要分为两部分:一是数据库管理员通过对系统参数的调整达到优化的目的,二是开发人员通过对应用程序的优化达到调整的目的. ...
- GitLab权限介绍
访问权限 - Visibility Level 这个是在建立项目时就需要选定的,主要用于决定哪些人可以访问此项目,包含3种 Private - 私有,只有属于该项目成员才有原先查看 Internal ...
- 把 Python 脚本打包成可以直接双击运行的 .exe 文件 【转】
因为最近要用到 Python 脚本,所以自己学习了一下,顺便学习如何把它打包成 .exe 可执行文件,达到双击运行的效果,网上找了资料,保存下来学习用,原文出处:https://baijiahao.b ...
- js中三个默认方法call,applay,bind
这三个都是函数自带的方法(Function.prototype),这三个方法都能够改变函数内部 this的指向, call //call方法接收三个参数,第一个是this指向,第二个,三个是传递给函数 ...
- MYSQL更换密码
MYSQL5.7以下版本的数据库密码使用的是 mysql这个数据库里的user表的password这个字段, 修改密码只需: 1.update MySQL.user set password=pass ...
- BZOJ 1179 抢掠计划atm (缩点+有向无环图DP)
手动博客搬家: 本文发表于20170716 10:58:18, 原地址https://blog.csdn.net/suncongbo/article/details/81061601 https:// ...
- Docker入门介绍
Docker是一种虚拟化技术 刚開始看Docker,感觉非常抽象"An open platform for distributed applications for develo ...