首页 > 数据库 >MSSQL 维护小记(清理进程、重建索引)

MSSQL 维护小记(清理进程、重建索引)

时间:2023-09-20 09:06:08浏览次数:43  
标签:index ips -- tablelist MSSQL 游标 索引 id 小记

------------------------------清理进程-----------------------------------

 

declare @deleteSleepSession nvarchar(100) --申明一个变量
declare tablelist cursor local --申明一个本地游标
for
select 'kill '+rtrim(spid)
from master.dbo.sysprocesses --数据库系统进程表
where status='sleeping' --状态为休眠状态
and spid>=50 --因spid<=50的为SQL Server本身的系统进程
and last_batch< DATEADD(MINUTE,-30,GETDATE()) --最后批处理时间大于当前时间30分钟
and program_name = 'XXXXXXXXXX'  --名称
--and login_time< DATEADD(MINUTE,-30,GETDATE()) --提交时间大于当前时间30分钟
open tablelist
fetch tablelist into @deleteSleepSession --执行查询,返回结果集插入至游标中
while @@fetch_status=0
-- 0 FETCH 语句成功
-- -1 FETCH 语句失败或此行不在结果集中
-- -2 被提取的行不存在
begin
exec(@deleteSleepSession) --执行变量
fetch tablelist into @deleteSleepSession
end
close tablelist --关闭游标
deallocate tablelist --删除游标引用

 

 

---------------------------------重建索引---------------------------------------------

 

select *, 'alter index all on dbo.['+TableName+'] rebuild;' as forsql

from (
SELECT OBJECT_NAME(ips.object_id) AS TableName,
ips.index_id,
name AS IndexName,
avg_fragmentation_in_percent,
DB_NAME(ips.database_id) AS DatabaseName
FROM sys.dm_db_index_physical_stats(DB_ID(DB_NAME()), NULL, NULL, NULL, NULL) AS ips
INNER JOIN sys.indexes AS si
ON si.object_id = ips.object_id
AND si.index_id = ips.index_id
WHERE ips.avg_fragmentation_in_percent > 0
AND si.index_id <> 0
)t

 

标签:index,ips,--,tablelist,MSSQL,游标,索引,id,小记
From: https://www.cnblogs.com/rmhy/p/17716392.html

相关文章

  • 「Log」2023.9.19 小记
    序幕\(\text{6:30}\):提前到校,昨晚题调不出来,今天直接暴走。拍题,平衡树区间和比值小,忘赋\(sum\)初值了\(\color{blueviolet}{P3586\[POI2015]\LOG}\)贪心构建询问策略\(\text{Link}\)间幕\(1\)模拟赛。今天题面都还算简洁,T1觉得是可做题,考虑到一种性质,\(x,y\)两数同......
  • 本站的文章/资料索引
    发现有时候直接在站内用搜索功能会抽风…一边翻博客一边整理一下(方便自己找了属于是)数学相关:埃氏筛复杂度:https://www.cnblogs.com/yoshinow2001/p/14610848.html数学问题杂项:https://www.cnblogs.com/yoshinow2001/p/14660324.html喜欢算积分.jpg:https://www.cnblogs.com/......
  • PHP Apache配置小记
    Apache首先到Apacahe网站上下载Apache,然后打开Apache24文件夹,其中htdocs就是之后的网页文件夹(如果不修改的话),bin就是启动Apache服务器的文件夹,conf是配置文件夹,首先打开conf文件夹内的httpd.conf这是Apache的配置文件,按以下进行配置■到DefineSRVROOT一项,后面内容进行修改,设定A......
  • KingbaseES数据库分区表添加主键与索引的建议
    一、初始化测试环境#数据库版本信息KingbaseESV008R006C007B0012onx86_64-pc-linux-gnu,compiledbygcc(GCC)4.1.220080704(RedHat4.1.2-46),64-bit1.创建分区表:createtabletb(idbigint,statdate,nobigint,pdatedate,infovarchar2(50))partitionbyra......
  • Mysql数据库的索引
    1.索引的概念索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于c语言的链表通过指针指向数据记录的内存地址)。使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据,因此能加......
  • 设计索引
    问题如果你在维护一个学校的学生信息数据库,学生登录名的统一格式是”学号@gmail.com",而学号的规则是:十五位的数字,其中前三位是所在城市编号、第四到第六位是学校编号、第七位到第十位是入学年份、最后五位是顺序编号。系统登录的时候都需要学生输入登录名和密码,验证正确后才能......
  • python使用sql批量插入数据+查看执行的语句+动态sql创建表+动态创建索引
    classTest():cursor=connection.cursor()data_to_insert=[]sql="INSERTINTOtest_t(id,name)VALUES""""(%s,%s)"""d=('1',"apple")data_to_insert.append(d)......
  • 3.MySQL索引
    1.索引:是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。常见的索引结构有:B树,B+树和Hash、红黑树。在MySQL中,无论是Innodb还是MyIsam,都使用了B+树作为索引结构。2.索引优缺点:优点:使用索引可以大大加快数据的检索速度(大大减少检索的数......
  • 一般是单个索引使用多还是组合索引使用多
    在大多数情况下,单个索引通常比组合索引更常用。这是因为单个索引可以满足许多查询的需求,并且在某些情况下,它们可能比组合索引更有效。以下是一些适合使用单个索引的情况:单列查询条件:当查询语句只涉及一个列的条件时,使用单个索引可以满足查询的需求。这种情况下,使用单个索引可以更好......
  • openGauss学习笔记-73 openGauss 数据库管理-创建和管理索引
    openGauss学习笔记-73openGauss数据库管理-创建和管理索引73.1背景信息索引可以提高数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间。所以是否要为表增加索引,索引建立在哪些字段上,是创建索引前必须要考虑的问题。需要分析应用程序的业务处理、数据使用、经常被......