水滴石穿

渴望成为高手--Amy.Qiu
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  D.SQL

摘要:SQL百万级别随机数批量生成 CREATE TABLE tb(id varchar(12))CREATE UNIQUE INDEX IX_tb ON tb(id)WITH IGNORE_DUP_KEY -- --忽略重复记录的索引GO SET NOCOUNT OFFDECLARE @row intS 阅读全文

posted @ 2016-11-08 14:14 AmyQiu

摘要:sql server远程备份和恢复SQLSERVER服务实例名称:192.168.0.2需要备份的数据库名称: a备份机器名称(Client端):192.168.0.3备份机用户:zf 密码:123备份机域名:domain备份机提供备份需求的文件夹:D:\sqlbak备份数据库第一步: 在备份机建立... 阅读全文

posted @ 2014-09-26 14:56 AmyQiu

摘要:本文阐述了批处理在 SQL Server 2005 中的缓存和重用方式,并就最大限度重用已缓存的计划提供了相应的最佳实务。另外,文中还说明了一些重新编译批处理的方案,并针对减少或消除不必要的重新编译,给出了最佳实务。 一、本白皮书的目的 此白皮书的目的有几个。阐述了批处理在 SQL Server 2005 中的缓存和重用方式,并就最大限度重用已缓存的计划提供了相应的最佳实务。另外,文中还说明了一些重新编译批处理的方案,并针对减少或消除不必要的重新编译,给出了最佳实务。本白皮书阐述了 SQL Server 2005 的“语句级重新编译”功能。另外,还介绍了许多工具及实用程序,它们可在查询编译.. 阅读全文

posted @ 2013-04-26 17:42 AmyQiu 阅读(227) 评论(0) 推荐(0)

摘要:最近,为了能在数据库服务器中运行其他应用程序,在保持数据库操作系统版本不变的前提下对数据库服务器进行了软、硬件上的升级。在软件上,将操作系统从Windows 2000升级到Windows Server 2003;在硬件上,将服务器中的内存由原来的512MB增加到1GB(1024MB)。在升级后的开始几个星期之内,服务器在使用中表现良好。但是不久后就发现,在服务器上同时运行的其他应用程序却出现了异常,不时地报出内存分配不足的警告。经过几次跟踪后发现,原来是SQL Server吞去了大部分内存所致。被SQL Server占用的内存由升级前的不到400MB一下子增加到现在的900MB,并且有不断增长 阅读全文

posted @ 2013-04-26 17:33 AmyQiu 阅读(176) 评论(0) 推荐(0)

摘要:把计划放入缓存之后,SQL Manager 按照执行要求逻辑进行检查,确定是否有更改的内容,是否需要重新编译。即使编译到执行之间时间间隔只有几毫秒,也可能有人会执行一条数据定义语句 (DDL),为关键的表加了索引。这种可能性不大,但是确实存在,因此 SQL Server 必须考虑这一点。有几种情况 SQL Server 必须重新编译存储规划。元数据的修改,例如增加或删除索引,是重新编译的最主要的原因。服务器必须确信所使用的计划反映了索引的当前状态。重新编译的另一种原因是统计情况发生变化。SQL Server 还维护不少数据使用频率的统计信息。如果数据使用频率分布情况变化很大,则可能需要另一个查 阅读全文

posted @ 2013-04-26 17:31 AmyQiu 阅读(191) 评论(0) 推荐(0)

摘要:1 逻辑数据库和表的设计数据库的逻辑设计、包括表与表之间的关系是优化关系型数据库性能的核心。一个好的逻辑数据库设计可以为优化数据库和应用程序打下良好的基础。标准化的数据库逻辑设计包括用多的、有相互关系的窄表来代替很多列的长数据表。下面是一些使用标准化表的一些好处。A:由于表窄,因此可以使排序和建立索引更为迅速;B:由于多表,所以多镞的索引成为可能;C:更窄更紧凑的索引;D:每个表中可以有少一些的索引,因此可以提高insert update delete等的速度,因为这些操作在索引多的情况下会对系统性能产生很大的影响;E:更少的空值和更少的多余值,增加了数据库的紧凑性由于标准化,所以会增加了在获 阅读全文

