-
SQLServer服务器优化技巧浅谈
1.数据和日志文件分开存放在不同磁盘上 数据文件和日志文件的操作会产生大量的I/O。在可能的条件下,日志文件应该存放在一个与数据和索引所在的数据文件不同的硬盘上以分散I/O,同时还有利于数据库的灾难恢复...
数据库操作教程 2022-09-23 16:52:42 -
sqlserver自动备份所有数据库的SQL
复制代码代码如下:usemasterdeclare@DbNamevarchar(60)declare@BackSqlvarchar(1000)declaremyCursorcursorforSELECT[name]FROMSYSDATABASESwhere[name]notin('master','model','msdb','tempdb')orderby[name]openmyCursorfetchnextfrommyCursorinto@DbNamewhile(@@FETCH_STATUS=0)beginifdatename(weekday,getdate())='星期三'--每周三覆盖上周三的beginselect@BackSql='BackupDATABASE['+@DbName+']todisk=''E:DbBackUp'+@DbName+'星期三.bak''withformat'endelse--每天覆盖上一天的beginselect@BackSql='BackupDATABASE['+@DbName+']todisk=''E:DbBackUp'+@DbName+'Aut...
数据库操作教程 2022-09-23 16:52:39 -
sql分组查询问题
情景一:表中数据namescoreaaa11aaa19bbb12bbb18ccc19ddd21期望查询结果如下namescoreaaa30bbb30ccc19ddd21复制代码代码如下:---检查表是否存在ifexists(select*fromsysobjectswherename='testSum')droptabletestSumgo---创建表createtabletestSum(tidintprimarykeyidentity(1,1),tnamevarchar(30)null,tscorintnull)goinsertintotestSum(tname,tscor)select'aaa',11unionallselect'aaa',19unionallselect'bbb',12unionallselect'bbb',18unionallselect'ccc',19unionallselect'ddd',21---查询语句selecttname,sum(tscor)fromtestSumgroupbytname---只查询tscor总和为30的selecttname,sum...
数据库操作教程 2022-09-23 16:52:32 -
SQL批量插入数据几种方案的性能详细对比
公司技术背景:数据库访问类(xxx.DataBase.Dll)调用存储过程实现数据库的访问。技术方案一:压缩时间下程序员写出的第一个版本,仅仅为了完成任务,没有从程序上做任何优化,实现方式是利用数据库访问类调用存储过程,利用循环逐条插入...
数据库操作教程 2022-09-23 16:52:31 -
SQL2000全文索引完全图解
全文检索可以对varchar,text,image型字段进行检索,但一个表最多只能建一个全文索引SQLServer2000引入了对存储在image列中的这些类型的数据执行全文检索的能力。如果没有全文索引,对字符的模糊查询只能对基表进行全表扫描(或索引扫描),执行模糊查询都需要对全表扫描或索引扫描意味着消耗大量IO...
数据库操作教程 2022-09-23 16:52:19 -
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 -
mysql数据库中索引原理分析说明
下面,我们举例来说明一下聚集索引和非聚集索引的区别:其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部...
数据库操作教程 2022-09-23 16:52:12 -
sql2005存储过程分页示例代码
复制代码代码如下:--分页存储过程示例AlterPROCEDURE[dbo].[JH_PageDemo]@pageSizeint=9000000000,@pageIndexint=1,@orderByNvarchar(200)=''--不加orderByASSETNOCOUNTON--声明变量DECLARE@selectVARCHAR(3048);DECLARE@fromVARCHAR(512);DECLARE@RowNumberVARCHAR(256);DECLARE@conditionnVARCHAR(3990);DECLARE@groupByvarchar(50);DECLARE@sqlVARCHAR(3998);DECLARE@RowStartIndexINT;DECLARE@RowEndIndexINT;BEGINSETNOCOUNTonIF@orderBy<>''Set@orderBy='ORDERBY'+@orderBy;elseSet@orderBy='ORDERBYUserid';SET@select='selectuserid,username,';--...
数据库操作教程 2022-09-23 16:52:11 -
教你几种在SQLServer中删除重复数据方法
方法一复制代码代码如下:declare@maxinteger,@idintegerdeclarecur_rowscursorlocalforselect主字段,count(*)from表名groupby主字段havingcount(*)>1opencur_rowsfetchcur_rowsinto@id,@maxwhile@@fetch_status=0beginselect@max=@max-1setrowcount@maxdeletefrom表名where主字段=@idfetchcur_rowsinto@id,@maxendclosecur_rowssetrowcount0方法二有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。1、对于第一种重复,比较容易解决,使用复制代码代码如下:selectdistinct*fromtableName就可以得到无重复记录的结果集...
数据库操作教程 2022-09-23 16:52:07 -
SQL高级应用之使用SQL查询Excel表格数据的方法
复制代码代码如下:execsp_configure'showadvancedoptions',1reconfigureexecsp_configure'AdHocDistributedQueries',1reconfigure复制代码代码如下:SELECT*FROMOPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','DataSource=E:HaierWebMyWebDocabc.xls;ExtendedProperties=Excel8.0')...Sheet1$第一行当做表头。其余行当成一种数据类型,且不能转换,如果有文本,有数字,按出现多的一项显示,其余为Null员工信息 F2NULL 姓名664754张三664783李四Null处应该是员工编号...
数据库操作教程 2022-09-23 16:51:58 -
SQLServer附加数据库后出现只读或失败的解决方法
解决此问题的几个关键点如下:1、该现象只会出现在NTFS文件系统中。2、由NTFS文件系统的访问权限导致...
数据库操作教程 2022-09-23 16:51:55