WEB开发网
开发学院数据库DB2 DB2 基础: 编码 DB2 SQL 以获得最佳性能 阅读

DB2 基础: 编码 DB2 SQL 以获得最佳性能

 2008-09-17 16:29:04 来源:WEB开发网   
核心提示: 历史证明,保证 SQL 成功的最重要的一个特性就是它使用类似英语的语法轻松地检索数据的能力,DB2 基础: 编码 DB2 SQL 以获得最佳性能(2),理解这种语言比理解数据页面的结构和程序源代码要容易得多:SELECTLASTNAMEFROMEMPWHERE EMPNO = '0

历史证明,保证 SQL 成功的最重要的一个特性就是它使用类似英语的语法轻松地检索数据的能力。理解这种语言比理解数据页面的结构和程序源代码要容易得多:

SELECT LASTNAME
FROM  EMP
WHERE  EMPNO = '000010';

想想看:当访问文件中的数据时,程序员必须编码指令来打开文件、开始一个循环、读取记录、检查 EMPNO 字段是否等于适当的值、检查文件结尾、回到循环的开头等。

SQL 本来就是非常灵活的。它使用自由格式的结构,该结构可以让用户开发 SQL 语句来适合他们的需要。DBMS 在执行之前会分析每个 SQL 请求,以检查语法是否正确和优化该请求。SQL 语句不需要从任何给定的列中开始,您可以将它们串在一行中,或者把它们拆成几行。例如,以下这条单行的 SQL 语句与我前面使用的三行示例等价:

SELECT LASTNAME FROM EMP WHERE EMPNO = '000010';

SQL 的另一个灵活特性是您可以用许多形式不同但功能等价的方法来制定一个请求。例如:SQL 可以连接表或嵌套查询。您始终可以将嵌套查询转换成等价的连接。您可以在大量的函数和谓词中看到这一灵活性的其它示例。具有等价功能的特性的示例包括:

BETWEEN vs <= / >=

IN vs 一系列和 OR 配合的谓词

INNER JOIN vs FROM 子句中串在一起并用逗号分隔的表

OUTER JOIN vs 带有 UNION 的简单 SELECT 和相关的子查询

CASE 表达式 vs 复杂的 UNION ALL 语句

SQL 展示的这一灵活性并不总是称心的,因为形式不同但功能等价的 SQL 公式可以提供非常不同的性能。我将在本文的以后部分讨论该灵活性所造成的结果,并提供开发有效的 SQL 的准则。

上一页  1 2 3 4 5 6 7  下一页

Tags:DB 基础 编码

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接