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 ...
随机推荐
- TeX中的引号(Tex Quotes, UVa 272)
在TeX中,左双引号是“``”,右双引号是“''”.输入一篇包含双引号的文章,你的任务是 把它转换成TeX的格式. 样例输入: "To be or not to be," quot ...
- 多种方法爬取猫眼电影Top100排行榜,保存到csv文件,下载封面图
参考链接: https://blog.csdn.net/BF02jgtRS00XKtCx/article/details/83663400 https://www.makcyun.top/web_sc ...
- 学习EXTJS6(3)基本概念
ExtJS不再纠缠HTML和CSS上.概念和传统的程序相近.如面板panel,布局Layout.组件Component等等. 1.渲染Render:ExtJS页面在浏览器中装载完成后完全展现出来的一个 ...
- MyBatis之java.lang.UnsupportedOperationException异常解决方案
今天在使用MyBatis执行sql语句时,出现如下异常: 执行的sql语句配置信息如下: <select id="getColumnsByTableName" paramet ...
- Fleury算法 求欧拉回路
Fleury算法 #include <iostream> #include <cstdio> #include <cstring> #include <cma ...
- HDU 4510
省一等,保研. #include <iostream> #include <cstdio> #include <cstring> #include <algo ...
- JAVA小程序:和电脑猜拳
import java.util.Scanner; import java.util.Random; public class Hello { public static int judge ...
- 【小超_Android】GitHub源码项目整理,希望对大家有帮助
收集的经常使用Github上比較优秀的项目,希望对大家日常开发有所帮助: AndroidSlidingMenu https://github.com/jfeinstein10/SlidingMen ...
- Iterator - 迭代器模式
定义 提供一个方法顺序訪问一个聚合对象中个各个元素,而又不须要暴露该对象的内部结构. 案例 一个聚合对象.如一个列表List.应该提供一种方法来让别人能够訪问它的元素.而又不用暴露内部结构.迭代器模式 ...
- leetCode(30):Sort Colors
Given an array with n objects colored red, white or blue, sort them so that objects of the same colo ...