S SQL SERVER檢查臨時表占用空間情況

2022-05-18 08:07:25 字數 1243 閱讀 5791

--檢查已標記為需要刪除的臨時表

select * from

t_bas_temporarytablename;

--所有系統建立的臨時表及檢視

select * from sys.tables

where name like 'tmp%' 

-- 檢視系統所有表占用的空間情況

create table tmpspace

(fname varchar(50),

frows int,

freserved varchar(50),

fdata

varchar(50),

findex_size varchar(50),

funused

varchar(50));

insert into tmpspace

(fname,frows,freserved,  fdata,findex_size,funused)

exec sp_msforeachtable

@command1="sp_spaceused '?'"

select * from tmpspace where fname like

'tmp%' order by fdata desc

--臨時表占用的總大小(m)

select

sum(convert(decimal,replace(fdata,'kb','')))/1024 m from tmpspace where fname

like 'tmp%';

--drop table tmpspace;

--刪除所有已經標記為需要刪除的臨時表

declare

@sql as varchar(max)

set @sql=''

select @sql=@sql+'drop table '+name+';'

from sys.tables u

join t_bas_temporarytablename v on u.name=v.ftablename and

( v.fprocesstype=1 or

v.fcreatedateexec(@sql);

delete u from

t_bas_temporarytablename u where

not exists(select 1 from sys.tables where

u.ftablename=name );

36 臨時表和臨時表

臨時表特點 建表語法是create temporary table乙個臨時表只能被建立它的session訪問,對其他執行緒不可見。臨時表和普通表可以同名。同乙個session內有臨時表和普通表的時候,show crete語句 增刪改查訪問的是臨時表。show tabls命令不顯示臨時表。由於臨時表只...

mysql臨時表更新 MySql 臨時表

今天在專案中遇到乙個,當mysql的in語句中資料量很大時,建立乙個臨時表的例子。於是樓主整理了一下關於臨時表的知識,與大家分享一下 首先,臨時表只在當前連線可見,當關閉連線時,mysql會自動刪除表並釋放所有空間。因此在不同的連線中可以建立同名的臨時表,並且操作屬於本連線的臨時表。建立臨時表 cr...

mysql 臨時表 限制 Mysql臨時表

當你建立臨時表的時候,你可以使用temporary關鍵字。如 create temporary table tmp table name varchar 10 not null,passwd char 6 not null 或create temporary table if not exists ...