-
SQLorderbyIDdesc/asc加一个排序的字段解决查询慢问题
解决方法就是在orderbyIDdesc再加一个排序的字段,这样子可能会把速度提高很多。再加止排序的字段因查询而异了如表复制代码代码如下:CREATETABLE[dbo].[CMPP_SendCentre]([id][int]IDENTITY(1,1)NOTNULL,[SendType][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,[SendDate][datetime]NOTNULL,[Port][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[Service_ID][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,[FeeType][varchar](2)COLLATEChinese_PRC_CI_ASNOTNULL,[FeeCode][varchar](6)COLLATEChinese_PRC_CI_ASNOTNULL,[Msg_Content][varchar](1024)COLLATEChinese_PRC_CI_ASNOTNULL,[SendCoun...
数据库操作教程 2022-09-23 20:43:21 -
uniqueidentifier转换成varchar数据类型的sql语句
复制代码代码如下:---涂聚文GeovinDuDECLARE@myiduniqueidentifierSET@myid=NEWID()SELECTCONVERT(char(255),@myid)AS'char';GO--涂聚文GeovinDudeclare@allstringchar(255)...
数据库操作教程 2022-09-23 20:41:56 -
利用sys.sysprocesses检查SqlServer的阻塞和死锁
MSDN:包含正在SQLServer实例上运行的进程的相关信息。这些进程可以是客户端进程或系统进程...
数据库操作教程 2022-09-23 20:39:38 -
在数据库‘master’中拒绝CREATEDATABASE权限问题的解决方法
复制代码代码如下:publicpartialclassCMS_DBDataContext{partialvoidOnCreated(){//如果数据库不存在则创建数据库if(!this.DatabaseExists()){this.CreateDatabase();}}}遇到了以下错误:在数据库‘master'中拒绝CREATEDATABASE权限。经查阅资料得知,运行SQLServer数据库,就必须在实例下创建数据库,不管是直接创建、还是附加、还是还原,总之都得在实例下创建...
数据库操作教程 2022-09-23 20:39:32 -
SQLserver查询数据类型为ntext是空或NULL值的方法
复制代码代码如下:--为空的值textntextselect*fromlf_newsNg_utfwheredatalength(newsContentE)=0ordatalength(newsContentE)isnull...
数据库操作教程 2022-09-23 20:38:31 -
SQLSERVERPagerstoreprocedure分页存储过程
复制代码代码如下:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDURE[dbo].[Pagination]@Pageint=1,--当前页码@PageSizeint=10,--每页记录条数(页面大小)@Tablenvarchar(500),--表名或视图名,甚至可以是嵌套SQL:(Select*FromTabWhereID>1000)Tab@Fieldnvarchar(800)='*',--返回记录集字段名,","隔开,默认是"*"@OrderBynvarchar(100)='IDASC',--排序规则@Filternvarchar(500),--过滤条件@MaxPagesmallintoutput,--执行结果-1error,0false,maxpagetrue@TotalRowintoutput,--记录总数/*2007-07-1222:11:00update*/@Descriptvarchar(100)output--结果描述ASBEGIN--====================================...
数据库操作教程 2022-09-23 20:38:28 -
SQL中WHERE变量ISNULL条件导致全表扫描问题的解决方法
复制代码代码如下:SET@SQL='SELECT*FROMCommentwith(nolock)WHERE1=1 And(@ProjectIdsIsNullorProjectId=@ProjectIds) And(@ScoresisnullorScore=@Scores)'印象中记得,以前在做Oracle开发时,这种写法是会导致全表扫描的,用不上索引,不知道SqlServer里是否也是一样呢,于是做一个简单的测试1、建立测试用的表结构和索引:复制代码代码如下:CREATETABLEaaa(idintIDENTITY,NAMEVARCHAR(12),ageINT)goCREATEINDEXidx_ageONaaa(age)GO2、插入1万条测试数据:复制代码代码如下:DECLARE@iINT;SET@i=0;WHILE@i<10000BEGIN INSERTINTOaaa(name,age)VALUES(CAST(@iASVARCHAR),@i) SET@i=@i+1;ENDGO3、先开启执行计...
数据库操作教程 2022-09-23 20:36:43 -
SQLServer使用ADSI执行分布式查询ActiveDorectory对象
Step1:CreatingaLinkedServer.EXECsp_addlinkedserver'ADSI','ActiveDirectoryServices2.5','ADSDSOObject','adsdatasource'Step2:CreatingaSQLServerAuthenticatedLoginEXECsp_addlinkedsrvlogin@rmtsrvname=N'ADSI',@locallogin=NULL,@useself=N'False',@rmtuser=N'domainAccount',@rmtpassword=N'Password'对于SQLServer授权登录,可以使用sp_addlinkedsrvlogin系统存储过程配置用于连接到目录服务的适当的登录/密码.参考这里:http://blogs.msdn.com/euanga/archive/2007/03/22/faq-how-do-i-query-active-directory-from-sql-server.aspx如果SQLServer使用Windows授权登录,只需自映射就足以通过使用...
数据库操作教程 2022-09-23 20:36:34 -
sqlserver错误602,未能在sysindexes中找到数据库的解决办法
解决办法:直接附加或附加应该是不行的,用脚本+导数据肯定没有问题。Sql2005转到Sql2000的步骤步骤1.生成for2000版本的数据库脚本Sql2005的mangerstudio--打开"对象资源管理器"(没有的话按F8),连接到你的实例--右键要转到2000的库--任务--生成脚本--在"脚本向导"的"选择数据库"中,确定选择的是要转到2000的库--勾选"为所选数据库中的所有对象编写脚本"--在接下来的"选择脚本选项"中,找到"为服务器版本编写脚本"项,选择"SQLServer2000"--其他选项根据需要设置--最后把脚本保存到一个.sql脚本文件2.在2000中创建目标数据库在查询分析器(或2005的mangerstudio在打开脚本文件),连接到SQLServer2000,执行上面生成的脚本.以创建一个新的数据库3.将数据从2005导到20002005的mangerstudio--打开"对象资源管理器"(没有的话按F8),连接到你的实例--右键要转到2000的库--任务--导出数据--在"SQLServer导入和导出向导"的"选择数据源"步骤中,确定选择的是要导出的数...
数据库操作教程 2022-09-23 20:35:58 -
错误22022SQLServerAgent当前未运行的解决方法
SQLserver代理已经启动了,服务里的SQLServerAgent响应服务也已经开启了但是启动作业的时候还是提示“错误22022:SQLServerAgent当前未运行,因此,无法就本操作对其进行提示。”有高人遇到过这个问题吗?怎么解决能给个方法吗?SQLServerAgent这个服务已经启动了“控制面板-》管理->服务->SQLSERVERAGENT->设置为自动启动”---这个已经这是好了但是问题依然存在,一启动作业就会提示:错误22022:SQLServerAgent当前未运行,因此,无法就本操作对其进行提示...
数据库操作教程 2022-09-23 20:34:34 -
sqlserverreplace函数批量替换数据库中指定字段内指定字符串参考方法
语法REPLACE('string_expression1','string_expression2','string_expression3')参数说明'string_expression1'待搜索的字符串表达式。string_expression1可以是字符数据或二进制数据...
数据库操作教程 2022-09-23 20:33:52 -
SQL集合函数中casewhenthen使用技巧
那么在集合函数中它有什么用呢 ?假设数据库有一张表名为student的表。如果现在要你根据这张表,查出江西省男女个数,广东省男生个数,浙江省男女个数怎么写SQL语句?即要生成下结果表答案是:selectsex,count(caseprovincewhen'广东省'then'广东省'end)as广东省,count(caseprovincewhen'江西省'then'江西省'end)as江西省,count(caseprovincewhen'浙江省'then'浙江省'end)as浙江省fromstudentgroupbysexcount()函数即根据给定的范围和groupby(统计方式)而统计行数据的条数我们一步步来理解上面语句1. selectsex fromstudent(查询数据表中的存在的男女条数)2.selectsex,count(*)asnumfromstudentgroupbysex (查询表中男女数量)3.selectsex,province,count(*)asnumfromstudentgroupbysex,province(查询各...
数据库操作教程 2022-09-23 20:32:47