前言:当用Explain查看SQL的执行计划时,里面有列显示了 key_len 的值,根据这个值可以判断索引的长度,在组合索引里面可以更清楚的了解到了哪部分字段使用到了索引。下面演示中,表结构的合理性这边暂且不说,只是证明一下索引长度的计算方法。目前大部分博文是字符类型的索引长度计算方法,下面列举几...
分类:
数据库 时间:
2015-05-24 20:19:38
阅读次数:
140
查询数oracle据库中所有用户查看你能管理的所有用Select * from all_users;查看你能管理的所有用户Select* from user_users;删除用户Drop user c##test cascade原本想把oracle12c中 CDB、PDB之间的访问和账号搞清楚的,搞...
分类:
数据库 时间:
2015-05-23 22:40:02
阅读次数:
314
在帮助优化器选择正确的执行计划,统计信息是一个重要因素。因此,我们在处理性能问题时,要足够重视统计信息。可能是对统计信息知识及其相关机制的缺乏,忽略统计信息往往是造成性能问题的根源。查询优化器在每一步使用统计信息判断返回的行数。在执行计划里的预估行数信息是基于列上的可用统计信息计算而来的。统计信息会...
分类:
其他好文 时间:
2015-05-22 16:44:01
阅读次数:
113
在 理解统计信息(4/6):自动更新统计信息的阀值——人为更新统计信息的重要性里,我们讨论了自动更新统计信息的阀值,这个阀值在某些情况下,基于自动更新的统计信息还是可以获得最优的执行计划的。在大多数情况下,人为更新统计信息可以获得更好的性能。这个文章,我们可以来看下如何检测过期的统计信息。在SQL ...
分类:
其他好文 时间:
2015-05-22 16:27:08
阅读次数:
110
时间过得真快——再过几分钟,你就要完成第2个月的性能调优培训。今天这部分培训我想讲下非聚集索引的更多信息,还有你会碰到它的一些负作用。上一星期我们讨论了SQL Server里的书签查找,它是非常危险的。在执行计划里SQL Server访问非聚集索引时,额外列必须要从表本身获取时(因为它们不是非聚集索...
分类:
其他好文 时间:
2015-05-20 22:08:39
阅读次数:
142
在日常生活中,我们用统计信息来采取决定。SQL Server优化器也用同样的方式,使用统计信息来选择正确的执行计划。如果统计信息错误或过期,SQL Server可能就会选择错误的执行计划。在这个文章里,我们换个方式理解下统计信息。查询优化器使用统计信息来判断每一步返回的行。执行计划里的估计行数信息是...
分类:
其他好文 时间:
2015-05-20 20:21:48
阅读次数:
208
要知道sql语句,我想我们有必要知道sqlserver查询分析器怎么执行我么sql语句的,我么很多人会看执行计划,或者用profile来监视和调优查询语句或者存储过程慢的原因,但是如果我们知道查询分析器的执行逻辑顺序,下...
分类:
数据库 时间:
2015-05-19 13:17:16
阅读次数:
184
EXPLAIN Extra 列信息: explain Extra列输出包含了关于mysql如何解决query的额外信息,特别是出现Using filesort 和 using temporary时,应当格外注意: 1:Child of 'table' pushed join@1 在做join...
分类:
数据库 时间:
2015-05-19 12:10:56
阅读次数:
1255
场景
我用的数据库是mysql5.6,下面简单的介绍下场景
课程表
create table Course(
c_id int PRIMARY KEY,
name varchar(10)
)
数据100条
学生表:
create table Student(
id int PRIMARY KEY,
name varchar(10)
)
数据70000条
...
分类:
数据库 时间:
2015-05-19 10:43:35
阅读次数:
175
Oracle执行计划根据索引的类型与where限制条件的不同,有5种类型的索引扫描,分别是:索引唯一扫描(index unique scan),索引范围扫描(index range scan),索引全扫描(index full scan),索引快速扫描(index fast full scan)索引跳跃式扫描 (index skip scan)。
1、索引唯一扫描(index uniq...
分类:
数据库 时间:
2015-05-19 10:42:28
阅读次数:
208