随笔分类 -  SQL

摘要:1 前言数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线程。T3,T4以此类推。下面以SQL Server(2005)为例。2 锁的种类共享锁(Shared lock)。例1:----------------------------------------T1: select * from table (请想象它需要执行1个小时之久,后面的sql语句请都这么想象)T2: update table set column1... 阅读全文
posted @ 2014-03-28 23:39 温暖如太阳 阅读(122) 评论(0) 推荐(0) 编辑
摘要:1、查询重复 select id,name from users where id in (select id from users group by id having count(id)>=2)2、去除重复 select distinct * from users3、子查询(sql增列)统计 select id=row_number()over(order by Le_NameOfAssociate),Le_NameOfAssociate as name,Le_ApplierID as userultcode,Year,(isnull((select SUM(CONVERT(int, 阅读全文
posted @ 2014-03-13 23:20 温暖如太阳 阅读(181) 评论(0) 推荐(0) 编辑
摘要:游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。 正常面向集合的思维方式是: 而对于游标来说: 这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能. 同样的,在性能上,游标会吃更多的内存,减少可用的并发,占用宽带,锁定资源,当然还有更多的代码量…… 从游标对数据库的读取方式来说,不难看出游标为什么占用更多的资源,打个比方: 当你从ATM取钱的时候,是一次取1000效率更高呢,还是取10次100?既然游标这么“邪恶”,为什么还要学习游... 阅读全文
posted @ 2014-03-13 21:06 温暖如太阳 阅读(119) 评论(0) 推荐(0) 编辑
摘要:序列可以理解数值序列生成器,通俗的说是按照已经设定的规则自动产生数据的方案对象。--SQL SERVER不支持 个人认为序列类似于SQLSERVER中的identity(1,1),可以用于在表中添加数据时,能够自动在上一个记录的字段上自动加1等。 创建序列的语法: CREATE SEQUENCE AS START WITH INCEREMENT BY [MAXVALUE ] [MINVIEW] [[NO] CYCLE]; 如果需要取序列中的值,则如下调用: NEXT VALUE FOR 在某些情况下,我们需要对序列进行重置,此时需要使用一下... 阅读全文
posted @ 2013-07-18 23:18 温暖如太阳 阅读(333) 评论(0) 推荐(0) 编辑
摘要:从校园中走出来已经两年多了,从最初的企业建站到现在的BPM流程开发,深深的感觉到自己底子很差,因此在园子里记录一下学过的知识,以此自勉。 废话到此结束,今天就先来看一下CREATE CHEMA 语句。 尽管大多数数据库操作是基于表结构进行的,但是数据库并不仅仅是数据表的集合。一个完整的数据库除了包含表以外,还要包括存储过程、自定义函数以及游标,这些都是用户创建的,此外还有索引和其他的一些方法,而这些方法是用户不能直接使用的。 SQL标准将数据库用户划分为普通用户(USER)和管理员用户(ADMIN),模式对象的创建、修改、删除操作需要管理员权限,而普通用户则能够调用及查看模式对象。(权限)。. 阅读全文
posted @ 2013-07-18 00:00 温暖如太阳 阅读(281) 评论(0) 推荐(0) 编辑
摘要:首先声明:该文章转自http://www.cnblogs.com/wudiwushen/archive/2010/03/30/1700925.html的博客引言 我们先不讲游标的什么概念,步骤及语法,先来看一个例子: 表一 OriginSalary 表二 AddSalary现在有2张表,一张是OriginSalary表--工资表,有三个字段0_ID 员工号(NVARCHAR)、O_Name员工姓名(NVARCHAR)、O_Salary工资(FLOAT)。另一张表AddSalary表—加薪表。有2个字段,O_ID员工号、A_Salary增加工资。两张表的O_ID是一一对应的,现在求将加薪的工.. 阅读全文
posted @ 2013-07-08 23:45 温暖如太阳 阅读(179) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示