SqlServer中循环给多张表建立聚簇索引
缘由
因为在某个复(bian)杂(tai)需求中用到了170+张表进行查询,而且表中的数据过多,查起来缓慢。只能给这些表添加索引。但是,连表名也是无法确定的(无力吐槽)。
解决方法
使用游标遍历查询出来的符合条件的表名,通过拼接sql语句进行建立索引。
代码如下:
--声明变量DECLARE @tableName AS VARCHAR(50) = '', @SqlStr AS VARCHAR(MAX) = '';
--声明游标DECLARE C_TableName CURSOR FAST_FORWARD FOR ( select name from sysobjects where xtype='u' AND name LIKE 'EAR%2019' --读取库中的所有表名);
OPEN C_TableName;
--取第一条记录FETCH NEXT FROM C_TableName INTO @tableName;
WHILE @@FETCH_STATUS = 0BEGIN --组装sql语句 SET @SqlStr = 'CREATE INDEX ' + @tableName + '_called_duration' + ' ON ' + @tableName + '(called,duration);'; EXEC (@SqlStr); PRINT @SqlStr; --取下一条记录 FETCH NEXT FROM C_TableName INTO @tableName;END
-- 关闭游标CLOSE C_TableName;
-- 释放游标DEALLOCATE C_TableName;
转载于:https://www.cnblogs.com/GuDuYing/p/10260267.html
SqlServer中循环给多张表建立聚簇索引相关推荐
- MySQL和Oracle中如何update一张表中的字段赋值给另一张表的字段
MySQL 中实现将 一张表table1 中的字段name 等于table2 中的字段 name 通过相同字段no相连,实现如下: update table1 a1,table2 a2 set a1. ...
- 关于spring boot多张表建立外健的讨论
现在有四张表:student(学生表).blogs(博客表).comment(评论表).reply(回复表) 现在说一下这四张表: student(学生表):学生的信息记录表 blogs(博客表):学 ...
- SqlServer SqlBulkCopy批量插入 -- 多张表同时插入(事务)
这段时间在解决一个多个表需要同时插入大量数据的问题,于是在网上找了下,查到说用SqlBulkCopy效率很高,实验后确实很快,10万条数据只要4秒钟,用ef要用40秒.但是我的还需两张表同时插入,且需 ...
- navicat mysql两张表建立联系_初识MySQL
初识MySQL 为什么学习数据库 1.岗位技能需求 2.现在的世界,得数据者得天下 3.存储数据的方法 4.程序,网站中,大量数据如何长久保存? 5.数据库是几乎软件体系中最核心的一个存在. 什么是数 ...
- 如何在Sqlserver 中创建非dbo 的表
首先创建一个用户 test 其次创建一个Schema :abc 例子 CREATE SCHEMA [abc] AUTHORIZATION [test] GO 创建好这个以后你想使用这个架构建表必须先拥 ...
- 将oracle数据库中指定的多张表结构导入word
读库操作 /** @Author zw @DATE 2019/8/7 17:24 @VERSION 1.0.0 **/ @Service public class SaveTemplateServic ...
- java 数据库外键查询_oracle中查询所有外键引用到某张表的记录
其实查找这篇文章 我主要用的sql 是这句 select * from user_cons_columns t where t.constraint_name like 'FK_CTS_CONT_ ...
- 从库备份中恢复一张表
很多时候我们需要从mysqldump备份文件中恢复出一张表,通常的做法可能是先把sql 文件恢复到一个测试数据库,然后再使用mysqldump 导出一张表,再恢复到线上,这样,如果数据量不大这方法是可 ...
- Hive将查询结果保存到另一张表中
例如使用查询语句select province,count(1) from track_info where day='2013-07-21' group by province ;查询出的结果如下: ...
最新文章
- FTP的主动模式和被动模式,你应该用那种?
- 内核中的对象操作的方法模块 和 C++ 构造和析构的对比
- 大话PHP设计模式:类自动载入、PSR-0规范、链式操作、11种面向对象设计模式实现和使用、OOP的基本原则和自动加载配置...
- Update msi using vbscript
- weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件、不用jar...
- laravel中的数据迁移表结构、字段类型、定义整理
- yearning 2. 部署_对于企业来说,在选择协同办公系统的时候,选择私有化部署的数据安全一些,还是使用云服务器比较安全?...
- 程序员分析一线城市 1000 +岗位招聘需求,告诉你如何科学找工作
- [Fedora 20] 设置Terminal快捷键 + 设置桌面快捷方式 + Terminal透明解决方案
- 哈希表(hash table)及其应用举例
- python删除文件代码_python2.7删除文件夹和删除文件代码实例
- python引用配置文件_python中配置文件的使用方法
- 台达b3伺服参数设置方法,台达B2伺服电机参数设定
- 如何改变B站视频播放速度
- Gin:路由抽离与分组
- 洛谷 P5663 [CSP-J2019] 加工零件(最短路)
- 移动互联网时代必读十大图书
- 不止ChatGPT,谷歌云 AI 方案早已厉兵秣马!
- Java查找一个字符串中某字符出现的次数
- 【笔记】《计算机网络系统方法》(by Larry L.Peterson)第二章 开始连接
热门文章
- express web的一款mvc框架
- GDUT1169:Krito的讨伐(树 + 优先队列)
- Mac Pro 开机自启动 PHP-FPM,Nginx,MySql 等软件
- orion的简单测试
- DBA_Oracle Database 11g 面向 DBA 和开发人员的重要特性
- Task.Run vs Task.Factory.StartNew
- 硬盘IO,SAS,SATA,和HD TUNE
- Base62x比Base64的编码速度更快吗?
- Angular 依赖注入
- vue服务端渲染浏览器端缓存(keep-alive)