ssis trainning
1.
防止包打开后hang住,可以使用delay validation=false.
2.2008R2 configuration 起作用的优先级?
一是des ign time.
二是运行的时候指定的文件
2012的parameter 则是相反。
3.注意SSIS包的32位与64位跑的区别?
agentjob 默认是64位的去跑,如果你是包需要在32位下面跑,有选项可以勾选。
你可以使用不同folder下面的dtsexec去跑你的job.
第三方的driver也许需要设置allow in process?
4.load flat file 可以在source 组件上去掉某些列,
但是不能在connection manager上改。
5.SP 作为数据源的时候会有一些问题,set fmtonly off.
SP无法获取元数据。
SSIS 去拿元数据的时候,如果是从存储过程中去拿时候,需要把存储过程执行完才可以。
6.INDEX:
index structure:
include index 中的include 部分是存放在叶子结点中的。
复合索引与include索引的区别?
复合索引的键值都包含在索引的非叶子结点中,但是只能使用排在第一个的字段进行seek,其他的进行scan.
而include的非叶子结点的键值只有键值字段,include字段只存在叶子结点层。
index seek与index scan 的区别?
index seek是在非叶子结点进行查找,而index scan是在叶子结点进行线性扫描。
7.查询优化器:
创建了索引之后?查询优化器何时会使用它?怎么判断要使用它?
选择unique度比较高字段指定一个作为索引键。
一个表在操作的时候只能使用一个索引。
8.存储过程的参数嗅探
第一次编译的时候根据传递的参数产生的执行计划,往往会被重用,但后来传递的参数也许与原来的巨大的不同,造成查询效率巨慢。
这个时候非常建议存储过程重新编译执行计划,这时候可以使用一个关键字指定要求它做这个重编译。
9.exec sp with recompile.
parameter sniffering
一个中庸的计划是不在SP中直接让参数参与语句,而是把参数给本地变量,然后使用变量参与Sql语句的查询。
10.nested looped :
for 让小的结果集放在外面,不要放在里面。切记。
内存使用比较少,driven table存储
里表的是一条一条地取。
scan ,loop join 对于查询结果比较漫长的query 第一感觉是看这些。
如果预计的行数与实际的行数差很多,sqlserver 就很有可能弄错了。
第二种是merge join.
两边的结果集都已排序
然后。。。。
这样就无所谓某个表做driven table, 避免了上一个方法的bug.
内存需求不是太多。缺点就是需要两边都需要排序。
11.从右下到左上
这是看执行计划的方法。
HASH table
找到一个相对小的表,建成桶。
优点:不需要索引
,good for ad-hoc query.
有可能占用巨大的内存,选错了build table.
首先就是要让他们去更新统计信息。然后再执行去看看。然后再drop cache再看看。
他估计的时候是单次的,所以要让次数乘以每次估计的行数与实际的行数相比较。
with force order(强制按你写的表顺序进行join)
with tablelock. 可以好很多。
maxdoop 并发度的问题。
cpu contextswitch
ssis trainning的更多相关文章
- SSIS 包部署 Package Store 后,在 IS 中可以执行,AGENT 执行却报错
可以执行 SSIS Package ,证明用 SSIS Package 的账户是可以执行成功的.SQL Server Agent 默认指定账号是 Network Service. 那么可以尝试一下将 ...
- SSIS 属性:ExecValueVariable
有些Task组件执行完成之后,会产生输出结果,称作Execution Value,例如,Execute SQL Task在执行完成之后,会返回受影响的数据行数.Task组件的Execution Val ...
- SSIS 实例——将SQL获取的信息传递到Email中
最近在为公司财务开发一个邮件通知时遇到了一个技术问题.原来我设计SSIS的是每天将ERP系统支付数据导出到财务支付平台后 Email 通知财务,然后财务到支付平台上进行支付操作.由于那个时候开发时间很 ...
- 介绍几种SSIS部署方式
介绍 如果你已经开发完一个不错的SSIS包并且能够在你的本地完美的运行,每个任务都亮起绿色的通过标志.这时为了能够让这个包处理能够在指定时间运行,你需要将其发布到一个服务器上,并做好相关配置.作为开发 ...
- SSIS 处理NULL
不同于SQL Server中NULL表示值是未知的(Unknown Value),没有数据类型,但是,在SSIS中,NULL是有数据类型的,要获取某一个NULL值,必须指定数据类型,例如,变量 Int ...
- SSIS 数据类型和类型转换
在进行ETL开发时,数据类型(Data Type)是最基础的,但也容易被忽略,楼主使用的SQL Server 版本是2012,用此博文记录,常用的SSIS数据类型和TSQL数据类型的映射.SSIS的数 ...
- SSIS Destination 组件使用Fast-Load mode出错
查看一个Package的历史Message 数据,发现 DataFlow Task 经常出错,错误信息的Description是: Description: "While reading c ...
- SSIS Design6:利用数据流
数据流利用内存来缓冲数据,并在内存中处理数据转换,由于内存的访问速度是非常快的,所以SSIS数据流转换性能是非常高效的.SSIS Engine将数据分批加载到内存中,当Data Flow将一批新的数据 ...
- SSIS Design5:使用暂存
以数据流的方式来设计Package,将核心数据处理移动到数据流中,一般情况下,能够减少临时表的创建,获得较高的处理性能,在某些情况下,使用暂存表(staging table)能够优化package设计 ...
随机推荐
- java数据库查询类
通用查询数据库辅助类,可实现任意查询语句的查询,还可以进行多结果集查询. 类的代码: package com.hongyuan.db; import java.math.BigDecimal; imp ...
- 怎样在C#中从数据库中读取数据(数据读取器)
实现在C#中通过语句,查询数据库中的数据 SqlConnection con = null; //创建SqlConnection 的对象 try //try里面放可能出现错误的代码 ...
- WPF 竖排文字
---恢复内容开始--- 想做一个WPF 文字竖排 类似上图.用在TabItem的header上面. <TextBlock FontSize="30" Text=" ...
- 重新想象 Windows 8 Store Apps 系列文章索引
[源码下载][重新想象 Windows 8.1 Store Apps 系列文章] 重新想象 Windows 8 Store Apps 系列文章索引 作者:webabcd 1.重新想象 Windows ...
- java之AbstractStringBuilder类详解
目录 AbstractStringBuilder类 字段 构造器 方法 public abstract String toString() 扩充容量 void expandCapacity(in ...
- Spark集群 + Akka + Kafka + Scala 开发(4) : 开发一个Kafka + Spark的应用
前言 在Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境中,我们已经部署好了一个Spark的开发环境. 在Spark集群 + Akka + Kafka + S ...
- 缓存技术比拼:Redis与Memcached的同与不同
转至:http://developer.51cto.com/art/201603/507980.htm 在今天的文章中,我们将探讨Redis(REmote DIctionary Server).Red ...
- 设置让ASP.NET管道接收所有类型的请求
在web.config文件添加如下一段配置: <configuration> <system.webServer> <modules runAllManagedModul ...
- NullPointerException at android.widget.AbsListView.obtainView at android.widget.ListView.makeAndAddView
使用ExpandableListView的时候,报如下错.网上搜索发现原来是在CommonNumberQueryAdapter的getGroupView()方法里返回的是null,注意细节哦!!! 1 ...
- 卸载WIN10自带功能
要卸载OneNote,在里面输入 Get-AppxPackage *OneNote* | Remove-AppxPackage 可以复制,回车执行 4 要卸载3D,输入 Get-AppxPackage ...