posted @ 2013-04-26 17:17 AmyQiu 阅读(245) 评论(0) 推荐(0)

摘要:如何加快查询速度?1、升级硬件2、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。3、扩大服务器的内存4、增加服务器CPU个数5、对于大的数据库不要设置数据库自动增长,它会降低服务器的性能6、在查询Select语句中用Where字句限制返回的行数,避免表扫描,如果返回不必要的数据,浪费了服务器的I/O资源,加重了网络的负担降低性能。如果表很大,在表扫描的期间将表锁住,禁止其他的联接访问表,后果严重。7、查询时不要返回不需要的行、列8、用select top 100 / 10 Percent 来限制用户返回的行数或者SET ROWCOUNT来限制操作的行9、在IN后面值的列表 阅读全文

posted @ 2013-04-26 17:16 AmyQiu 阅读(155) 评论(0) 推荐(0)

摘要:SQL 语句优化原则:1. IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。 但是用IN的SQL性能总是比较低的,从执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: 将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL至少多了一个转换的过程。一般的SQL都可以转换成功,但对于含有分组统计等方面的SQL就不能转换了。推荐方案:在业务密集的SQL当中尽量不采用IN操作符。可以用exists代替。 SQL Server例子:Exists用法:se 阅读全文

posted @ 2013-04-26 16:31 AmyQiu 阅读(126) 评论(0) 推荐(0)

摘要:昨天看到网上有一个关于SQL SERVER 课件,便随手下载了下来看看主要讲了些什么内容,于是看到了下面两个PPT页面 由于第一张PPT上的内容不太准确(日志文件中没有“日志页”的概念,只有VLF的概念,可能是我们对“数据页”的概念太深刻了,因此弄了以“日志页”的概念出来,而PPT中说先更新高速缓冲区中的数据页,然后将事务日志写入到“日志页”,很容易让人理解成先更改高速缓冲区,然后将日志写入到磁盘上的“日志页”),再加上我看PPT时比较"囫囵"(只看到前一张PPT,没有往后翻两下看后面一张PPT).因此我觉得PPT的作者在日志的写入顺序上有问题.索性查了一下资料,然后比较深 阅读全文

posted @ 2013-04-26 16:27 AmyQiu 阅读(187) 评论(0) 推荐(0)

摘要:第一部分:SQL SERVER是通过哪个组件以及如何来和客户端进行“接受要求”及“提供结果”的交互的SQL SERVER 服务器于客户端的交互主要依靠Open Data Services(简称ODS)组件,中文名 “开放数据服务”。在《SQL SERVER 2000技术内幕》中,译者将Open Data Services 翻译为“开放式数据服务”,但是这里的OPEN应该意味着“把数据开放”,“开放式”有一点不准确,联系上下文来看的话,无伤大雅。ODS组件主要负责监听新的连接,清理失败的连接,以及将关系引擎返回的数据集、消息和状态值等信息返回给客户端。ODS组件可以响应一下三种事件:连接事件、语 阅读全文

posted @ 2013-04-26 16:26 AmyQiu 阅读(396) 评论(0) 推荐(0)

摘要:[代码] 阅读全文

posted @ 2010-03-12 16:43 AmyQiu 阅读(531) 评论(0) 推荐(0)

摘要:在SQL Server的性能调优中,有一个不可比拟的问题:那就是如何在一段需要长时间的代码或被频繁调用的代码中处理临时数据集?表变量和临时表是两种选择。记得在给一家国内首屈一指的海运公司作SQL Server应用性能评估和调优的时候就看到过大量的临时数据集处理需求,而他们的开发人员就无法确定什么时候用临时表,什么时候用表变量,因此他们就简单的使用了临时表。实际上临时表和表变量都有特定的适用环境。 ... 阅读全文

