-
SQLServerExecpt和notin性能区别
主要讲except和notin的性能上的区别。复制代码代码如下:CREATETABLEtb1(IDint)CREATETABLEtb2(IDint)BEGINTRANDECLARE@iINT=500WHILE@i>0beginINSERTINTOdbo.tb1VALUES(@i--v-int)SET@i=@i-1endCOMMIT我测试的时候tb1是1000,tb2是500复制代码代码如下:DBCCFREESYSTEMCACHE('ALL','default');SETSTATISTICSIOONSETSTATISTICSTIMEonSELECT*FROMtb1EXCEPTSELECT*FROMtb2;SELECT*FROMtb1WHEREidNOTIN(SELECTidFROMtb2);--得不到任何值SETSTATISTICSIOOFFSETSTATISTICSTIMEOFF执行计划:复制代码代码如下:SELECT*FROMtb1EXCEPTSELECT*FROMtb2;|--MergeJoin(RightAntiSemiJoin,MERGE:([master1].[dbo]...
数据库操作教程 2022-09-23 17:26:30 -
SqlServer2012中First_Value函数简单分析
First_Value返回结果集中某列第一条数据的值,跟TOP1效果一样,比较简单的一个函数先贴测试用代码DECLARE@TestDataTABLE(IDINTIDENTITY(1,1),DepartmentVARCHAR(20),LastNameVARCHAR(20),RateFLOAT)INSERTINTO@TestData(Department,LastName,Rate)SELECT'DocumentControl','Arifin',17.7885UNIONALLSELECT'DocumentControl','Norred',16...
数据库操作教程 2022-09-23 17:25:59 -
SQLSERVERAGENT警告:事件ID:312
Successfullyre-openedthelocaleventlog-NOTE:Someeventsmayhavebeenmissed.Attemptingtotore-openthelocaleventlog...Unabletoreadlocaleventlog(reason:事件日志文件已在读取间更改。). 事件类型:警告 事件来源:SQLSERVERAGENT 事件种类:AlertEngine 事件ID:312 日期:2008-7-19 事件:17:08:17 用户:N/A 计算机:B-SERVER 描述: Successfullyre-openedthelocaleventlog-NOTE:Someeventsmayhavebeenmissed. 有关更多信息,请参阅在http://go.microsoft.com/fwlink/events.asp的帮助和支持中心...
数据库操作教程 2022-09-23 17:24:14 -
使用mongovue把sqlserver数据导入mongodb的步骤
一、思路MongoVUE免费版支持MySQL导入Mongo,所以思路是SQLServer导入MySQL,再从MySQL导入Mongo。二、准备1,安装mysql数据库(我用的是WAMP,集成mysql,phpadmin),如果需要,建立自己的数据库如MyData2,下载mysql-connector-odbc-5.1.12-win32.msi,安装3,开始--->管理工具--->数据源(ODBC)--->用户DSN,添加MySQLODBC5.1Driver4,在SQLServer里服务器对象,链接服务器,右键新建5、在MySQL数据库中建要导入数据的表,如表名为t6、在sqlserver里写导入sql语句如 insertintoopenquery(mysql,'select*fromt')select*fromt7、用MongoVUE导入mysql里的数据等待....完成!注意事1,sqlserver不要用window身份验证2,中文字段要用mysql的gb2312整理3,mssql的bit要修改成mysql的 tinyint(1),mssql的t...
数据库操作教程 2022-09-23 17:20:35 -
分享整理的12条sql语句连同数据
俺觉得自己试着写写sql,调试调试还是有帮助的,读人家sql例子好像读懂了,自己写就未必思路正确,调试得通,写得简洁。跟着网上流行的学生选课表的例子复习了一下:https://www.jb51.net/article/30655.htm这篇文字在网上被转载烂了,里面有些sql适合用在应用系统里,有些“报表”的感觉更重些,主要是想复习前者...
数据库操作教程 2022-09-23 17:16:35 -
mssqlserver2012(SQL2012)各版本功能对比
本主题提供有关不同版本的SQLServer2012所支持的功能的详细信息。MicrosoftSQLServer2012官方简体中文版下载SQLServerEvaluation版具有180天的试用期...
数据库操作教程 2022-09-23 17:09:51 -
SqlServer2012转换函数的比较(Cast、Convert和Parse)
语法结构:1.Cast语法结构:CAST(expressionASdata_type[(length)])2.Convert语法结构:CONVERT(data_type[(length)],expression[,style])3.Parse语法结构:PARSE(string_valueASdata_type[USINGculture])其中,Parse为SqlServer的新特性expression必须要为被转换类型的字符串形式性能分析:总结:1.Convert和Cast的区别CONVERT是专对SQLServer使用的,使日期与时间值,小数之间转换具有更宽的灵活性。CAST是两种功能中更具ANSI标准的功能,即虽然更具便携性(比如,使用CAST的函数能更容易的被其它数据库软件使用),但功能相对弱一些...
数据库操作教程 2022-09-23 17:08:17 -
SQLServer误区30日谈第12天TempDB的文件数和需要和CPU数目保持一致
误区#12:TempDB的文件数和需要和CPU数目保持一致错误 哎,由于上述误区是微软“官方”的建议,并且还有大量博文坚持这个观点,这个误区已经是老生常谈。 但让人困惑的是SQLCAT团队给出的建议就是1:1,但这个建议是源自扩展方面的原理来说,而不是一个通用法则...
数据库操作教程 2022-09-23 17:07:06 -
sqlserver2012数据库所有表里查找某字符串的方法
复制代码代码如下:USE[数据库名称]; --1.定义需要查找的关键字。在搜索中,使用模糊搜索:LIKE'%@key_find%' DECLARE@key_findNVARCHAR(MAX)='123';--假设是找字符串"123" --2.用游标Cursor_Table,遍历所有表 DECLARECursor_TableCURSORFOR SELECTnamefromsysobjectsWHERExtype='u'ANDname<>'dtproperties'; OPENCursor_Table; DECLARE@tableNameNVARCHAR(MAX); FETCHNEXTfromCursor_TableINTO@tableName; WHILE@@fetch_status=0 BEGIN DECLARE@tempSQLTextNVARCHAR(MAX)=''; &...
数据库操作教程 2022-09-23 17:06:04 -
sqlnotin与notexists使用中的细微差别
上面两个简单的Sql,我们从表面理解,查询的最终结果应该是一样的,但实际结果却和我们想象的不一样第一条sql查询的结果有一条数据第二条sql查询的结果却为空 原因:notexists的子查询,对于子查询不返回行和子查询返回行的查询结果是有区别的这些细小的差别千万不要被我们所忽视,一旦项目庞大了,想跟踪到具体的错误所花费的时间也是可观的。尽量把这些不必要的错误扼杀在摇篮里...
数据库操作教程 2022-09-23 17:04:50 -
sqlserverexists,notexists的用法
学生表:createtablestudent( idnumber(8)primarykey, namevarchar2(10),deptmentnumber(8))选课表:createtableselect_course( ID NUMBER(8)primarykey, STUDENT_IDNUMBER(8)foreignkey(COURSE_ID)referencescourse(ID), COURSE_ID NUMBER(8)foreignkey(STUDENT_ID)referencesstudent(ID))课程表:createtableCOURSE( ID NUMBER(8)notnull, C_NAMEVARCHAR2(20), C_NO VARCHAR2(10))student表的数据: &...
数据库操作教程 2022-09-23 16:52:55 -
sqlserver中with(nolock)深入分析
在查询语句中使用NOLOCK和READPAST处理一个数据库死锁的异常时候,其中一个建议就是使用NOLOCK或者READPAST。有关NOLOCK和READPAST的一些技术知识点:对于非银行等严格要求事务的行业,搜索记录中出现或者不出现某条记录,都是在可容忍范围内,所以碰到死锁,应该首先考虑,我们业务逻辑是否能容忍出现或者不出现某些记录,而不是寻求对双方都加锁条件下如何解锁的问题...
数据库操作教程 2022-09-23 16:49:22