全面优化MySQL(一)
mysql执行一条查询语句的内部执行过程
- 权限验证 客户端通过
连接器
连接到 MYSQL服务器. - 查询缓存 查询是否有查询缓存, 如果有缓存(之前执行过此语句),则直接返回缓存数据.
- 语法检查
分析器
会对查询语句进行语法分析和词法分析, 判断 SQL 语法是否正确, 如果查询语法错误会直接返回给客户端错误信息, 如果语法正确会进入优化器. - 语句优化
优化器
对查询语句进行优化处理, 例如表有多个索引, 优化器会判别哪个索引的性能更好. - 查询比对
执行器
开始执行语句进行查询比对, 知道查询到满足条件的所有数据, 然后进行返回.
查询缓存的优缺点
- 优点:效率高
- 缺点: 任何更新表操作都会清空查询缓存,导致查询缓存非常容易失效.
查询缓存的设置
%query_cache_% 按需调整.
MySQL8.0.0后删除了查询缓存的功能
MySQL的常用引擎有哪些?
MySQL的常用引擎有 InnoDB, MyISAM, Memory等, 从 MySQL5.5.5版本之后 InnoDB 就成为了默认的存储引擎.
针对表级别的数据库引擎设置.
在创建时可以设置此表的存储引擎.
完整代码如下:
create table student(
id int primary key auto_increment,
account varchar(120),
age int
) ENGINE=MyISAM -- 指定对应引擎
存储引擎对比 InnoDB 和 MyISAM
a | InnoDB | MyISAM |
---|---|---|
崩溃后安全恢复 | 支持 | 不支持 |
全面优化MySQL(一)的更多相关文章
- 简单的方式优化mysql
参考博客 自己笔记本上向mysql导入txt数据,有一个table导入了将近4个小时,而且多个table之间都是相互之间存在关系的,所以做联合查询的时候你会发现问题会十分的多,我之前联合查询两个表就死 ...
- TCMalloc优化MySQL、Nginx内存管理
TCMalloc的全称为Thread-Caching Malloc,是谷歌开发的开源工具google-perftools中的一个成员. 与标准的glibc库的Malloc相比,TCMalloc库在内存 ...
- 优化MySQL,还是使用缓存?读一篇文章有感
今天我想对一个Greenfield项目上可以采用的各种性能优化策略作个对比.换言之,该项目没有之前决策强加给它的各种约束限制,也还没有被优化过. 具体来说,我想比较的两种优化策略是优化MySQL和缓存 ...
- jemalloc优化MySQL、Nginx内存管理
上一篇文章<TCMalloc优化MySQL.Nginx.Redis内存管理>,下面来看下jemalloc jemalloc源于Jason Evans 2006年在BSDcan confer ...
- TCMalloc优化MySQL、Nginx、Redis内存管理
TCMalloc(Thread-Caching Malloc)与标准glibc库的malloc实现一样的功能,但是TCMalloc在效率和速度效率都比标准malloc高很多.TCMalloc是 goo ...
- MYSQL之性能优化 ----MySQL性能优化必备25条
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数 ...
- 开启Mysql慢查询来优化mysql
开启Mysql慢查询来优化mysql 优化sql语句是优化数据库的一个很重要的方面,那么怎么发现那些耗时耗资源的sql语句呢,开启Mysql慢查询! 1.查看是否开启慢查询,默认情况下是关闭的.你的m ...
- SQL优化 MySQL版 - B树索引详讲
SQL优化 MySQL版 - -B树索引详讲 作者:Stanley 罗昊 [转载请注明出处和署名,谢谢!] 为什么要进行SQL优化呢?很显然,当我们去写sql语句时: 1会发现性能低 2.执行时间太 ...
- SQL优化 MySQL版 -分析explain SQL执行计划与笛卡尔积
SQL优化 MySQL版 -分析explain SQL执行计划 作者 Stanley 罗昊 [转载请注明出处和署名,谢谢!] 首先我们先创建一个数据库,数据库中分别写三张表来存储数据; course: ...
- SQL优化 MySQL版 - 索引分类、创建方式、删除索引、查看索引、SQL性能问题
SQL优化 MySQL版 - 索引分类.创建方式.删除索引.查看索引.SQL性能问题 作者 Stanley 罗昊 [转载请注明出处和署名,谢谢!] 索引分类 单值索引 单的意思就是单列的值,比如说有 ...
随机推荐
- 安装memcached和elasticsearch服务并systemctl管理
[root@izbp18dv3a3metugyd02qxz bin]# rpm -qa | grep memcache [root@izbp18dv3a3metugyd02qxz bin]# yum ...
- PHP快速教程
1.本文主要针对有C语言(或其他编程语言)基础的人快速学习PHP的,所以不会对一些基础知识作过多解释,比如“=”是赋值不是等于. 2.本文适合已学过一门编程语言,想要快速入门PHP的人. 3.基本上看 ...
- 使用tushare获取股票历史数据和实时分笔数据
使用tushare获取股票历史数据和实时分笔数据 财经数据接口包tushare的使用(一) Tushare是一款开源免费的金融数据接口包,可以用于获取股票的历史数据.年度季度报表数据.实时分笔数据 ...
- db2查看当前用户模式及当前用户的权限
1.连接数据库:db2 connect to appdb 2.查询当前用户模式:select current schema from sysibm.sysdummy1 或 select current ...
- React Native商城项目实战15 - 首页购物中心
1.公共的标题栏组件TitleCommonCell.js /** * 首页购物中心 */ import React, { Component } from 'react'; import { AppR ...
- 基础:高通bring up camera【转】
本文转载自:http://blog.csdn.net/liwei16611/article/details/53056710 bring UP 需要做的工作 1.kernelspace senso ...
- DAY 6 TEST
test T1 样例输入 样例输出 答案选择u,v作为关键点 暴力的话k^2枚举跑最短路,寻找最小值就行了 50pts 考虑优化枚举量 因为答案的两个点是不同的点,所以编号的二进制表示中至少一位不同 ...
- 查看在linux中下载的图片
1.安装 yum install lrzsz -y 2.找到文件所在的位置选中之后 3.点击那个蓝色的框框里面有一个 用ZMODEM下载 4.选择要保存的位置就可以查看了
- selinux的设置包括两个部分: 修改安全上下文和修改策略
selinux的设置包括两个部分: 修改安全上下文和修改策略 修改安全上下文: chcon = change context: chcon 修改策略: setsebool 策略就是由很多boo类型的变 ...
- Phaser 源码分析
Phaser 一个可重用的同步屏障,功能上与 CyclicBarrier 和 CountDownLatch 类似,但是支持更灵活的使用. 把多个线程协作执行的任务划分为多个阶段,编程时需要明确各个阶段 ...