posted @ 2010-01-14 16:36 AmyQiu 阅读(317) 评论(0) 推荐(0)

摘要:sql中的某个字段用“,”分隔数据,需要获取数据的时候直接把“,”拆分成数据,获得一个数据的list。例如:需要查询某字段是否包含一个值,111是否存在于1111,2111,1112,1121,1113这个字段中。因为根据“,”逗号分开,要求的答案是:不在字段中。用传统的like '%111%',显然不合适,这样虽然111不存... 阅读全文

posted @ 2009-10-16 12:23 AmyQiu 阅读(1862) 评论(2) 推荐(3)

摘要:这个帖子主要总结在触发器方面的应用。 对于没有使用过触发器的兄弟可以先看下面关于使用触发器的文章。 http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vdbt7/html/dvtskworkingwithtriggers.asp 大家可以在下面的链接来搜索CSDN技术社区文档,很大的技术宝藏。 http://sea... 阅读全文

posted @ 2009-07-13 16:07 AmyQiu 阅读(287) 评论(0) 推荐(0)

摘要:>服务器端编程>创建供前端应用程序通过Web服务调用的存储过程。首先,我们在SQL Server 2005示例数据库AdventureWorks中创建两个存储过程—GetProducts和UpdateproductPrice。后面,我们将通过SQL Server本机Web服务来访问这两个存储过程。创建它们的相应SQL脚本代码如下所示:USE AdventureWorksGO... 阅读全文

posted @ 2009-07-13 16:05 AmyQiu 阅读(263) 评论(0) 推荐(0)

摘要:查询死锁进程的方法:一条SQL2005里查询进程信息的SQL语句虽然简单,估计大家都能写出来,不过比较实用,返回的信息包括进程阻塞信息、登录的相关信息、执行的SQL语句信息、进程所消耗的CPU、内存、I/O信息、以及客户端IP信息,具体如下:with tbas(select blocking_session_id,session_id,db_name(database_id) as dbname,... 阅读全文

posted @ 2009-07-13 15:51 AmyQiu 阅读(941) 评论(0) 推荐(0)

摘要:HOW TO FIX SQLSERVER DATABASE SUSPECT?如何修复数据库状态"置疑"?**********************************************************Author:黄山光明顶mail:leimin@jxfw.comversion:1.0.0date:2004-1-30(如需转载,请注明出处!,如果有问题请发MAIL给我:-))*... 阅读全文

posted @ 2009-07-13 15:39 AmyQiu 阅读(301) 评论(0) 推荐(0)

摘要:*基本还原数据库方法*http://community.csdn.net/Expert/topic/5111/5111602.xml?temp=.9495661http://community.csdn.net/Expert/topic/4991/4991655.xml?temp=.515011SQL Server 2005还原问题http://community.csdn.net/Expert/... 阅读全文

posted @ 2009-07-13 15:33 AmyQiu 阅读(273) 评论(0) 推荐(0)

摘要:一、 镜像简介1、 简介数据库镜像是将数据库事务处理从一个SQL Server数据库移动到不同SQL Server环境中的另一个SQL Server数据库中。镜像不能直接访问;它只用在错误恢复的情况下才可以被访问。要进行数据库镜像所需的最小需求包括了两个不同的SQL Server运行环境。主服务器被称为“主机”,第二个服务器被称作“备机”。主机数据库... 阅读全文

posted @ 2009-07-13 15:28 AmyQiu 阅读(460) 评论(0) 推荐(0)

摘要:1.数据库镜像 通过新数据库镜像方法,将记录档案传送性能进行延伸。您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可用性。2.在线恢复 使用SQL2005版服务器,数据库管理人员将可以在SQL服务器运行的情况下,执行恢复操作。在线恢复改进了SQL服务器的可用性,因为只有正在被恢复的数据是无法使用的,而数据库的其他部分依然在线、可供使用。3.在线检索操作 在... 阅读全文

posted @ 2009-07-13 15:26 AmyQiu 阅读(257) 评论(0) 推荐(0)