深入MYSQL随笔
(1)查询生命周期:
从客户端到服务器,然后在服务器上进行解析,生成执行计划,执行,并返回给客户端。
执行是整个生命周期中,最重要的阶段。
(2)慢查询基础:
优化数据访问,减少访问的数据行。
(3)查询不需要的记录:mysql有时不是仅仅去返回只需要的数据,而是现将所有的数据先返回
客户端再抛弃绝大部分数据。
总是取出全部的列:select *
重复查询相同的数据:反复调用同一个sql 可以先把结果缓存起来。
(4)衡量查询开销的指标
响应时间:服务时间+排队时间
扫描的行数:
返回的行数:通常下扫描和返回的行数相同,但是在关联查询的条件下
则不同。
(5)索引让Mysql以最高效、扫描行数最小的方式找到需要的记录。
(6)尽量选择一个大查询去替换多个实现同样效果的小查询。
(7)分解关联查询:
让缓存的效率更高;
将查询分解后,执行单个查询可以减少锁的竞争;
在应用层做关联,容易对数据库进行拆分;
可以减少冗余记录的查询;
相当于实现了哈希关联,而不是使用mysql的嵌套查询
(8)展示各个线程的查询状态:
show FULL PROCESSLIST
sleep:线程正在等待客户端发送的新请求
Query:线程正在执行查询或者正在将结果发送给客户端
Locked:线程正在等待表锁
Analyzing and statistics:收集存储引擎的统计信息,并生成查询的执行计划
copying to tmp table:将结果集返回到临时表
sorting result:排序结果
sending data:线程在多个状态间传送数据,在生成结果集、向客户端返回数据。
(9)显示线程的查询的成本
show STATUS like 'Last_query_cost'
(10)查询流程示意图:

深入MYSQL随笔的更多相关文章
- ORACLE 迁移MYSQL 随笔
1.把服务器上的ORALCE 数据库导成DMP,然后导入本机的临时库 2.先把ORACLE 表中的DATE 改为TIMESTAMP; a.先建立个表 create table type_table_i ...
- mysql随笔
MySQL查询优化器--非SPJ的优化 MySQL查询优化器--非SPJ优化(一)--GROUPBY优化 http://blog.163.com/li_hx/blog/static/183991413 ...
- MySQL随笔(2)
索引本身是一个独立的存储单位,在该单位里边有记录着数据表某个字段和字段对应的物理空间.索引内部有算法支持,可以说查询速度非常快. 聚簇索引;聚簇索引不是单独的索引而是一种数据存储方式;聚簇索引的优点是 ...
- MySQL随笔(1)
mysql是一种关系型数据库,和SQL ,oracle一样是较为常用的关系型数据库,属于oracle旗下的产品,在web应用方面,MySQL是最好的RDBMS(relational database ...
- mysql随笔系列-1
MySQL数据库管理 本人实验所用的MySQL数据库版本:5.5.56-MariaDB MariaDB Server 操作系统:centos7.5 1.创建数据库 MariaDB [(none)]& ...
- Mysql 随笔记录
Soundex 声音相似的 select * from demos where Soundex('title') = Soundex('标示'); Concat 拼接语句 select concat( ...
- MYSQL随笔心得1
cmd链接数据库命令: 输入密码进入 显示全部的数据库: 退出服务器连接,还有/p quit 非关系型数据库:NOSQL,not only sql 不仅仅是SQL 代表:redis,mongodb
- mysql 随笔
(select GROUP_CONCAT(car_brand_name separator ',') carBrandName,supplier_id from ycej_supplier_carbr ...
- VS2010/VS2013项目创建及通过ADO.NET连接mysql/sql server步骤(VS2013连接成功步骤见上一篇随笔)
本随笔主要是对初学者通过ADO.NET连接数据库的步骤(刚开始我也诸多不顺,所以总结下,让初学者熟悉步骤) 1.打开VS新建一个项目(这里的VS版本不限,建项目都是一样的步骤) VS2010版本如图: ...
随机推荐
- js中尺寸类样式
js中尺寸类样式 一:鼠标尺寸类样式 都要事件对象的配合 Tip:注意与浏览器及元素尺寸分开,鼠标类尺寸样式都是X,Y,浏览器及元素的各项尺寸时Height,Width 1:检测相对于浏览器的位置:e ...
- urllib爬虫模块
网络爬虫也称为网络蜘蛛.网络机器人,抓取网络的数据.其实就是用Python程序模仿人点击浏览器并访问网站,而且模仿的越逼真越好.一般爬取数据的目的主要是用来做数据分析,或者公司项目做数据测试,公司业务 ...
- 图解Nginx限流配置
本文以示例的形式,由浅入深讲解Nginx限流相关配置,是对简略的官方文档的积极补充. Nginx限流使用的是leaky bucket算法,如对算法感兴趣,可移步维基百科先行阅读.不过不了解此算法,不影 ...
- 第10章 文档对象模型DOM 10.1 Node节点类型
DOM是针对 HTML 和 XML 文档的一个 API(应用程序编程接口) .DOM描绘了一个层次化的节点树,允许开发人员添加.移除和修改页面的某一部分.DOM 脱胎于Netscape 及微软公司创始 ...
- 牛客网暑期ACM多校训练营(第三场) C Shuffle Cards 平衡树 rope的运用
链接:https://www.nowcoder.com/acm/contest/141/C来源:牛客网 Eddy likes to play cards game since there are al ...
- hdu 3974 Assign the task(线段树)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=3974 题意:给定一棵树,50000个节点,50000个操作,C x表示查询x节点的值,T x y表示更 ...
- PythonI/O进阶学习笔记_3.2面向对象编程_python的封装
前言: 本篇相关内容分为3篇多态.继承.封装,这篇为第三篇 封装. 本篇内容围绕 python基础教程这段: 在面向对象编程中,术语对象大致意味着一系列数据(属性)以及一套访问和操作这些数据的方法.使 ...
- 实现一个基于码云Storage
实现一个简单的基于码云(Gitee) 的 Storage Intro 上次在 asp.net core 从单机到集群 一文中提到存储还不支持分布式,并立了一个 flag 基于 github 或者 开源 ...
- 【Offer】[58-1] 【翻转单词顺序】
题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字母样处理.例如输入字符串"I am ...
- 新建项目中的fail和missing之类的问题
首先必须要明白:每一个项目需要都要安装在本地仓库中去--->pom,war,jar无一例外 如果不安装会出现下面的错误: 解决的办法就是: 先clean后install项目,把他们安装到本地仓库 ...