缘由

因为在某个复(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中循环给多张表建立聚簇索引相关推荐

  1. MySQL和Oracle中如何update一张表中的字段赋值给另一张表的字段

    MySQL 中实现将 一张表table1 中的字段name 等于table2 中的字段 name 通过相同字段no相连,实现如下: update table1 a1,table2 a2 set a1. ...

  2. 关于spring boot多张表建立外健的讨论

    现在有四张表:student(学生表).blogs(博客表).comment(评论表).reply(回复表) 现在说一下这四张表: student(学生表):学生的信息记录表 blogs(博客表):学 ...

  3. SqlServer SqlBulkCopy批量插入 -- 多张表同时插入(事务)

    这段时间在解决一个多个表需要同时插入大量数据的问题,于是在网上找了下,查到说用SqlBulkCopy效率很高,实验后确实很快,10万条数据只要4秒钟,用ef要用40秒.但是我的还需两张表同时插入,且需 ...

  4. navicat mysql两张表建立联系_初识MySQL

    初识MySQL 为什么学习数据库 1.岗位技能需求 2.现在的世界,得数据者得天下 3.存储数据的方法 4.程序,网站中,大量数据如何长久保存? 5.数据库是几乎软件体系中最核心的一个存在. 什么是数 ...

  5. 如何在Sqlserver 中创建非dbo 的表

    首先创建一个用户 test 其次创建一个Schema :abc 例子 CREATE SCHEMA [abc] AUTHORIZATION [test] GO 创建好这个以后你想使用这个架构建表必须先拥 ...

  6. 将oracle数据库中指定的多张表结构导入word

    读库操作 /** @Author zw @DATE 2019/8/7 17:24 @VERSION 1.0.0 **/ @Service public class SaveTemplateServic ...

  7. java 数据库外键查询_oracle中查询所有外键引用到某张表的记录

    其实查找这篇文章  我主要用的sql 是这句  select * from user_cons_columns t where t.constraint_name like 'FK_CTS_CONT_ ...

  8. 从库备份中恢复一张表

    很多时候我们需要从mysqldump备份文件中恢复出一张表,通常的做法可能是先把sql 文件恢复到一个测试数据库,然后再使用mysqldump 导出一张表,再恢复到线上,这样,如果数据量不大这方法是可 ...

  9. Hive将查询结果保存到另一张表中

    例如使用查询语句select province,count(1) from track_info where day='2013-07-21' group by province ;查询出的结果如下: ...

最新文章

  1. FTP的主动模式和被动模式,你应该用那种?
  2. 内核中的对象操作的方法模块 和 C++ 构造和析构的对比
  3. 大话PHP设计模式:类自动载入、PSR-0规范、链式操作、11种面向对象设计模式实现和使用、OOP的基本原则和自动加载配置...
  4. Update msi using vbscript
  5. weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件、不用jar...
  6. laravel中的数据迁移表结构、字段类型、定义整理
  7. yearning 2. 部署_对于企业来说,在选择协同办公系统的时候,选择私有化部署的数据安全一些,还是使用云服务器比较安全?...
  8. 程序员分析一线城市 1000 +岗位招聘需求,告诉你如何科学找工作
  9. [Fedora 20] 设置Terminal快捷键 + 设置桌面快捷方式 + Terminal透明解决方案
  10. 哈希表(hash table)及其应用举例
  11. python删除文件代码_python2.7删除文件夹和删除文件代码实例
  12. python引用配置文件_python中配置文件的使用方法
  13. 台达b3伺服参数设置方法,台达B2伺服电机参数设定
  14. 如何改变B站视频播放速度
  15. Gin:路由抽离与分组
  16. 洛谷 P5663 [CSP-J2019] 加工零件(最短路)
  17. 移动互联网时代必读十大图书
  18. 不止ChatGPT,谷歌云 AI 方案早已厉兵秣马!
  19. Java查找一个字符串中某字符出现的次数
  20. 【笔记】《计算机网络系统方法》(by Larry L.Peterson)第二章 开始连接

热门文章

  1. express web的一款mvc框架
  2. GDUT1169:Krito的讨伐(树 + 优先队列)
  3. Mac Pro 开机自启动 PHP-FPM,Nginx,MySql 等软件
  4. orion的简单测试
  5. DBA_Oracle Database 11g 面向 DBA 和开发人员的重要特性
  6. Task.Run vs Task.Factory.StartNew
  7. 硬盘IO,SAS,SATA,和HD TUNE
  8. Base62x比Base64的编码速度更快吗?
  9. Angular 依赖注入
  10. vue服务端渲染浏览器端缓存(keep-alive)