-
SQLServer数据库索引其索引的小技巧
一、什么是索引减少磁盘I/O和逻辑读次数的最佳方法之一就是使用【索引】索引允许SQLServer在表中查找数据而不需要扫描整个表。1.1、索引的好处:当表没有聚集索引时,成为【堆或堆表】【堆】是一堆未加工的数据,以行标识符作为指向存储位置的指针...
数据库操作教程 2022-09-23 17:10:11 -
SQLServer误区30日谈第12天TempDB的文件数和需要和CPU数目保持一致
误区#12:TempDB的文件数和需要和CPU数目保持一致错误 哎,由于上述误区是微软“官方”的建议,并且还有大量博文坚持这个观点,这个误区已经是老生常谈。 但让人困惑的是SQLCAT团队给出的建议就是1:1,但这个建议是源自扩展方面的原理来说,而不是一个通用法则...
数据库操作教程 2022-09-23 17:07:06 -
case嵌套查询与连接查询你需要懂得
1、Case子查询连接查询复制代码代码如下:select*fromscorecreatedatabasedemousedemocreatetable[user]([uId]intidentity(1,1)primarykey,[name]varchar(50),[level]int--1骨灰大虾菜鸟)insertinto[user](name,level)values('犀利哥',1)insertinto[user](name,level)values('小月月',2)insertinto[user](name,level)values('芙蓉姐姐',3)--caseend单值判断相当于switchcase--then后面的返回值类型必须一致select[name],case[level]when1then'骨灰'when2then'大虾'when3then'菜鸟'endas'等级'from[user]useMySchoolselect*fromscore--caseend第二种用法,相当于多重if语句selectstudentId,casewhenenglish>=90then...
数据库操作教程 2022-09-23 17:04:01 -
SQLServer误区30日谈第20天破坏日志备份链之后,需要一个完整备份来重新开始日志链
误区#20:在破坏日志备份链之后,需要一个完整备份来重新开始日志链错误事务日志备份会备份自上次事务日志备份以来所有的事务日志(如果从来没有过日志备份的话,那就从上一次完整备份开始)。有好几种类型的操作会中断事务日志的连续性,也就是说除非重新开始新的日志链,SQLServer无法再进行日志备份...
数据库操作教程 2022-09-23 17:03:48 -
SQLJoin的一些总结(实例)
1.1.1摘要Join是关系型数据库系统的重要操作之一,SQLServer中包含的常用Join:内联接、外联接和交叉联接等。如果我们想在两个或以上的表获取其中从一个表中的行与另一个表中的行匹配的数据,这时我们应该考虑使用Join,因为Join具体联接表或函数进行查询的特性本文将通过具体例子介绍SQL中的各种常用Join的特性和使用场合:1.1.2正文首先我们在tempdb中分别定义三个表College、Student和Apply,具体SQL代码如下:复制代码代码如下:USEtempdb----Ifdatabaseexiststhesamenamedatatabledeletesit.IFEXISTS(SELECTTABLE_NAMEFROMINFORMATION_SCHEMA.TABLESWHERETABLE_NAME='College')DROPTABLECollege;IFEXISTS(SELECTTABLE_NAMEFROMINFORMATION_SCHEMA.TABLESWHERETABLE_NAME='Student')DROPTABLEStudent;IFEXISTS(SE...
数据库操作教程 2022-09-23 17:02:20 -
SQLTranscation的一些总结分享
1.1.1摘要相信大家对于SQLTranscation再熟悉不过,它确保了数据库的数据一致性和安全性,尤其在对数据执行增删时,如果发生异常和错误它就会触发事务回滚,从而确保了我们数据的一致性和安全性,下面我们将通过分四部分介绍事件(Transcation)。1.1.2正文首先让我们通过一个具体的例子介绍Transcation的使用,假如我们的数据库中有一个表UserInfo,它包含三个字段分别为:UserID(自增)、UserName(nvarchar)和LuckyNumber(tinyint),如下图所示:图1UserInfo表UserInfo表的sql代码如下:复制代码代码如下:--ThedefinitionofUserInfo.SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[UserInfo]([UserID][int]IDENTITY(1,1)NOTNULL,[UserName][nvarchar](50)NOTNULL,[LuckyNumber][tinyint]NOTNULL)ON[PRIMARY]接着我...
数据库操作教程 2022-09-23 17:02:11 -
数据库的一些常用知识
DROPVIEW --从数据库中删除视图CREATEINDEX --为数据库表创建一个索引DROPINDEX --从数据库中删除索引CREATEPROCEDURE --创建一个存储过程DROPPROCEDURE --从数据库中删除存储过程CREATETRIGGER --创建一个触发器DROPTRIGGER --从数据库中删除触发器CREATESCHEMA --向数据库添加一个新模式DROPSCHEMA --从数据库中删除一个模式CREATEDOMAIN --创建一个数据值域ALTERDOMAIN --改变域定义DROPDOMAIN --从数据库中删除一个域--数据控制GRANT --授予用户访问权限DENY --拒绝用户访问REVOKE --解除用户访问权限--事务控制COMMIT --结束当前事务ROLLBACK --中止当前事务SETTRANSACTION --定义当前事务数据访问特征--程序化SQLDECLARE --为查询设定游标EXPLAN --为查询描述数据访问计划OPEN --检索查询结果打开一个游标FETCH -...
数据库操作教程 2022-09-23 17:00:14 -
SQLServer数据库开发顶级技巧
确保代码中的数据类型与数据库中的列类型保持一致 确保您的应用程序各层数据类型保持一致是非常重要的。例如,如果一列的数据类型为NVARCHAR(50),那么,您应该在代码查询与存储过程中使用相同类型的局部变量...
数据库操作教程 2022-09-23 16:58:51 -
sqlserver中一些常看的指标和清除缓存的方法
如何查看磁盘I/O操作信息SETSTATISTICSIOON命令是一个使SQLServer显示有关由Transact-SQL语句生成的磁盘活动量的信息。我们在分析索引性能的时候,会非常有用...
数据库操作教程 2022-09-23 16:58:42 -
一些文件未注册导致mssql表文件无法找开的解决方法
通过Regsvr32.exe,然后注册下列DLL:C:ProgramfilesCommonFilesSystemADOMsado15...
数据库操作教程 2022-09-23 16:56:34 -
SQLServer高性能写入的一些经验总结
1.1.1摘要在开发过程中,我们不时会遇到系统性能瓶颈问题,而引起这一问题原因可以很多,有可能是代码不够高效、有可能是硬件或网络问题,也有可能是数据库设计的问题。本篇博文将针对一些常用的数据库性能调休方法进行介绍,而且,为了编写高效的SQL代码,我们需要掌握一些基本代码优化的技巧,所以,我们将从一些基本优化技巧进行介绍...
数据库操作教程 2022-09-23 16:56:25 -
SqlServer实用操作小技巧集合第1/2页
包括安装时提示有挂起的操作、收缩数据库、压缩数据库、转移数据库给新用户以已存在用户权限、检查备份集、修复数据库等(一)挂起操作在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启,这里往往重启无用,解决办法:到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManager删除PendingFileRenameOperations(二)收缩数据库--重建索引DBCCREINDEXDBCCINDEXDEFRAG--收缩数据和日志DBCCSHRINKDBDBCCSHRINKFILE(三)压缩数据库dbccshrinkdatabase(dbname)(四)转移数据库给新用户以已存在用户权限execsp_change_users_login'update_one','newname','oldname'go(五)检查备份集RESTOREVERIFYONLYfromdisk='E:dvbbs.bak'(六)修复数据库ALTERDATABASE[dvbbs]SETSINGLE_USERGODBCCCHECKDB('dvbbs...
数据库操作教程 2022-09-23 16:56:24