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设计 ...
随机推荐
- php中的常用数组函数(一)(比较多个数组的差集的函数们 array_diff_assoc() array_diff() array_diff_key() array_diff_ukey() array_diff_uassoc())
array_diff_assoc($arr1, $arr2, $arr3,... n); 返回:一个$arr1的副本,后续的数组中出现一个键值相同的元素,就在副本中删掉这个元素,最后返回这个副本. 如 ...
- python函数和常用模块(二),Day4
内置函数2 装饰器 字符串格式化 生成器 迭代器 递归 模块 序列化相关 time模块 datetime模块 内置函数2 callable() # 是否可以被执行,是否可以被调用 chr() # as ...
- ASP.NET 5新特性
近期微软发布了ASP.NET 5.0,本次发布的新特性需求源于大量用户的反馈和需求,例如灵活的跨平台运行时和自主部署能力使ASP.NET应用不再受限于IIS.Cloud-ready环境配置降低了云端部 ...
- linux tcp/ip编程和windows tcp/ip编程差别以及windows socket编程详解
最近要涉及对接现有应用visual c++开发的tcp客户端,花时间了解了下windows下tcp开发和linux的差别,从开发的角度而言,最大的差别是头文件(早期为了推广尽可能兼容,后面越来越扩展, ...
- 通过GPS数据反向地理信息编码, 得到当前位置信息
检查可用性 这属于基础知识, 不赘述, 总的来说,你的设备的支持要打开, 添加CoreLocation的framework, 引用头文件, 添加委托,然后, 好的实践是在使用前编程检查相关可用性: - ...
- datepicker冲突
公司里的项目由于发展较快,很多东西都没有好好梳理一下,以至于有很多的潜在的问题. 最近就遇到了一个比较坑的问题.datepicker 有两个插件库中的datepicker插件比较有名.一个是jQuer ...
- while循环语句的使用
说明:先判断表达式,后执行语句,while循环称为当型循环. 如果指定的条件为真(表达式为非0)时,执行while语句中的内嵌语句. 格式:while (表达式) //判断括号内表达式 真(tru ...
- 网站防止CC攻击的方法
CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一 ...
- 新著作计划:《水利水电工程施工导流 水力计算与.NET编程》
目 录 第一篇 基础理论篇 第1章 施工导截流设计概述 第2章 基本水力计算 2.1 临界水深计算 2.2 正常水深计算 2.3 堰流水力计算 2.4 明渠流水力计算 2.5 管流水力计算 第3章 ...
- 公司outing选项
Sign up: 2014 Summer Outing 请您从以下三个方案中选择您最感兴趣的一个项目, 如果您不能参加此次summer outing, 请选择"遗憾放弃"- ...