-
SQLSERVER中关于exists和in的简单分析
In与Exists这两个函数是差不多的,但由于优化方案不同,通常NOTExists要比NOTIN要快,因为NOTEXISTS可以使用结合算法二NOTIN就不行了,而EXISTS则不如IN快,因为这时候IN可能更多的使用结合算法。如图,现在有两个数据集,左边表示#tempTable1,右边表示#tempTable2...
数据库操作教程 2022-09-23 17:32:11 -
SQLServer的事务操作隔离模式介绍
一般而言,最好让SQLServer以默认形式在隔离事务操作;毕竟,隔离是ACID模型的基本原则之一。但是,有时候因为业务需求的原因,数据库管理员不得不违背默认行为,而是采取更灵活一点的方法来进行事务操作隔离...
数据库操作教程 2022-09-23 17:31:59 -
SQL优化基础使用索引(一个小例子)
按照本文操作和体会,会对sql优化有个基本最简单的了解,其他深入还需要更多资料和实践的学习:1.建表:复制代码代码如下:createtablesite_user(idintIDENTITY(1,1)PRIMARYKEY,[name]varchar(20),codevarchar(20),datedatetime)2.插入8万条数据复制代码代码如下:declare@mintset@m=1while@m<80000beginINSERTINTO[demo].[dbo].[site_user]([name],[code],date)VALUES('name'+CAST(@mASVARCHAR(20)),'code'+CAST(@mASVARCHAR(20)),GETUTCDATE())select@m=@m+1END--小技巧:推荐使用类似sqlassist的工具来提高敲写sql语句的速度3.设置打开一些参数的设置复制代码代码如下:SETSTATISTICSIOon--查看磁盘IOsetstatisticstimeon--查看sql语句分析编译和执行时间SELECT*FROMsite_...
数据库操作教程 2022-09-23 17:31:53 -
如何查看SQLSERVER中某个查询用了多少TempDB空间
在SQLServer中,TempDB主要负责供下述三类情况使用:内部使用(排序、hashjoin、worktable等)外部使用(临时表,表变量等)行版本控制(乐观并发控制) 而对于内部使用,一些比较复杂的查询中由于涉及到了大量的并行、排序等操作时就需要大量的内存空间,每一个查询在开始时都会由SQLServer预估需要多少内存,在具体的执行过程中,如果授予的内存不足,则需要将多出来的部分由TempDB处理,这也就是所谓的SpilltoTempDB。 通过下述语句可以观察到某个查询对TempDB造成了多少读写:DECLARE@readBIGINT,@writeBIGINT;SELECT@read=SUM(num_of_bytes_read),@write=SUM(num_of_bytes_written)FROMtempdb.sys.database_filesASDBFJOINsys.dm_io_virtual_file_stats(2,NULL)ASFSONFS.fil...
数据库操作教程 2022-09-23 17:31:48 -
揭秘SQLServer2014有哪些新特性(2)-固态硬盘BufferPool(缓冲池)扩展
简介 SQLServer2014中另一个非常好的功能是,可以将SSD虚拟成内存的一部分,来供SQLServer数据页缓冲区使用。通过使用SSD来扩展Buffer-Pool,可以使得大量随机的IOPS由SSD来承载,从而大量减少对于数据页的随机IOPS和PAGE-OUT...
数据库操作教程 2022-09-23 17:31:36 -
揭秘SQLServer2014有哪些新特性(4)-原生备份加密
SQLServer2014CTP2之后公布了一项针对备份的特性,那就是原生备份加密。考虑到之前网络上影响很坏的数据库泄漏事件,本质上都是数据库备份泄漏给第三方导致,SQLServer的原声数据备份可以使得即使备份本身被盗,在没有加密证书的情况下也无法使用,这有效的解决了上述数据泄漏问题...
数据库操作教程 2022-09-23 17:31:15 -
解决SqlServer各版本sa帐户不能登录问题
1.使用ManagementStudioExpress,用“Windows身份验证”登录,选中SQL服务器名,右击鼠标选择属性,在服务器属性选项页面,选择“安全性”,将服务器身份验证由“Windows身份验证”改为“SQLServer和Windows身份验证”,单击确定。2.使用SQL Server2005外围应用配置器,选择“服务和连接的外围应用配置器”,选SQLExpress–>DatabaseEngine–>服务,先停止,再启动,重启SQLServer服务器...
数据库操作教程 2022-09-23 17:30:54 -
在SQLServer中迁移数据的几种方法
1.通过工具"DTS"的设计器进行导入或者导出DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不多,如果只是进行SQLServer数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动。在SQLServerEnterpriseManager中,展开服务器左边的+,选择数据库,右击,选择Alltasks/ImportData...(或Alltasks/ExportData...),进入向导模式,按提示一步一步走就行了,里面分得很细,可以灵活的在不同数据源之间复制数据,很方便的...
数据库操作教程 2022-09-23 17:30:53 -
sqlserver数据库优化解析(图文剖析)
下面通过图文并茂的方式展示如下:一、SQLProfiler 事件类StoredProceduresRPC:CompletedTSQLSQL:BatchCompleted事件关键字段EventSequence、EventClass、SPID、DatabaseName、Error、StartTime、TextData、HostName、ClientProcessID、ApplicationName、CPU、Reads、Writes、Duration、RowCounts 1、跟踪慢SQL 2、跟踪SQL执行错误 3、调试中找到SQL以特殊字符作为筛选条件 4、T-SQL查询trace表a、设置抓取的时候段b、保持成文件然后用下面语句查询文件复制代码代码如下:SELECTEventSequence,SPID,RequestID,...
数据库操作教程 2022-09-23 17:30:39 -
SqlServer中常用的6个自定义函数分享
在日常应用中,往往根据实际需求录入一些值,而这些值不能直接使用,所以Sql中经常会对字段值进行一些常规的处理。这里搜集了(提取数字、英文、中文、过滤重复字符、分割字符的方法),方便日后查询使用...
数据库操作教程 2022-09-23 17:30:34