-
sql查看所有表大小的方法
复制代码代码如下:declare@id intdeclare@type character(2) declare@pages int declare@dbname &nbs...
数据库操作教程 2022-09-23 17:15:59 -
多列复合索引的使用绕过微软sqlserver的一个缺陷
然而,微软sqlserver在处理这类索引时,有个重要的缺陷,那就是把本该编译成索引seek的操作编成了索引扫描,这可能导致严重性能下降举个例子来说明问题,假设某个表T有索引(cityid,sentdate,userid),现在有个分页列表功能,要获得大于某个多列复合索引V0的若干个记录的查询,用最简单表意的方式写出来就是V>=V0,如果分解开来,就是:cityid>@cityid0or(cityid=@cityid0and(sentdate>@sentdate0or(sentdate=@sentdate0anduserid>=@userid0))),当你写出上述查询时,你会期待sqlserver会自动的把上述识别为V>=V0类型的边界条件,并使用indexseek操作来实施该查询。然而,微软的sqlserver(2005版)有一个重要缺陷(其他的sqlserver如何还不得知),当它遇到这样sql时,sqlserver就会采用indexscan来实施,结果是您建立好的索引根本就没有被使用,如果这个表的数据量很大,那所造成的性能下降是非常大的...
数据库操作教程 2022-09-23 17:13:59 -
PL/SQLDEVELOPER使用的一些技巧
1,登录后默认自动选中MyObjects默认情况下,PLSQLDeveloper登录后,Brower里会选择Allobjects,如果你登录的用户是dba,要展开tables目录,正常情况都需要Wait几秒钟,而选择MyObjects后响应速率则是以毫秒计算的。Tools菜单-->ObjectBrowerFilters,会打开BrowerFolders的定单窗口,把“MyObjects”设为默认即可...
数据库操作教程 2022-09-23 17:13:11 -
用SQL统计SQLServe表存储空间大小的代码
其实SQLServer提供了一个sp_spaceused的系统存储过程可以实现该功能,下面就是调用的SQL:复制代码代码如下:createtable#tb(表名sysname,记录数int,保留空间varchar(10),使用空间varchar(10),索引使用空间varchar(10),未用空间varchar(10))insertinto#tbexecsp_MSForEachTable'EXECsp_spaceused''?'''select*from#tbgodroptable#tb这样就可以枚举出每个表存储空间的详细使用情况!...
数据库操作教程 2022-09-23 17:07:19 -
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 -
sql多条件组合查询,并根据指定类别找出所有最小子类别的SQL语句备忘
复制代码代码如下:DECLARE@PAGESIZEINTDECLARE@PAGEINDEXINTDECLARE@PAGECOUNTINTDECLARE@RECORDCOUNTINTSELECT@PAGESIZE=5SELECT@PAGEINDEX=1DECLARE@FIELDNAMEVARCHAR(50)DECLARE@FIELDVALUEVARCHAR(50)DECLARE@OPERATIONVARCHAR(50)--组合条件DECLARE@WHERENVARCHAR(1000)SELECT@WHERE='WHERENOTDISPLAY=0'DECLAREABCCURSORFORSELECTFIELDNAME,FIELDVALUE,OPERATIONFROMTBPARAMETERSOPENABCFETCHNEXTFROMABCINTO@FIELDNAME,@FIELDVALUE,@OPERATIONWHILE@@FETCH_STATUS=0BEGIN IF(@OPERATION='Like')  ...
数据库操作教程 2022-09-23 16:59:02 -
LinqtoSQL插入数据时的一个问题
复制代码代码如下:createtableRSSFeedRight(FeedIdintForeignKey(FeedId)ReferencesRSSFeed(FeedId)NOTNULL,--FeedId,UserIdintForeignKey(UserId)ReferencesUserInfo(UserId)NOTNULL,--UserId,RightValuebigintNOTNULLPrimarykey(UserId,FeedId),)插入数据的代码RSSFeedRightfeedRight=newRSSFeedRight();feedRight.UserId=userId;feedRight.FeedId=feedId;feedRight.RightValue=0;_Db.RSSFeedRights.InsertOnSubmit(feedRight);_Db.SubmitChanges();每次插入时都提示说FeedId不能插入空值,郁闷的不行,分明是给了非空值的!后来仔细检查,发现这个RSSFeedRight实体类中居然还有两个指向UserInfo和RSSFeed表的字段,后来...
数据库操作教程 2022-09-23 16:57:00 -
SQLServer高性能写入的一些经验总结
1.1.1摘要在开发过程中,我们不时会遇到系统性能瓶颈问题,而引起这一问题原因可以很多,有可能是代码不够高效、有可能是硬件或网络问题,也有可能是数据库设计的问题。本篇博文将针对一些常用的数据库性能调休方法进行介绍,而且,为了编写高效的SQL代码,我们需要掌握一些基本代码优化的技巧,所以,我们将从一些基本优化技巧进行介绍...
数据库操作教程 2022-09-23 16:56:25 -
SQL数据库的高级sql注入的一些知识
[概要]这篇文章讨论常用的"sql注入"技术的细节,应用于流行的MsIIS/ASP/SQL-Server平台。这里探讨有关这种攻击各种可以注入程序访问数据和数据库防范的方法...
数据库操作教程 2022-09-23 16:53:28