随笔分类 - SqlServer
摘要:对象①锁:每条SQL语句②隔离:事务锁①并发问题丢失更新未确认的读取(脏读)不一致的分析(非重复读):多次读取相同的数据(行)不一致(其他用户更改update)幻像读:多次读取有不存在和新增的数据(其他用户插入insert或删除delete)隔离级别隔离级别脏读不可重复读取幻像说明未提交读(read uncommitted)是是是如果其他事务更新,不管是否提交,...
阅读全文
摘要:1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情...
阅读全文
摘要:本文首先讨论了基于第三范式的数据库表的基本设计,着重论述了建立主键和索引的策略和方案,然后从数据库表的扩展设计和库表对象的放置等角度概述了数据库管理系统的优化方案。 1 引言 数据库优化的目标无非是避免磁盘I/O瓶颈、减少CPU利用率和减少资源竞争。为了便于读者阅读和理解,笔者参阅了Sybase、Informix和Oracle等大型数据库系统参考资料,基于多年的工程实践经验,从基本表设计、扩展...
阅读全文
摘要:有时我们在做项目时,需要在SQL文里面对某个字段经过运算后再与一个常量比较:那么这将会对运行性能产生很大的影响: 请看下面SQL的执行效率: select * from iroomtypeprice where amount/30< 1000(11秒) 当改写成下面的SQL语句时效率明显提高了: select * from iroomtypeprice where amount< 1000*30...
阅读全文
摘要:一、不合理的索引设计---- 例:表record有620000行,试看在不同的索引下,下面几个 SQL的运行情况: ---- 1.在date上建有一非个群集索引 select count(*) from record where date >'19991201' and date 2000 (25秒) select date ,sum(amount) from record group by da...
阅读全文
摘要:在csdn中看到了这篇关于写存储过程时的经验之谈,觉得很好,就记了下来供大家参考: 1、开发人员如果用到其他库的Table或View,务必在当前库中建立View来实现跨库操作,最好不要直接使用“databse.dbo.table_name”,因为sp_depends不能显示出该SP所使用的跨库table或view,不方便校验。 2、开发人员在提交SP前,必须已经使用set showplan on...
阅读全文
摘要:操作符优化 IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。 但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用I...
阅读全文
摘要:看到关于连接池的问题,觉得很有用,摘录到自己博客上 NET 连接池救生员 防止可淹没应用程序的池溢出 William Vaughn 大多数 ADO.NET 数据提供程序使用连接池,以提高围绕 Microsoft 断开连接的 .NET 结构构建的应用程序的性能。应用程序首先打开一个连接(或从连接池获得一个连接句柄),接着运行一个或多个查询,然后处理行集,最后将连接释放回连接池。如果没有连接池,这些...
阅读全文
摘要:SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /* 名称:spAll_DeleteNoneUnique 输入:要查询的表名和字段列表 输出: 调用: 说明:实现千万级数据的分页显示!--可以在5秒内获取1448万条记录里的第1200页的100条记录,雄不? 作者:铁拳 邮件: 网站:http://www.wellknow.net ...
阅读全文
摘要:select * from information_schema.columns where table_name='表名'
阅读全文
摘要:Sp_MSForEachTable和sp_MSForEachDb是SQL Server的两个系统存储过程,存在于Master数据库当中,但是在SQL Server的联机帮助中并没有这两个存储过程,也就是说微软并没有把这两个存储过程编进SQL Server的联机丛书中。那么Microsoft设计这两个系统存储过程的目的到底是什么呢?这两个系统存储过程又能干些什么呢?实际上Microsoft设计这两个...
阅读全文