SQL优化技巧-批处理替代游标
通过MSSQL中的用户自定义表类型可以快速将需要处理的数据存储起来,生成新的临时表(这里使用变量表),然后根据表中字段进行批处理替代游标。
用户自定义表类型
- 0 --创建用户自定义表类型
1 Create Type [dbo].[type_XXXTable] As Table(- [Item1] [Varchar](255) Null,
- [Item2] [Varchar](255) Null,
- [Item3] [Varchar](255) Null,
- [Item4] [Varchar](255) Null,
- [Item5] [Varchar](255) Null,
- [Item6] [Varchar](255) Null,
- [Item7] [Varchar](255) Null,
- [Item8] [Varchar](255) Null,
- [Item9] [Varchar](255) Null,
- [Item10] [Varchar](255) Null,
- [ItemInt1] [Int] Null,
- [ItemInt2] [Int] Null,
- [ItemInt3] [Int] Null,
- [ItemInt4] [Int] Null,
- [ItemInt5] [Int] Null,
- [ItemFloat1] [Decimal](28, 8) Null,
- [ItemFloat2] [Decimal](28, 8) Null,
- [ItemFloat3] [Decimal](28, 8) Null,
- [ItemFloat4] [Decimal](28, 8) Null,
- [ItemFloat5] [Decimal](28, 8) Null,
- [ItemDateTime1] [DateTime] Null,
- [ItemDateTime2] [DateTime] Null
- )
- Go
- 0 --引用新数据表类型存储t_XXX表的FieldName1
- 1 Declare @XXX type_XXXTable
- Insert Into @XXX(Item1) --Item1为刚才创建表类型的第一个字段
- Select FIeldNmae1 From t_XXX
- --将游标动作改写为表处理
- eg:
- Select FieldName1 Into #t_XXX
2018-07-14 14:34:38
SQL优化技巧-批处理替代游标的更多相关文章
- SQL优化技巧
我们开发的大部分软件,其基本业务流程都是:采集数据→将数据存储到数据库中→根据业务需求查询相应数据→对数据进行处理→传给前台展示.对整个流程进行分析,可以发现软件大部分的操作时间消耗都花在了数据库相关 ...
- 常用的7个SQl优化技巧
作为程序员经常和数据库打交道的时候还是非常频繁的,掌握住一些Sql的优化技巧还是非常有必要的.下面列出一些常用的SQl优化技巧,感兴趣的朋友可以了解一下. 1.注意通配符中Like的使用 以下写法会造 ...
- 19 个让 MySQL 效率提高 3 倍的 SQL 优化技巧
优化成本: 硬件>系统配置>数据库表结构>SQL及索引 优化效果: 硬件<系统配置<数据库表结构<SQL及索引 本文我们就来谈谈 MySQL 中常用的 SQL 优化 ...
- 数据库的规范和SQL优化技巧总结
现总结工作与学习中关于数据库的规范设计与优化技巧 1.规范背景与目的 MySQL数据库与 Oracle. SQL Server 等数据库相比,有其内核上的优势与劣势.我们在使用MySQL数据库的时候需 ...
- 数据库查询优化-20条必备sql优化技巧
0.序言 本文我们来谈谈项目中常用的 20 条 MySQL 优化方法,效率至少提高 3倍! 具体如下: 1.使⽤ EXPLAIN 分析 SQL 语句是否合理 使⽤ EXPLAIN 判断 SQL 语句是 ...
- SQL优化技巧--远程连接对象引起的CTE性能问题
背景 最近SSIS的开发过程中遇到几个问题.其中使用CTE时,遇到一个远程连接对象,结果导致严重的性能问题,为了应急我就修改了代码. 之前我写了一篇介绍CTE的随笔包含了CTE的用法等: http:/ ...
- 13个SQL优化技巧
避免无计划的全表扫描<!--?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...
- Hibernate SQL优化技巧dynamic-insert="true" dynamic-update="true"
最近正在拜读Hibernate之父大作<Java Persistence with Hibernate>,颇有收获.在我们熟悉的Hibernate映射文件中也大有乾坤,很多值得我注意的地方 ...
- MySql Sql 优化技巧分享
有天发现一个带inner join的sql 执行速度虽然不是很慢(0.1-0.2),但是没有达到理想速度.两个表关联,且关联的字段都是主键,查询的字段是唯一索引. sql如下: SELECT p_it ...
随机推荐
- ORACLE 导出表结构及备注
https://blog.csdn.net/u013303551/article/details/52354230 SELECT t.table_name, t.colUMN_NAME, ...
- 润乾填报页面导入excel后增加js动作
当页面从excel中导入数据之后,自动加入js的检查功能,下面是如何在导入excel后直接引入js的功能实例: var _orgImportExcel = report1_importExcel ...
- CCSUOJ评测系统——第一次scrum冲刺
1.第一次冲刺任务安排 对Github上的HUSTOJ开源项目进行Fork,搭建基本环境 2.用户需求 ①基本功能显示在首页 ②能够提交题目并判题,并对自己所提交的题目正确性进行反馈,能够查看自己提交 ...
- java vector的多线程安全是否有用
在网上搜了不少文章,发现有不少没讲清楚的,也有不少好文,本文希望更易懂地描述该问题.如有不对的地方,请多多指正~~ vector的使用主要有如下两种场景:(1)vector所谓的多线程安全,只是针对单 ...
- 18c新特性的一些小结(from JimmyHe)
Oracle 18c在2018-02-16 release出来的,还是秉承着Oracle的cloud first理念,18c现在cloud和Engineered Systems上推出,想在传统的机器上 ...
- Linux的Transparent Hugepage与关闭方法
Transparent HugePages是在运行时动态分配内存的,而标准的HugePages是在系统启动时预先分配内存,并在系统运行时不再改变. 因为Transparent HugePages是在运 ...
- 使用CAReplicatorLayer [1]
使用CAReplicatorLayer [1] 说明 https://developer.apple.com/library/ios/documentation/GraphicsImaging/Ref ...
- USMT
备份当前用户状态:scanstate /i:miguser.xml /i:migapp.xml /i:migdocs.xml /config:config.xml c:\migstorefolder ...
- Linux 安装 pycharm
1.Windows系统下载http://www.jetbrains.com/pycharm/download/#section=linux2.解压到挂载文件夹 mount -t cifs -o use ...
- Python初学者第二十二天 函数进阶(1)
22day 1.函数命名空间: 2.函数作用域的查找顺序:LEGB locals->enclosing function ->globals ->_builtins_ a.local ...