-
SQL SERVER中关于exists 和 in的简单分析
所属栏目:[MsSql教程] 日期:2020-12-12 热度:111
In与Exists这两个函数是差不多的,但由于优化方案不同,通常NOT Exists要比NOT IN要快,因为NOT EXISTS可以使用结合算法二NOT IN就不行了,而EXISTS则不如IN快,因为这时候IN可能更多的使用结合算法。 如图,现在有两个数据集,左边表示#tempTable1,右边表[详细]
-
Transactional replication(事务复制)详解之如何跳过一个事务
所属栏目:[MsSql教程] 日期:2020-12-12 热度:106
在transactional replication,经常会遇到数据同步延迟的情况。有时候这些延迟是由于在publication中执行了一个更新,例如update ta set col= Where ,这个更新包含巨大的数据量。在subscription端,这个更新会分解成多条命令(默认情况下每个数据行一个命令[详细]
-
SQL语句中含有乘号报错的处理办法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:125
在ADO中,我们需要在SQL语句中使用乘法运算,可是添加'*'以后执行程序总是会出错,这是因为‘*'与sql中的‘*'关键字重合了,所以编译会出错。 解决办法:将乘法运算放到sql语句外面,将结果放入一个变量中,然后在sql语句中引用即可[详细]
-
SQL SERVER先判断视图是否存在然后再创建视图的语句
所属栏目:[MsSql教程] 日期:2020-12-12 热度:134
如果我们的语句为: 会提示以下错误: Msg 156,Level 15,State 1,Line 4 Incorrect syntax near the keyword 'view'. 出现这个错误的原因是:create view 这一句必须是批处理中的第一句。 所以可以将该语句修改为:[详细]
-
sql中循环处理当前行数据和上一行数据相加减
所属栏目:[MsSql教程] 日期:2020-12-12 热度:132
以下事例,使用游标循环表#temptable中数据,然后让当前行和上一行中的argument1 相加 存放到当前行的 argument2 中,比较简单。 declare @rowcount int,@argument1 int,@argument2 nvarchar(50),@argument3 datetime set @rowcount=1 set @argument1=1 set[详细]
-
生成300个不同的随机数的SQL语句
所属栏目:[MsSql教程] 日期:2020-12-12 热度:176
--生成300个8位不重复纯数字随机数[详细]
-
浅析SQL语句中GROUP BY的用法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:144
GROUP BY 是分组查询,一般 GROUP BY 是和 聚合函数配合使用,你可以想想 你用了GROUP BY 按 ITEM.ITEMNUM 这个字段分组,那其他字段内容不同,变成一对多又改如何显示呢,比如下面所示 A B 1 abc 1 bcd 1 asdfg select A,B from table group by A 你说这样查出来[详细]
-
深入浅出解析mssql在高频,高并发访问时键查找死锁问题
所属栏目:[MsSql教程] 日期:2020-12-12 热度:63
死锁对于DBA或是数据库开发人员而言并不陌生,它的引发多种多样,一般而言,数据库应用的开发者在设计时都会有一定的考量进而尽量避免死锁的产生.但有时因为一些特殊应用场景如高频查询,高并发查询下由于数据库设计的潜在问题,一些不易捕捉的死锁可能出现从而影[详细]
-
浅谈Transact-SQL
所属栏目:[MsSql教程] 日期:2020-12-12 热度:115
Transact-SQL(又称T-SQL),是在MicrosoftSQLServer和SybaseSQLServer上的ANSISQL实现,与Oracle的PL/SQL性质相近(不只是实现ANSISQL,也为自身数据库系统的特性提供实现支持),目前在MicrosoftSQLServer和SybaseAdaptiveServer中仍然被使用为核心的查询[详细]
-
在SQL Server中迁移数据的几种方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:123
1.通过工具"DTS"的设计器进行导入或者导出 DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不 多,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动。在SQL Server Enterprise Manag[详细]
-
SQL Server的事务操作隔离模式介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:132
一般而言,最好让SQL Server以默认形式在隔离事务操作;毕竟,隔离是ACID模型的基本原则之一。但是,有时候因为业务需求的原因,数据库管理员不得不违背默认行为,而 是采取更灵活一点的方法来进行事务操作隔离。针对数据库管理员遇到的这类情况,SQL Serve提[详细]
-
Sql Server里删除数据表中重复记录的例子
所属栏目:[MsSql教程] 日期:2020-12-12 热度:149
[项目] 数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除! [分析] 1、生成一张临时表new_users,表结构与users表一样; 2、对users表按id做一个循环,每从users表中读出一个条记录,判断new_users中是否存[详细]
-
如何查看SQLSERVER中某个查询用了多少TempDB空间
所属栏目:[MsSql教程] 日期:2020-12-12 热度:54
在SQL Server中,TempDB主要负责供下述三类情况使用: 内部使用(排序、hash join、work table等) 外部使用(临时表,表变量等) 行版本控制(乐观并发控制) 而对于内部使用,一些比较复杂的查询中由于涉及到了大量的并行、排序等操作时就需要大量的内存空[详细]
-
在SQL Server中使用ISNULL执行空值判断查询
所属栏目:[MsSql教程] 日期:2020-12-12 热度:175
有如下查询: 代码如下:select isnull(lastchanged,'') as lastchanged from vhhostlist where s_comment='test202' 本来,ISNULL函数只有一个参数,它表示的含义就是判断这个参数的值是否为NULL,是NULL则返回TRUE,否则返回FALSE; 但是,在SQLServer的查询[详细]
-
揭秘SQL Server 2014有哪些新特性(1)-内存数据库
所属栏目:[MsSql教程] 日期:2020-12-12 热度:140
简介 SQL Server 2014提供了众多激动人心的新功能,但其中我想最让人期待的特性之一就要算内存数据库了。去年我再西雅图参加SQL PASS Summit 2012的开幕式时,微软就宣布了将在下一个SQL Server版本中附带代号为Hekaton的内存数据库引擎。现在随着2014CTP1的[详细]
-
揭秘SQL Server 2014有哪些新特性(2)-固态硬盘 Buffer Pool(缓
所属栏目:[MsSql教程] 日期:2020-12-12 热度:51
简介 SQL Server 2014中另一个非常好的功能是,可以将SSD虚拟成内存的一部分,来供SQL Server数据页缓冲区使用。通过使用SSD来扩展Buffer-Pool,可以使得大量随机的IOPS由SSD来承载,从而大量减少对于数据页的随机IOPS和PAGE-OUT。 SSD AS Buffer Pool SSD是[详细]
-
揭秘SQL Server 2014有哪些新特性(3)-可更新列存储聚集索引
所属栏目:[MsSql教程] 日期:2020-12-12 热度:174
简介 列存储索引其实在在SQL Server 2012中就已经存在,但SQL Server 2012中只允许建立非聚集列索引,这意味着列索引是在原有的行存储索引之上的引用了底层的数据,因此会消耗更多的存储空间,但2012中的限制最大的还是一旦将非聚集列存储索引建立在某个表上[详细]
-
揭秘SQL Server 2014有哪些新特性(4)-原生备份加密
所属栏目:[MsSql教程] 日期:2020-12-12 热度:89
SQL Server 2014 CTP2之后公布了一项针对备份的特性,那就是原生备份加密。考虑到之前网络上影响很坏的数据库泄漏事件,本质上都是数据库备份泄漏给第三方导致,SQL Server的原声数据备份可以使得即使备份本身被盗,在没有加密证书的情况下也无法使用,这有[详细]
-
解决SqlServer 各版本 sa帐户不能登录问题
所属栏目:[MsSql教程] 日期:2020-12-12 热度:136
1.使用Management Studio Express,用“Windows身份验证”登录,选中SQL服务器名,右击鼠标选择属性,在服务器属性选项页面,选择“安全性”,将服务器身份验证由“Windows身份验证”改为“SQL Server和Windows身份验证”,单击确定。 2.使用SQL Server 2005[详细]
-
浅析SQL Server中包含事务的存储过程
所属栏目:[MsSql教程] 日期:2020-12-12 热度:136
先来看一个概念: 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不执行。那么在存储过程里添加事务,则可以保证该事务里的所有sql代码要么完全执行要么完全不执行。 举个简单的带事务的存储过[详细]
-
深入分析MSSQL数据库中事务隔离级别和锁机制
所属栏目:[MsSql教程] 日期:2020-12-12 热度:144
锁机制 NOLOCK和READPAST的区别。 1. 开启一个事务执行插入数据的操作。 INSERT INTO Customer SELECT 'a','a' 2. 执行一条查询语句。 结果中显示”a”和”a”。当1中事务回滚后,那么a将成为脏数据。(注:1中的事务未提交) 。NOLOCK表明没有对数据表添加共享[详细]
-
SQL优化技巧指南
所属栏目:[MsSql教程] 日期:2020-12-12 热度:127
对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描 最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库。 备[详细]
-
人工智能自动sql优化工具--SQLTuning for SQL Server
所属栏目:[MsSql教程] 日期:2020-12-12 热度:59
针对这种情况,人工智能自动SQL优化工具应运而生。现在我就向大家介绍这样一款工具:SQLTuning for SQL Server。 1. SQL Tuning 简介 SQL Turning是Quest公司出品的Quest Central软件中的一个工具。 QuestCentral(图1)是一款集成化、图形化、跨平台的数据库[详细]
-
使用 TOP 子句限制UPDATE 语句更新的数据
所属栏目:[MsSql教程] 日期:2020-12-12 热度:167
可以使用 TOP 子句来限制 UPDATE 语句中修改的行数。当 TOP (n) 子句与 UPDATE 一起使用时,将针对随机选择的 n 行执行删除操作。例如,假设您要为一位高级销售人员减轻销售负担,而将一些客户分配给了一位初级销售人员。下列示例将随机抽样的 10 个客户从一[详细]
-
sql server动态存储过程按日期保存数据示例
所属栏目:[MsSql教程] 日期:2020-12-12 热度:121
在项目中经常有大量数据信息保存到数据库,如只用一张表保存那肯定不现实,首选解决方案为按日期建立动态表来保存数据。在不改变保存方式的代码的情况下,用动态存储过程是首选,在sql server存储过程中进行日期计算,按日期建表效率最高,下面就公司项目的[详细]