原文引用https://www.dazhuanlan.com/2019/08/26/5d62f870a7fc2/ 1、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别key列,使用到的索引... ...
分类:
数据库 时间:
2019-08-26 10:09:44
阅读次数:
135
基于mysql5.7,innodb存储引擎 使用explain关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈 在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返 回执行计划的信息,而不是执行这条SQL ,如果 from 中 ...
分类:
数据库 时间:
2019-08-25 14:14:38
阅读次数:
104
MySQL当对一列进行操作时,如果in的条件太多,即使这列上有索引,也是导致执行计划不走索引因为搜索的记录数太多,MySQL会认为全表扫描可能会更快对一个表进行删除操作,如果这个列上没有索引,或者执行计划没有走搜索,会导致删除锁住全部的列···sqlmysql>showindexesfromcity1;+-------+------------+----------+------------
分类:
数据库 时间:
2019-08-24 18:26:37
阅读次数:
443
Explain工具介绍 使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析查询语句或是结构的性能瓶颈。在select语句之前增加explaion关键字,MySQL会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行SQL。 Explaion分析示例 actor建表语句: CREA ...
分类:
数据库 时间:
2019-08-24 13:27:17
阅读次数:
140
我们经常说到mysql优化,优化中一种常见的方式就是对于经常查询的字段创建索引。那么mysql中有哪些索引类型呢? 一、索引分类1、普通索引:即一个索引只包含单个列,一个表可以有多个单列索引 2、唯一索引:索引列的值必须唯一,但允许有空值 3、复合索引:即一个索引包含多个列 4、聚簇索引(聚集索引) ...
分类:
数据库 时间:
2019-08-24 09:14:38
阅读次数:
146
" 目录 普通索引 唯一索引 主键索引 组合索引 正确使用索引的情况 索引的注意事项 执行计划 axplain 慢日志记录 分页性能相关方案 索引是数据库中专门用于帮助用户快速查找数据的一种数据结构. 类似于字典中的目录,查找字典内容可以根据目录查找到数据的存放位置,然后直接获取. 作用:约束和加速 ...
分类:
数据库 时间:
2019-08-19 11:19:15
阅读次数:
111
1、查询 1》通过提示,使用索引。 2》使用/*+parallel*/并行查询 3》查看执行计划,调整sql语句或者优化表结构 4》避免使用“*”号 2、表设计:partition分区技术,对数据进行Hash分区、时间分区 3、启用中间表,将一个复杂的查询分作多步查询得到最终的结果 4、DML语句考 ...
分类:
数据库 时间:
2019-08-19 00:10:35
阅读次数:
113
一、前言 生产中偶尔会碰到一些sql,有多种执行计划,其中部分情况是统计信息过旧造成的,重新收集下统计信息就行了。但是有些时候重新收集统计信息也解决不了问题,而开发又在嗷嗷叫,没时间让你去慢慢分析原因的时候,这时临时的解决办法是通过spm去固定一个正确的执行计划,等找到真正原因后再解除该spm。 二 ...
分类:
数据库 时间:
2019-08-16 19:07:19
阅读次数:
137
数据库引擎的工作流程可以归纳为接收请求、执行请求和返回结果。数据库引擎每接收到一个新的查询请求(Query Request),查询优化器就会执行以下工作流程:编译请求,生成执行计划,并把执行计划缓存到内存中,执行计划,最后向客户端返回查询的结果。把执行计划存储到内存的目的是为了复用执行计划,减少编译 ...
分类:
其他好文 时间:
2019-08-16 17:11:48
阅读次数:
83
什么是优化器 优化器是Oracle中的一个核心模块,它的作用是为用户输入的SQL选择一个它计算出来的最高效的执行计划。SQL语句在Oracle中的执行过程如下图所示: 基于规则优化器RBO 基于规则的优化器现在基本上已经不怎么用了,这里只做简单介绍。 基于规则的优化器是将一系列规则固定在系统中,给 ...
分类:
数据库 时间:
2019-08-16 11:57:28
阅读次数:
107