SQL语句的Select部分只写必要的列

如果Select部分包含不需要的列,这会强制DB2必须进入数据页来得到所请求的特定列,这就要求更多的I/O操作。另外,如果再对这个不需要的列进行排序,就需要创建和传递一个更大的排序文件,相应地会使排序的成本更高。

如果查询中涉及多个表,指定多余的列还会对优化工具选择何种联接产生影响。目前,z/OS DB2中有4种联接类型(嵌套循环联接、合并扫描联接、复合联接和星型联接),DB2 LUW中还有一种哈希联接。优化工具会根据不同的原因选择各种联接类型。如果包含了根本不会用到的多余的列,优化工具就无法再联接中做出最佳选择。

时间: 2024-11-04 23:53:37

SQL语句的Select部分只写必要的列的相关文章

LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg (转)

Select/Distinct操作符 适用场景:o(∩_∩)o- 查询呗. 说明:和SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也就是结果返回回来:延迟. Select/Distinct操作包括9种形式,分别为简单用法. 匿名类型形式.条件形式.指定类型形式.筛选形式.整形类型形式. 嵌套类型形式.本地方法调用形式.Distinct形式. 1.简单用法: 这个示例返回仅含客户联系人姓名的序列. var q = from c i

LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg

上一篇讲述了LINQ,顺便说了一下Where操作,这篇开始我们继续说LINQ to SQL语句,目的让大家从语句的角度了解LINQ,LINQ包括LINQ to Objects.LINQ to DataSets.LINQ to SQL.LINQ to Entities.LINQ to XML,但是相对来说LINQ to SQL在我们程序中使用最多,毕竟所有的数据都要在数据库运行着各种操作.所以先来学习LINQ to SQL,其它的都差不多了,那么就从Select说起吧,这个在编写程序中也最为常用.

SQL语句中SELECT语句的执行顺序

SELECT语句的执行的逻辑查询处理步骤: 执行顺序 语句 8 SELECT 9 DISTINCT 11 <TOP_specification> <select_list> 1 FROM <left_table> 3 <join_type> JOIN <right_table> 2 ON <join_condition> 4 WHERE <where_condition> 5 GROUP BY<group_by_li

使用sql语句创建表、修改表、添加列等

1. 创建表: CREATE TABLE 学生信息 (    学号 varchar(14) IDENTITY(1,1) PRIMARY KEY,    姓名 varchar(8) UNIQUE NOT NULL,    班级编号 varchar(14) REFERENCES '班级信息',    年级 int null,    性别 varchar(2) CHECK(性别in ('男’','女’)),    民族 varchar(20) DEFAULT '未知该生民族',    籍贯 varch

容易被忽略的事----sql语句中select语句的执行顺序

关于Sql中Select语句的执行顺序,一直很少注意这个问题,对于关键字的使用也很随意,至于效率问题,因为表中的数据量都不是很大,所以也不是很在意. 今天在一次面试的时候自己见到了,感觉没一点的印象,所以也就没有答上来,现在整理一下吧,希望提醒自己,也能够帮到其他的朋友.如下: (8) SELECT (9)DISTINCT (11) <TOP_specification> <select_list> (1) FROM <left_table> (3) <join_

Sql语句之select 5种查询

select 5种子句:注意顺序where / group by /having / order by / limit / 清空表中的数据:truncate 表名: 导入表结构(不含数据): create table 表2 like 表1; 删除表:drop table 表名: 导入数据:insert into g2 select * from stu order by name, fenshu desc; //从临时表中查询=========子查询select * from (select *

SQL 语句 (二) --- SELECT

1 完整句法: SELECT [ ALL | DISTINCT TOP n [] WITH TIES select_list [INTO [new_table_name] ] [FROM {table_name | view_name2} [ (optimizer_hints) ] [ [ , {table_name2 | view_name2} [ (optimizer_hints) ] [... ,            table_name16  | view_name16 ] [ (op

模糊查询时用到prepareStatement在SQL语句里的问号怎么写

原文地址:https://www.cnblogs.com/liuhuaabcp/p/9426414.html

利用SQL语句重置数据库中所有表的标识列(自增量)

可以应用于2种场景: 1.清空所有表中的数据,数据清空后,最好是能够让表中的标识列从1开始记数,所以要重置标识列的当前值. 2.用复制的方式,发布订阅同步数据之后,订阅端的数据不会自动增长,比如自增ID该9527了,但如果中间有跳过的ID,会自动填充缺失的路过的ID,该执行如下代码,即可从应该的9527开始增长. declare @tablename varchar(50) declare @sql varchar(1000) declare cur cursor for select name