小结果集,直接条件
Small Result Set, Direct Specific Criteria
对于典型的在线交易处理,多为返回小结果集的查询,源表数量较少,查询条件也是“直接”针对源表的。当我们要通过一组条件查询出少许记录时,首先要注意的就是索引。
一般而言,通过一个表或通过两个表的连接查询较少记录,只要确保查询有适当的索引支持即可。然而,当很多表连接在一起,并且查询条件要参照不同的表时(例如 TA 和 TB),会面临连接顺序的问题。连接顺序的选择,取决于如何更快地过滤不想要的记录。如果统计数据足够精确地反映了表的内容,优化器有可能对连接顺序做出适当选择。
当查询仅返回少量记录,且过滤条件直接针对源表时,我们必须保证这些过滤条件高效;对于非常重要的条件,必须事先为相应字段加上索引,以便查询时使用。
索引可用性
Index Usability
如第3章所述,对某字段使用函数时,则该字段上的索引并不能起作用。当然,你可以建立函数索引(functional index),这意味着要对函数的结果加索引,而不是为字段加索引。
注意,“函数调用”不光是指“显式函数调用”。如果你将某类型的字段与一个不同类型的字段或常量进行比较,则DBMS会执行“隐式类型转换”(隐式调用一个转换函数),如你所料,这会对性能造成影响。
一旦确定重要的搜索条件上有索引,而查询编写方式也的确能因索引而提高性能,我们还须进一步区别如下两种情况:
使用唯一性索引(unique index)检索单条记录
非唯一性索引(non-unique index)或基于唯一性索引的范围扫描(range scan)
| 回书目 |
|
||||
| · WCF开发基础 · 珊瑚虫QQ作者侵权案开庭 · SQL Server 2008/2005.. · 华为员工自杀频频拷问.. · 计算机网络维护入门 · 开源虚拟化技术Xen · 贝恩资本携手华为22亿.. · 如何优化IT 控制能耗 |
· VMware技术应用 · 打造安全服务器 · iSCSI应用与发展 · FTTx光纤接入 · Windows Server 2008专.. · Linux——从菜鸟到高手 · 微软出价446亿美元收购.. · RAID——磁盘阵列基础 |
|||
|
||||
| · iSCSI应用与发展 · SQL Server 2008/2005.. · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 中间件应用技术专题 · 深入了解PGP加密技术 · 病毒查杀专题 |
· 国际文档格式标准开战 · Linux防火墙 · 打造安全服务器 · Sniffer安全技术从入门.. · 木马原理与防范 · ADSL应用面面俱到 · 入侵防护系统(IPS)初探 · TCP/IP协议专题 |
|||
|
||||
| · iSCSI应用与发展 · 中间件应用技术专题 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 身份认证技术 · 病毒查杀专题 · 清除流氓软件——51CTO.. |
· Sniffer安全技术从入门.. · 了解统一威胁管理(UTM).. · 网络钓鱼 · ADSL应用面面俱到 · ADSL应用面面俱到 · 木马原理与防范 · 反垃圾邮件技术应用 · 我是黑客我怕谁——讲.. |
|||