-
系统存储过程sp_MSforeachtable和sp_MSforeachdb使用说明
1.简介:作为DBA会经常需要检查所有的数据库或用户表,比如:检查所有数据库的容量;看看指定数据库所有用户表的容量,所有表的记录数...,我们一般处理这样的问题都是用游标分别处理处理,比如:在数据库检索效率非常慢时,我们想检查数据库所有的用户表,我们就必须通过写游标来达到要求;如果我们用sp_MSforeachtable就可以非常方便的达到相同的目的:EXECsp_MSforeachtable@command1="print'?'DBCCCHECKTABLE('?')"系统存储过程sp_MSforeachtable和sp_MSforeachdb,是微软提供的两个不公开的存储过程,从mssql6.5开始。存放在SQLServer的MASTER数据库中...
数据库操作教程 2022-09-23 16:54:56 -
executesql存储过程
复制代码代码如下:declare@ttvarchar(20)set@tt='monisubbouns'declare@intintdeclare@sqlnvarchar(500)set@sql='select@int=count(*)from'+@ttexecsp_executesql@sql,N'@intintoutput'...
数据库操作教程 2022-09-23 16:54:51 -
sqlcast,convert,QUOTENAME,exec函数学习记录
语法使用CAST:CAST(expressionASdata_type)使用CONVERT:CONVERT(data_type[(length)],expression[,style])参数expression是任何有效的MicrosoftSQLServer"表达式。有关更多信息,请参见表达式...
数据库操作教程 2022-09-23 16:54:49 -
DBCCCHECKIDENT重置数据库标识列从某一数值开始
DBCCCHECKIDENT(N'dbo.Orders',RESEED,0);DBCCCHECKIDENT语法DBCCCHECKIDENT(table_name[,{NORESEED|{RESEED[,new_reseed_value]}}])[WITHNO_INFOMSGS]参数table_name是要对其当前标识值进行检查的表名。指定的表必须包含标识列...
数据库操作教程 2022-09-23 16:54:38 -
mssqlinsertinto和insertintoselect性能比较
使用insertintotable(field,...)values(value,...),insertintotable(field,...)values(value,...)...的情况 使用insertintotable(field,...)select(value,...)unionallselect(value,...)unionallselect(value,...)...的情况我一次插入的数据是:1190条。用insertinto所用的时间在510毫秒上下徘徊,而用insertintoselect所用的时间在16毫秒上下徘徊...
数据库操作教程 2022-09-23 16:52:19 -
编写SQL需要注意的细节Checklist总结
复制代码代码如下:/*--注意:准备数据(可略过,非常耗时)CREATETABLECHECK1_T1(IDINT,C1CHAR(8000))CREATETABLECHECK1_T2(IDINT,C1CHAR(8000))DECLARE@IINTSET@I=1WHILE@I<=10000BEGININSERTINTOCHECK1_T1SELECT@I,'C1'INSERTINTOCHECK1_T2SELECT10000+@I,'C1'SET@I=@I+1ENDCREATETABLECHECK2_T1(IDINT,C1CHAR(8000))DECLARE@IINTSET@I=1WHILE@I<=10000BEGININSERTINTOCHECK2_T1SELECT@I,'C1'SET@I=@I+1ENDINSERTINTOCHECK2_T1VALUES(10001,'C2')INSERTINTOCHECK2_T1VALUES(10002,'C1')CREATETABLECHECK3_T1(IDINT,C1CHAR(7000))CREATETABLECHECK3_T2(IDINT...
数据库操作教程 2022-09-23 16:48:48 -
SqlServer2012分页方法分析(offsetandfetch)
其中offsetandfetch最重要的新特性是用来分页,既然要分析分页,就肯定要和之前的分页方式来比较了,特别是Row_Number()了,在比较过程中,发现了蛮多,不过最重要的,通过比较本质,得出了优劣,也和大家一起分享下。准备工作,建立测试表:Article_Detail,主要是用来存放一些文章信息,测试的时间,都是从网易上面转载的新闻,同时,测试表数据字段类型是比较均匀的,为了更好的测试,表结构如下图: 内容:数据量:129,991条记录语法分析1.NTILE()的分页方法NTILE()方法可以用来分页,但是应用场景十分的狭窄,并且性能差劲,和Row_Number()与offsetfetch分页比起来没有任何优势,也只有在只读表上面分页的话,还是比较合适的;虽然不好用,但是还能来分页的,所以只简单的介绍下...
数据库操作教程 2022-09-23 16:48:35 -
安装sqlserver2000时出现wowexec.exe无反应的解决方法
wowexec.exe是操作系统相关程序,用于支持16位进程。 出品者:MicrosoftCorp. 属于:MicrosoftWindowsOnWindowsExecutionProcess 系统进程:是 后台程序:否 使用网络:否 硬件相关:否 常见错误:未知N/A 内存使用:未知N/A 安全等级(0-5):0 间谍软件:否 Adware:否 病毒:否 木马:否 ※解释: 一直以来大家认为这是WINDOWS的自动更新程序,只要关闭自动更新就不会再出现...
数据库操作教程 2022-09-23 16:47:18 -
用SQL脚本读取Excel中的sheet数量及名称的方法代码
复制代码代码如下:--Gettable(worksheet)orcolumn(field)listingsfromanexcelspreadsheet --设置变量 declare@linkedServerNamesysname='TempExcelSpreadsheet' declare@excelFileUrlnvarchar(1000)='D:text.xlsx' --/SET --删除链接服务(如果它已经存在) ifexists(selectnullfromsys...
数据库操作教程 2022-09-23 16:46:48 -
insertintoselect和selectinto的使用和区别介绍
insertinto...select...:可将表1中的全部数据或者部分数据复制到表2中。eg:复制代码代码如下:insertintot2(id,name,pwd)selectid,name,pwdfromt1注:t2必须存在...
数据库操作教程 2022-09-23 16:46:36 -
Selectcount(*)、Count(1)和Count(列)的区别及执行方式
在SQLServer中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数。很多人其实对这三者之间是区分不清的...
数据库操作教程 2022-09-23 16:45:13 -
探讨selectin在postgresql的效率问题
在知乎上看到这样一个问题:MySQL查询select*fromtablewhereidin(几百或几千个id)如何提高效率?修改电商网站,一个商品属性表,几十万条记录,80M,索引只有主键id,做这样的查询如何提高效率?select*fromtablewhereidin(几百或几千个id)这些id没啥规律,分散的。...
数据库操作教程 2022-09-23 16:44:40