同事发来2个语句,说语句1跑得慢,语句2很快就出结果。一执行,果然很慢。仔细发现,2个语句不等价。
语句1:
select l.*,o.object_name
from v$locked_object l left join all_objects o on l.object_id=o.object_id;
语句2:
select l.*,o.object_name
from v$...
分类:
其他好文 时间:
2014-09-25 12:15:08
阅读次数:
350
实际上,这个页面所讲述的是在MariaDB 5.3.3(MySQL是在5.6)开始引入的一种叫做Index Condition Pushdown(以下简称ICP)的查询优化方式。由于本身不是一个层面的东西,前文中说的是Index Access,而这里是Query Optimization,所以并不构...
分类:
数据库 时间:
2014-09-23 16:25:34
阅读次数:
299
一、合理使用索引
使用原则:
1、经常在查询中作为条件被使用的列,应为其建立索引。
2、频繁进行排序或分组group by 或 order by 操作的列,应为其建立索引。
3、一个列值域很大时,应为其建立索引。
4、如果待排序的列有多个,应在这些列上建立符合索引。
5、参与了连接操作的属性
6、在某一范围内频繁搜索的属性和按照排序顺序平凡检索的属性
7、在where子句中包含的一个关系的多个属性,可以考虑在这些属性上建立多属性索引。
此外,如果数据库文件需要频繁执行精确匹配查询(如等值查询),可考虑建立散...
分类:
数据库 时间:
2014-09-19 22:36:36
阅读次数:
322
11.1背景:模拟优化参数optimizer_switch选项mrr(Multi_RangeRead)对查询优化的影响11.2建表语句mysql>showcreatetableorder_line\G;***************************1.row***************************Table:order_lineCreateTable:CREATETABLE`order_line`(`ol_o_id`int(11)N..
分类:
其他好文 时间:
2014-09-17 15:33:13
阅读次数:
338
一引子在MySQL的官方手册上有这么一句话:theoptimizercanestimatetherowcountforeachrangeusingdivesintotheindexorindexstatistics.这是在说:优化器为每一个范围段(如“aIN(10,20,30)”是等值比较,括3个范围段实则简化为3个单值,分别是10,20,30)估计每个范围段(用范围段来表..
分类:
数据库 时间:
2014-08-29 03:02:17
阅读次数:
287
一创建表createtablett1(idintprimarykey,c1INT);createtablett2(idintprimarykey,c2INT);insertintott1values(1,1),(2,2),(3,3),(4,4);insertintott2values(1,2),(2,2);二执行计划与问题mysql>explainEXTENDEDSELECTtt1.c1,(SELECTtt2.c2FROMtt2WHEREc2=10)FROMtt1,tt2;+--..
分类:
数据库 时间:
2014-08-29 02:59:17
阅读次数:
183
在视图上创建索引的另一个好处是:查询优化器开始在查询中使用视图索引,而不是直接在 FROM 子句中命令视图。这样一来,可从索引视图检索数据而无需重新编码,由此带来的高效率也使现有查询获益。在视图上创建的第一个索引必须是唯一聚集索引。在创建唯一聚集索引后,可创建其它非聚集索引。视图上的索引命名规则与表...
分类:
数据库 时间:
2014-08-27 18:33:38
阅读次数:
201
本章提要-----------------------------------------查询优化器要确定多张表的连接顺序和连接方法, 目的是通过尽早的过滤不需要的数据, 减少要处理的数据量.本章会介绍3种基本连接方法: 嵌套循环连接, 合并连接, 哈希连接如何选择连接放的的基本建议.-------...
分类:
其他好文 时间:
2014-08-14 23:21:36
阅读次数:
244
我要买几本Java的书
大家推荐推荐
现在主要的工作是 代码重构,提高性能,提高可拓展性,降低耦合,集群,分布式数据库
这些方面
数据库查询优化
hibernate优化
而我对这些都不太了解。。。。 求大神指点迷津...
分类:
其他好文 时间:
2014-08-13 13:09:46
阅读次数:
172
今天网上看到一篇关于收集统计信息的文章,还不错,特转载下来。
1. 理解什么是统计信息
优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划。优化器统计信息包括:
· 表的统计信息
o 行数
o Block数
o 行平均长度
· 列的统计信息
o 列中不同值的数量
o 列中null的数量
o 数据分布(柱状图/直方图)
· 索引的统计信息
o 叶子块...
分类:
数据库 时间:
2014-08-08 02:03:15
阅读次数:
398