- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 not in与not exists的区别
在数据库的开发过程中很多时候是需要对数据进行过滤,使用比较多的会是not in 与not exist,但是在很多时候使用not in 会出现致命的BUG。以下对not in 与not exist进行对比:1、效率方面:如果查询语句使用了not in 那么内外表都进行全表扫描,没有用到索引;而not extsts 的子查询依然能用到表上的索引。所以无论那个表大,用not exists都比no
2015-12-04 10:13:50
1171
原创 XML类型的基本查询使用
创建表:create table DevRec(DevID varchar(10),XMLData xml)插入数据:insert into DevRec(DevID,XMLData)select '轴承D','53123'unionselect '轴承E','53127'unionselect '轴承F','51105' 1、query方法:query
2015-10-29 10:47:23
582
转载 MySql中的变量
根据mysql手册,mysql的变量分为两种:系统变量和用户变量。但是在实际使用中,还会遇到诸如局部变量、会话变量等概念。根据个人感觉,mysql变量大体可以分为四种类型:一、局部变量。局部变量一般用在sql语句块中,比如存储过程的begin/end。其作用域仅限于该语句块,在该语句块执行完毕后,局部变量就消失了。局部变量一般用declare来声明,可以使用default来说明默认值。
2015-10-10 14:21:43
440
原创 mysql-5.6.26-winx64安装步骤
今天在操作系统是 windows server 2008 64位 下配置mysql-5.6.26-winx64 (免安装版), 首先,将mysql-5.6.26-winx64.zip 解压缩到D:/mysql-5.6.26-winx64 目录下,修改my-default.ini文件,主要是在[mysqld]段中添加了:#系统基本目录 basedir= D:\mysql-5.6.2
2015-09-08 11:28:05
2123
转载 追踪记录每笔业务操作数据改变的利器——SQLCDC
对于大部分企业应用来用,有一个基本的功能必不可少,那就是Audit Trail或者Audit Log,中文翻译为追踪检查、审核检查或者审核记录。我们采用Audit Trail记录每一笔业务操作的基本信息,比如操作的基本描述、操作时间、操作者等。对于一些安全级别比较高的应用,或者操作一些比较敏感的数据,我们甚至需要记录该笔业务操作引起的数据的改变。具体来说,这里的“数据改变”指的是每一条影响的记录在
2015-08-27 17:22:00
290
原创 SQL Server中的汇总功能
1、使用TABLESAMPLE来返回随机行:SELECT [SalesQuotaKey] ,[EmployeeKey] ,[DateKey] ,[CalendarYear] ,[CalendarQuarter] ,[SalesAmountQuota]FROM [AdventureWorksDW2008R2].[dbo]
2015-08-27 14:41:18
536
转载 sql中in和exists的区别效率问题(转)
in 和existsin是把外表和内表作hash 连接,而exists 是对外表作loop 循环,每次loop 循环再对内表进行查询。一直以来认为exists 比in 效率高的说法是不准确的。如果查询的两个表大小相当,那么用in 和exists 差别不大。 如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:例如:
2015-08-25 15:56:04
285
原创 视图中order by 的使用
在视图定义中不能单独使用order by,top和order by或 order by 和for xml 可以一起组合出现在视图的定义中;例如:CREATE VIEW TTAS SELECT * FROM TESTORDER BY ID这种定义会出现报错,原因为:TOP和FOR XML都是T-SQL的扩展,不是标准的SQL元素。TOP和ORDER BY以及OR
2015-08-20 16:58:19
2761
转载 SQL Server 2012中的新函数
--新分页方法(效率较高)select * from sys.columns order by object_id offset 5 rows fetch next 3 rows only--可创建类似Oracle 的Sequence 序列便于多表共用一个序列create sequence sid as int start with 1 increment by 1 MaxValu
2015-08-20 08:42:53
550
转载 数据库开发经典
1.按姓氏笔画排序:Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as //从少到多 2.数据库加密:select encrypt('原始密码')select pwdencrypt('原始密码')select pwdcompare('原始密码','加密后密码')
2015-08-19 17:54:13
283
转载 数据库开发基础
一、基础1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwin
2015-08-19 17:51:10
371
原创 当一个数据库插入事务由于错误被回滚时,被插入表中标识字段的值该发生怎么样的变化?
当一个数据库插入事务由于错误被回滚时,被插入表中标识字段的值该发生怎么样的变化?
2015-08-19 17:26:21
952
原创 SQL Server中的全局变量
全局变量名称 描述@@CONNECTIONS 返回 SQL Server 自上次启动以来尝试的连接数。@@CPU_BUSY 返回 SQL Server 自上次启动后的工作时间。@@CURSOR_ROWS 返回连接上打开的上一个游标中的当前限定行的数目,确定当其被调用时检索了游标符合条件的行数。@@DATEFIRST 针对会话返回 SET DATEFIRST 的当前值,SET DAT
2015-08-19 14:00:28
513
转载 存在即更新反之插入的三种防唯一键冲突和死锁的写法
存在即更新,反之插入的需求是很常见的,很多人没有注意并发的问题,高并发下为了避免唯一键冲突和死锁情况,下面提供三种写法,最后一个是sql server 2008及以后版本适用。示例表为:use tempdbgocreate table tb_1 (id int identity primary key,a varchar(50),dt datetime defaul
2015-08-18 20:33:22
677
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人