锦囊妙计:认识经典SQL模式

过滤数据会遇到的最典型情况有九种:

小结果集,源表较少,查询条件直接针对源表。

小结果集,查询条件涉及源表之外的表。

小结果集,多个宽泛条件,结果取交集。

小结果集,一个源表,查询条件宽泛且涉及多个源表之外的表。

大结果集

结果集来自基于一个表的自连接

结果集以聚合函数为基础获得。

结果集通多简单搜索或基于日期的范围搜索获得

结果集和别的数据存在与否有关。

1.小结果集,直接条件

多为返回小结果集,源表数量较少,查询条件也是直接针对源表的。当我们要通过一组条件查出少许记录时,首先注意的就是索引。

索引可用性

对某字段使用函数时,该字段上的索引并不能起作用。可以建立函数索引,这以为这对函数的结果加索引,而不是为字段加索引。

小结果集,间接条件

多个宽泛条件的交集

 

多个间接宽泛条件的交集

为了构造查询条件,需要连接(jion)源表之外的表,并在条件中使用该表的字段,就叫间接条件。

优化器忽略了查询条件。优化器先对ttraoma表进行完整扫描,接着访问和包ttraoma关联的所有小表,最后,对其他表运用我们的过滤条件。将查询条件推迟执行,不利于减少要处理的数据量。

既然访问了ttraoma这个关键表,应该执行语句中的查询条件,这样可以借助这些表与ttraoma表之间的链接(jion)先去除表中无用的记录。

让DBMS依我们要求的方式执行查询。依靠SQL方言。例如:告诉优化器按表名在from子句中出现的顺序依次访问各表。

嵌套查询是个不错的选择,他使表的关联变得明确,而SQL语句的阅读也相当容易。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值