-
真正高效的SQLSERVER分页查询(多种方案)
Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID、YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询每页30条,查询第1500页(即第45001-45030条数据),字段ID聚集索引,YEAR无索引,Sqlserver版本:2008R2第一种方案、最简单、普通的方法:复制代码代码如下:SELECTTOP30*FROMARTICLEWHEREIDNOTIN(SELECTTOP45000IDFROMARTICLEORDERBYYEARDESC,IDDESC)ORDERBYYEARDESC,IDDESC平均查询100次所需时间:45s第二种方案:复制代码代码如下:SELECT*FROM( SELECTTOP30*FROM(SELECTTOP45030*FROMARTICLEORDERBYYEARDESC,IDDESC)fORDERBYf.YEARASC,f.IDDESC)sORDERBYs.YEARDESC,s.IDDESC平均查询100次所需时间:138S第三种方案:复制代码代码如下:SE...
数据库操作教程 2022-09-23 17:13:43 -
将Reportingservices的RDL文件拷贝到另外一台机器时报Dataattherootlevelisinvalid的解决方法
如下图所示:单击EditCode打开Code信息如下:经查Dataattherootlevelisinvalid是XML文件的错误信息。从上图可以看出在</Report>的根元素结束符后又多了许多脚本...
数据库操作教程 2022-09-23 17:10:04 -
SqlServer系统数据库的作用深入了解
MasterMaster数据库保存有放在SQLSERVER实体上的所有数据库,它还是将引擎固定起来的粘合剂。由于如果不使用主数据库,SQLSERVER就不能启动,所以你必须要小心地管理好这个数据库...
数据库操作教程 2022-09-23 17:07:03 -
sqlserver系统存储过程中文说明
/*存储过程*/sp_databases--列出服务器上的所有数据库sp_server_info--列出服务器信息,如字符集,版本和排列顺序sp_stored_procedures--列出当前环境中的所有存储过程sp_tables--列出当前环境中所有可以查询的对象sp_start_job--立即启动自动化任务sp_stop_job--停止正在执行的自动化任务sp_password--添加或修改登录帐户的密码sp_configure--显示(不带选项)或更改(带选项)当前服务器的全局配置设置sp_help--返回表的列名,数据类型,约束类型等sp_helptext--显示规则,默认值,未加密的存储过程,用户定义的函数,--触发器或视图的实际文本sp_helpfile--查看当前数据库信息sp_dboption--显示或更改数据库选项sp_detach_db--分离数据库sp_attach_db--附加数据库sp_addumpdevice--添加设备sp_dropdevice--删除设备sp_pkeys--查看主键sp_fkeys--查看外键sp_helpdb--查看指定数据库相关文件信...
数据库操作教程 2022-09-23 17:00:38 -
sqlserver无法验证产品密匙的完美解决方案[测试通过]
方法一:在给出的输入CD-KEY(序列号)的界面中,输入你已经安装的windowsserver2003的CD-KEY(序列号)即可以继续安装,而不是SQL2000的CD-KEY(序列号)。Windowsserver2003的CD-KEY(序列号):JCGMJ-TC669-KCBG7-HB8X2-FXG7M(附:SQL2000的CD-KEY(序列号):SN:311-0432642CD-KEY:H6TWQ-TQQM8-HXJYG-D69F7-R84VM)方法二:推荐按照下列步骤:1.在SQLServer安装向导,单击取消...
数据库操作教程 2022-09-23 16:57:46 -
sql2005createfile遇到操作系统错误5拒绝访问错误1802
问题1:尝试打开或创建物理文件'E:Library.mdf'时,CREATEFILE遇到操作系统错误5(拒绝访问。)...
数据库操作教程 2022-09-23 16:57:06 -
系统存储过程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 -
做购物车系统时利用到得几个sqlserver存储过程
即以游客身份登录网站时以cookie的方式存储购物车,而以登录用户的身份进入时将购物车信息存储到数据库中去...
数据库操作教程 2022-09-23 16:52:59 -
SQL批量插入数据几种方案的性能详细对比
公司技术背景:数据库访问类(xxx.DataBase.Dll)调用存储过程实现数据库的访问。技术方案一:压缩时间下程序员写出的第一个版本,仅仅为了完成任务,没有从程序上做任何优化,实现方式是利用数据库访问类调用存储过程,利用循环逐条插入...
数据库操作教程 2022-09-23 16:52:31 -
sqlserver获取系统时间的方法
SqlServer中一个非常强大的日期格式化函数:获得当前系统时间,GETDATE():2008年01月08日星期二14:59SelectCONVERT(varchar(100),GETDATE(),0):0516200810:57AMSelectCONVERT(varchar(100),GETDATE(),1):05/16/08SelectCONVERT(varchar(100),GETDATE(),2):08.05...
数据库操作教程 2022-09-23 16:50:30 -
sql无效字符执行sql语句报错解决方案
说起来惭愧,总是犯一些小错误,纠结半天,这不应为一个分号的玩意折腾了好半天!错误时在执行SQL语句的时候发出的,信息如下:Java代码[default][2012-11-2211:35:58,552][ERROR]Java代码[com.primeton.common.connection.impl.synchronization.TraceLoggerStatementSynchronization:49]Java代码Sql[INSERTINTOASE_SYSTEM_LOG(LOGID,USERID,USERNAME,LOGINTIME)VALUES(?,?,?,?);]executeerror.java.sql.SQLException:ORA-00911:无效字符程序代码如下:Java代码复制代码代码如下:Stringsql="INSERTINTOASE_SYSTEM_LOG(LOGID,USERID,USERNAME,LOGINTIME)VALUES(?,?,?,?);";con=this.getDataSource().getConnection();ptt=con.prepa...
数据库操作教程 2022-09-23 16:48:52 -
SQL实现递归及存储过程中In()参数传递解决方案详解
1.SQL递归在SQLServer中,我们可以利用表表达式来实现递归算法,一般用于阻止机构的加载及相关性处理。-->实现:假设OrganiseUnit(组织机构表)中主要的三个字段为OrganiseUnitID(组织机构主键ID)、ParentOrganiseUnitID(组织机构父ID)、OrganiseName(组织机构名称)复制代码代码如下:withorganiseas(select*fromOrganiseUnitwhereOrganiseUnit.OrganiseUnitID=@OrganiseUnitIDunionallselectOrganiseUnit.*fromorganise,OrganiseUnitwhereorganise.OrganiseUnitID=OrganiseUnit.ParentOrganiseUnitID)selectOrganiseNamefromorganise上述sql语句实现了,传入组织机构主键ID,查询出其对应组织机构名称和其全部下级组织机构名称...
数据库操作教程 2022-09-23 16:46:20