SQL基础:《SQL HACKS》第2章——连接、联合和视图,总共列举了8个tips,不破坏现有查询的修改模式、过滤行和列等,下述为我对这8个tips的评析。
1、不破坏现有查询修改模式
情景描述:要对设备登记表增加一个办公室字段,但是却要保留以前的查询语句。
解决方案:新建设备登记新表,然后创建与原有设备登记表结构一样的视图,则对该视图的查询操作就是对原有设备登记表的查询操作。
评析:合理使用视图会有意外的收获,尤其是表结构发生更改后要保留遗留sql预热,通常通过创建视图都可以解决。
2、过滤行和列
评析:只从数据库查特定条件的记录和字段。所以切忌返回全表记录及记录的所有字段。
3、在索引列上过滤
评析:sql查询语句where条件,应尽量使用索引,正确地使用索引。至于如何创、使用索引作者给出下述描述:
1)在创建复合索引或复合主键时,仔细考虑各列的次序意义重大。确保每一个常用的列都至少在索引的第一个位置出现一次。
2)无疑应该把高区分度的列放在前面。
3)= 和 > 的连接条件,where子句通常能够很好地利用索引。
4、将子查询转换为JOIN
评析:多个查询sql语句,如果可以合并成一个sql查询语句,请尽量合并。切忌认为:
1)先查条件A满足的记录,得到集合A;
2)然后将集合A作为条件,去查处集合B;
…
5、将聚合子查询转换为Join
评析:将聚合子查询转换为join可以解决有些DB不支持子查询问题,并提高查询性能。
聚合子查询:通常做法都是表自连,并通过聚合函数作为where条件,这导致的结果就是对每行数据都会执行一次子查询。因此,将子查询转换为join,本章的第4个tip可以有效提高查询效率。
6、简化复杂的更新
评析:有时很难通过一个sql语句就可以更新表数据,如每个上班族都遇到的扣税问题,写一条sql语句去更新税收比较费事。为此,可以通过构建视图或者游标进行简单处理。
7、为关系选择正确的连接风格
8、生成组合
评析:通常情况下,我们说的连接都是表的内连,但有时外联、交叉连接是必须的。比如本章提到的场景:赛程安排问题,就必须使用cross join。
分享到:
相关推荐
本人正在读O'reilly的SQL Hacks这本书,深深的被这些sql技巧所吸引。作为一个程序员,如果能够在合适的地方用上精巧的sql语句,能够给开发带来无与伦比的轻巧与快捷。如果你的基础较好的话,应该只用看这个读书笔记...
● 使用高级的联合、过滤和分组技术,为数据报表获得数据。 ● 解决使用SQL的一些疑难问题。 ● 在字符串、日期等数据上执行复杂的查询与排序。 ● 设置你的事务,这样用户之间就不会发生冲突。 ● 管理用户,审计...
不过,从描述和标签可以推测,《Debug Hacks中文版》将会是一本深入讲解Linux下调试技术与工具的实用书籍,适合那些希望提高自己软件调试能力的程序员和软件工程师阅读。在阅读过程中,建议读者能结合实际编程环境和...
sql语言学习圣经 老外写的 书不厚但是很好,值得细细读
《SQL.Hacks.Nov.2006》这本书聚焦于SQL语言在主流数据库系统中的高效应用,涵盖了Oracle、MySQL和SQL Server等多个平台。SQL(Structured Query Language),即结构化查询语言,是用于管理关系数据库的标准语言,...
SQL_HACKS:100个业界最尖端的技巧和工具,电子书,高清版
由于提供的内容不足以推断出具体的知识点,我将基于标题《Debug Hacks中文版—深入调试的技术和工具》来构建相关知识点。请注意,以下内容是基于假设的文档内容,实际的知识点可能与此有所不同。 在计算机科学中,...
《SQL Hacks: 100个业界最尖端的技巧和工具》是一本专为SQL用户和数据库管理员设计的指南,旨在帮助他们提升在数据处理和分析中的效率与技能。这本书深入浅出地介绍了各种SQL技巧和工具,无论你是初学者还是经验丰富...
### Google.Hacks:探索和利用全球信息资源的技巧和工具 #### 核心知识点概览 本书《Google.Hacks》是一本深入探索Google搜索引擎高级应用技术的书籍,它不仅介绍了如何高效地使用Google进行信息搜索,还展示了...
SQL HACKS 100个业界最尖端的技巧和工具,好不容易找到的资源
SQL_HACKS:100个业界最尖端的技巧和工具,高清,好不容易找到
Swing Hacks 是一个宝贵的学习资源,专门为Java Swing开发者提供了许多实用技巧和创新方法。Swing作为Java GUI(图形用户界面)库的核心部分,被广泛用于构建桌面应用程序。本资源由Swing的原始架构团队成员编写,...
《Linux Server Hacks》这本书的标题和描述指向了一个关于Linux服务器技巧和工具的专业书籍,特别是关于连接、监控和故障排除的方面。从标题来看,这本书更侧重于教授读者一些高效、快捷的技巧(hacks),从而使得...
《Debug+Hacks中文版:深入调试的技术和工具》是一本专为Linux系统开发者和管理员设计的实用指南,旨在帮助读者提升在Linux环境中的调试技能和效率。这本书深入探讨了各种调试工具和技术,以帮助读者解决复杂的问题...
本书标签“goolge hacks”暗示了内容的核心——揭示Google的未被广泛知晓的技巧和窍门,这些技巧可以帮助用户在日常搜索、数据分析、甚至是网络开发中取得突破。 在压缩包中的“Google Hacks 2nd Edition.chm”文件...
书中涵盖的章节广泛,包括但不限于列表和组合框、文件选择器、表格和树形视图、拖放功能、基础组件、文本处理以及本地集成和打包等方面。 1. **列表和组合框(Ch02-ListsAndCombos)**: 这一章主要探讨了如何定制...
根据提供的信息,“50 Android Hacks.pdf”似乎是一份关于Android系统高级技巧和优化方法的手册。虽然在给出的部分内容中并未直接提及具体的技术细节,但从文件标题、描述及标签可以推断出这份文档主要围绕Android...
【标题】"Google Hacks" 指的是利用搜索引擎Google的高级搜索技巧和特性来获取特定类型的信息,或者解决特定的技术问题。这并不是指非法入侵或破解,而是关于如何更有效地利用Google的强大搜索功能。 【描述】...
《深入调试的技术和工具——Debug.Hacks中文版》是一本专为软件开发人员设计的书籍,旨在帮助读者深入了解和掌握调试技术与工具的运用。在软件开发过程中,调试是不可或缺的一环,它能够帮助开发者发现并修复代码中...
《50 Android Hacks》是一本专为Android开发者设计的实战型书籍,旨在提供50个精心挑选的技巧和窍门,帮助读者提升在Android开发中的技能和效率。书中涵盖的内容广泛,涉及到Android应用程序开发的各个方面,从基础...