Mysql数据库设计规范 1 数据库所有对象均以小写字母加下划线(因为mysql是大小写敏感的) 2 禁止使用mysql关键字 3 关联列的列名和数据类型尽量保持一次,比如订单表的用户id user_id和购物车表里面的用户id user_id,(因为如果不同的话,在关联查询时会进行隐式的转换,这样 ...
分类:
数据库 时间:
2018-08-13 12:06:49
阅读次数:
178
最近碰到有人问我,一个hql当中,如果有一个join,然后 有一个group by 操作。这个时候的map有多少个; 其实之前也看执行计划。今天有空就研究了一下,一看这里面的学问还真的不少。下面就以一个例子来说明: STAGE DEPENDENCIES: Stage-5 is a root stag ...
分类:
数据库 时间:
2018-08-12 17:27:08
阅读次数:
646
问题现象2015年9月客户系统中一条高逻辑读的SQL语句,在业务高峰期执行频率较高,导致系统逻辑读居高不下,同时带高了系统CPU,SQL语句主体部分如下 通过SQL语句的过滤谓词来确定SQL的过滤情况 通过执行计划可以看出SQL语句走的驱动表是usr.create,但通过过滤谓词检查的结果可以看出实 ...
分类:
数据库 时间:
2018-08-08 17:38:16
阅读次数:
171
MySQL的EXPLAIN命令用于SQL语句的查询执行计划(QEP)。这条命令的输出结果能够让我们了解MySQL 优化器是如何执行SQL 语句的。这条命令并没有提供任何调整建议,但它能够提供重要的信息帮助你做出调优决策。 语法 MySQL 的EXPLAIN 语法可以运行在SELECT 语句或者特定表 ...
分类:
其他好文 时间:
2018-08-08 13:45:19
阅读次数:
180
区别 执行效率比较 执行效率从高到低 count(*)=count(1)=count(0)>count(colFirst)>count(colLast) 1.由于count(*)的算法与列偏移量无关,所以count(*)最快。 2.因为count(指定的有效值),执行计划都会转化为count(*) ...
分类:
其他好文 时间:
2018-08-05 18:14:28
阅读次数:
123
自从16年之后,因为工作原因,项目中就没有再使用oracle了,最近最近支持一个项目,又要开始负责这块事情了。最近在跑性能测试,配置全部调好之后,不少sql还存在性能低下的问题,主要涉及执行计划的不合理,以及相关pga隐含参数的优化。可能因为几年不接触的原因,略微有些生疏需要review了。这里以最 ...
分类:
数据库 时间:
2018-08-05 00:44:09
阅读次数:
213
在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索引扫描,这些都需要通过EXPLAIN去完成。EXPLAIN命令是查看优化器如何决定执行查询的主要方法。可以帮助我们深入了解M ...
分类:
其他好文 时间:
2018-08-03 14:42:37
阅读次数:
181
一 : explann执行计划详解 1)、id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。 2)、select_type列常见的有: A:simple:表示不需要union操作或者不包含子查询的简单select查询。有 ...
分类:
数据库 时间:
2018-08-03 14:40:28
阅读次数:
173
原文:SQL Server如何固定执行计划 SQL Server 其实从SQL Server 2005开始,也提供了类似ORACLE中固定执行计划的功能,只是好像很少人使用这个功能。当然在SQL Server中不叫"固定执行计划"这个概念,而是叫"执行计划指南"(Plan Guide 很多翻译是计划... ...
分类:
数据库 时间:
2018-08-03 10:47:28
阅读次数:
199