自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

转载 Database Object Naming Rules

Database Object Naming RulesSummary: CasingPrefixSuffixAlpha Numeric CharactersNotesTablesPascal  xUse singular form: Eg User, not Users

2008-07-15 17:56:00 573

转载 探讨SQL Server中Case 的不同用法

CASE 可能是 SQL 中被误用最多的关键字之一。虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法。例如,你可以在 WHERE 子句中使用 CASE。   首先让我们看一下 CASE 的语法。在一般的 SELECT 中,其语法如下: SELECT = CASE WHEN THEN

2008-07-01 17:01:00 506

转载 每个分类取最新的几条的SQL实现

分类统计时候,我们可能经常会碰到这样的需求,每个分类按照一定顺序,取几条数据,然后在一起显示。这个问题的解决方法,我们通过搜索引擎,可以找到很多中。但是不是SQL语句过于复杂,就是在数据量比较大时候,性能特别成问题。今天我就碰到这样一个需求。而我自己的解决方案就是SQL过于复杂,或者性能比较差的。为此我在CSDN论坛发了个帖子,看有没有更好的解决方案。http://topic.csdn

2008-06-23 17:04:00 1060

转载 用hash关键字提高数据库性能

普通的SQL Server应用程序要求支持一个或几个长字符串搜索。(本文中,我们称超过20个字符的字符串为长字符串。)假如前端应用程序希望允许用户提供两个字符串;你启动一个执行这两个字符串搜索任务的存储程序,然后应用两个相关列目录对搜索进行优化。在小型的表格中,你可能注意不到产生的效果。但是,如果表格包含5 000万行,它就会影响存储程序与搜索性能。  应用称为hash关键字(引用单独一个ha

2008-06-23 17:01:00 751

转载 SQL Server死锁日志分析(打开1204标记)

 使用跟踪标记 1204--打开跟踪标记DBCC TRACEON (1204,-1)--关闭跟踪标记DBCC TRACEOFF (1204,-1)处于死锁状态时,跟踪标记 1204 在等待的线程、存在等待线程的资源和控制这些资源的线程间画出相关循环。跟踪标记 1204 报告中的术语尽管根据所涉及的资源,跟踪标记 1204 会返回不同信息,但是报告通常会包含如下术

2008-06-19 16:54:00 6091 1

原创 SQL Server对网络数据库文件的支持

  1.映射网络驱动器exec master..xp_cmdshell net use M: //ip/db "password" /user:ip/username检验驱动器是否可用exec   master..xp_cmdshell   dir M: 2. 默认情况下,不能在网络文件共享位置创建 SQL Server 数据库。尝试在映射的网络位置或 UNC 网络

2008-06-19 16:15:00 2995

转载 SQL2000 tip

1.建立索引create [UNIQUE or CLUSTERED or NONCLUSTERED] index index_name on table(column,...)2.建立unique,clustered,nonclustered,primary key 约束alter table tablename add constraint constraint_name [

2008-06-19 15:42:00 794

转载 Performance tuning tips for database developers

Performance tuning is not easy and there aren’t any silver bullets, but you can go a surprisingly long way with a few basic guidelines. In theory, performance tuning is done by a DBA. But in practic

2008-06-16 15:14:00 469

转载 SQL Server 索引基础知识(10)----Join 时的三种算法简介

我们书写查询语句的时候,Join 参数之前可以是下面三个 { LOOP | MERGE | HASH } JOIN  。 如果不使用,则系统自己分析那种方式快,使用那种方式。 这其实是SQL Server 联结时候使用的三种算法。尽管每种算法都并不是很复杂,但考虑到性能优化,在产品级的优化器实现时往往使用的是改进过的变种算法。譬如SQL Server 支持block nested loops、

2008-06-05 18:06:00 535

转载 SQL Server 索引基础知识(9)----Indexing for OR

我们仍然是通过例子来理解OR运算符的特征我们仍然使用 http://blog.joycode.com/ghj/archive/2008/01/18/113870.aspx 中的 member 表,这时候,这个表的索引如下: 名字 描述 列

2008-06-05 17:51:00 427

转载 SQL Server 索引基础知识(8)--- 数据基本格式补充

我在SQL Server 索引基础知识系列中,第一篇就讲了记录数据的基本格式。那里主要讲解的是,数据库的最小读存单元:数据页。一个数据页是8K大小。对于数据库来说,它不会每次有一个数据页变化后,就存到硬盘。而是变化达到一定数量级后才会作这个操作。 这时候,数据库并不是以数据页来作为操作单元,而是以64k的数据(8个数据页,一个区)作为操作单元。区是管理空间的基本单位。一个区是八个物理上连续

2008-06-05 17:48:00 380

转载 SQL Server 索引基础知识(7)----Indexing for AND

我们通过一个实例来看 有And 操作符时候的最常见的一种情况。我们有下面一个表,CREATE TABLE [dbo].[member]( [member_no] [dbo].[numeric_id] IDENTITY(1,1) NOT NULL, [lastname] [dbo].[shortstring] NOT NULL, [firstname] [dbo].[shortstring] N

2008-06-05 17:46:00 374

转载 SQL Server 索引基础知识(6)----索引的代价,使用场景

前几天给同事培训了聚集索引,非聚集索引的知识后,在一个同事新作的项目中,竟然出现了滥用聚集索引的问题。看来没有培训最最基础的索引的意义,代价,使用场景,是一个非常大的失误。这篇博客就是从这个角度来罗列索引的基础知识。 使用索引的意义 索引在数据库中的作用类似于目录在书籍中的作用,用来提高查找信息的速度。 使用索引查找数据,无需对整表进行扫描,可以快速找到所需数

2008-06-05 17:41:00 541

转载 磁盘 I/O 性能

如果将 SQL Server 配置成仅包含几个千兆字节 (GB) 的数据,且不承担繁重的读或写活动,便没有太大的必要关注磁盘 I/O 主题,以及在硬盘之间平衡 SQL Server I/O 活动以获取最佳性能。但是要建立包含成百上千 GB 字节的数据且/或承担繁重的读和/或写活动的大型 SQL Server 数据库,就有必要在多个硬盘之间平衡负荷,以配置最佳的 SQL Server 磁盘 I/O

2008-06-05 17:35:00 846

转载 SQL Server 索引基础知识(5)----理解newid()和newsequentialid()

在SQL Server 2005 中新增了一个函数:newsequentialid(),MSDN 中对这个函数的描述如下:在指定计算机上创建大于先前通过该函数生成的任何 GUID 的 GUID。NEWSEQUENTIALID() 不能在查询中引用。NEWSEQUENTIALID() 只能与 uniqueidentifier 类型表列上的 DEFAULT 约束一起使用。这个函数的具体用法在下

2008-06-05 16:54:00 512

转载 SQL Server 索引基础知识(4)----主键与聚集索引

有些人可能对主键和聚集索引有所混淆,其实这两个是不同的概念,下面是一个简单的描述。不想看绕口文字者,直接看两者的对比表。尤其是最后一项的比较。主键(PRIMARY KEY )来自MSDN的描述:表通常具有包含唯一标识表中每一行的值的一列或一组列。这样的一列或多列称为表的主键 (PK),用于强制表的实体完整性。在创建或修改表时,您可以通过定义 PRIMARY KEY 约束来创建主键。

2008-06-05 16:46:00 449

转载 SQL Server 索引基础知识(3)----测试中一些常看的指标和清除缓存的方法

之前的两篇博客中有2个例子,来演示要讲述的内容。其中提到了部分查看数据库状态的方法,那里并不是很全面,这篇博客罗列几个我们在后面系列博客中会用到查看这些状态,数据的地方。以及测试中清除缓存的方法。前面两篇博客的链接地址如下:SQL Server 索引基础知识(1)--- 记录数据的基本格式 http://blog.joycode.com/ghj/archive/2008/01/02/11329

2008-06-05 16:41:00 982

转载 SQL Server 索引基础知识(2)----聚集索引,非聚集索引

不论是 聚集索引,还是非聚集索引,都是用B+树来实现的。我们在了解这两种索引之前,需要先了解B+树。如果你对B树不了解的话,建议参看以下几篇文章:BTree,B-Tree,B+Tree,B*Tree都是什么 http://blog.csdn.net/manesking/archive/2007/02/09/1505979.aspx B+ 树的结构图:B+ 树的特点: 所有

2008-06-05 16:30:00 411

转载 B树、B-树、B+树、B*树都是什么

B树       即二叉搜索树:       1.所有非叶子结点至多拥有两个儿子(Left和Right);       2.所有结点存储一个关键字;       3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;       如:              B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果

2008-06-05 15:42:00 447

转载 SQL Server 索引基础知识(1)--- 记录数据的基本格式

由于需要给同事培训数据库的索引知识,就收集整理了这个系列的博客。发表在这里,也是对索引知识的一个总结回顾吧。通过总结,我发现自己以前很多很模糊的概念都清晰了很多。不论是缓存的数据信息,还是物理保存的信息,他们的基本单位都是数据页。所以理解数据页是最最基础的知识点,本篇博客就介绍跟索引有关的数据页的一些基础知识。数据页的基础知识SQL Server 中数据存储的基本单位是页(Page)。

2008-06-05 14:02:00 470

原创 SQL Server批处理运行时错误的影响

 前言:批处理是同时从应用程序发送到 SQL Server 2005 并得以执行的一组单条或多条 Transact-SQL 语句。我们通常认为当一个批处理的多条语句中有一条发生运行时错误,将停止执行批处理中当前语句和它之后的语句。这使得在实际应用批处理的过程中会产生错误的结果。实际上不同的运行时错误会导致不同的影响。诸如算术溢出或约束冲突之类的运行时错误具有下面的影响: 1.大多数运行

2008-06-03 16:46:00 974

转载 SQL Server中约束的介绍

摘要对于SQL Server中的约束,想必大家并不是很陌生。但是约束中真正的内涵是什么,并不是很多人都很清楚的。本文以详细的文字来介绍了什么是约束,以及如何在数据库编程中应用和使用这些约束,来达到更好的编程效果。(本文部分内容参考了SQL Server联机手册)内容   数据完整性分类

2008-06-03 13:01:00 480

转载 SQLServer执行计划成本(续4)

Insert、Update和DeleteSQLServer里3个写操作是INSERT、UPDATE和DELETE(IUD)。如果加上约束、触发器和外键,写操作可以变得更复杂。这里仅关心基本的写操作。对于3个操作中的每一个,对于堆表和有聚集索引的表来说都有不同的图标,如图2-31、2-32和2-33所示。  图2-31.堆表和有聚集索引的表的Insert执行计划 图2-32.堆表和有聚集索引的

2008-06-02 16:43:00 1130

转载 SQLServer执行计划成本(续3)

循环、哈希与合并连接比较在分别讨论了循环、哈希与合并连接的执行计划成本规则之后,现在将3个连接类型放到适合各自条件的环境下一起比较。下面的图2-27显示了循环、哈希与合并连接在1P/2P系统上的启动成本。外部源和内部源启动成本描述了索引搜索的基本成本包括每行成本0.0000011。连接成本也除去第一行,这样似乎仅有个案是少量变化的。4P系统的启动成本仅在索引搜索基本成本(0.003283025)上

2008-06-02 16:41:00 593

转载 SQLServer执行计划成本(续2)

哈希连接 哈希和合并连接都是分开处理内部源和外部源的。连接条件不能用作搜索参数。当没有为表或存在的不合适的索引明确指定搜索参数时,就要对那个表进行扫描。有可能哈希和合并连接有书签查找操作,但也未必,除非强制指定连接类型。下面的查询明确声明一个哈希连接。连接操作里的每一个表指定了搜索条件,并且两个表都有聚集索引或覆盖索引。SELECT m.ID, n.ValueFROM M2C m INNER HA

2008-06-02 16:40:00 566

转载 SQLServer执行计划成本(续1)

聚合查询里使用聚合函数(MIN、MAX、COUNT、AVG或SUM)时发生流聚合(Stream Aggregate)和标量计算(Compute Scalar)如下所示。 SELECT COUNT(*), AVG(Value) FROM M2C_10 MIN和MAX函数要求流聚合操作。在执行计划里其他的函数要求流聚合后跟一个或多个标量计算操作。 图2-12.流聚合和标量计算的执行计划 图2-13.

2008-06-02 16:38:00 764

转载 SQLServer执行计划成本

表扫描当没有合适的索引时就发生表扫描操作。这可能意味着没有索引存在或者预期有很多行且比扫描整个表开销更少。如果表是一个堆表,执行计划显示表扫描操作;如果表有聚集索引或者所有需要的值都在一个非聚集索引里如图2-6显示,那么执行计划显示一个索引扫描操作。  图2-6.表扫描的执行计划和聚集索引扫描操作 图2-7和2-8显示表扫描和索引扫描操作的成本细节。索引扫描和表扫描有相同的成本结构。 图2-7.

2008-06-02 16:32:00 2270 1

转载 SQLServer定量性能分析

引言 描述揭示执行计划成本规则所必要的工具和测试脚本。查询成本和性能要达到我们的预期对表和索引有一些高水平的理解也是必要的。一些主题在其他地方有详细介绍,所以这里只做简短的讨论。SQLServer工具包括查询分析器和事件探查器。SET选项包括SET STATISTICS IO和SET SHOWPLAN_ALL。为揭示查询执行计划成本结构特别创建测试表。为测试表生成数据的脚本。  表组织和索引结构

2008-06-02 15:15:00 1199

转载 动态sql语句基本语法

1 :普通SQL语句可以用Exec执行 eg:   Select * from tableName          Exec(select * from tableName)          Exec sp_executesql Nselect * from tableName    -- 请注意字符串前一定要加N 2:字段名,表名,数据库名之类作为变量时,必须用动态SQL

2008-05-26 10:45:00 407

转载 漫谈SQL Server标识列

一、标识列的定义以及特点 SQL Server中的标识列又称标识符列,习惯上又叫自增列。 该种列具有以下三种特点: 1、列的数据类型为不带小数的数值类型 2、在进行插入(Insert)操作时,该列的值是由系统按一定规律生成,不允许空值 3、列值不重复,具有标识表中每一行的作用,每个表只能有一个标识列。 由于以上特点,使得标识列在数据库的设计中得到广泛的使用。 二、标识列的组成 创建一个标识列,通常

2008-05-22 10:46:00 556

转载 存储过程编写经验和优化措施

 介绍:在数据库的开发过程中,经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作。如果项目的SP较多,书写又没有一定的规范,将会影响以后的系统维护困难和大SP逻辑的难以理解,另外如果数据库的数据量大或者项目对SP的性能要求很,就会遇到优化的问题,否则速度有可能很慢,经过亲身经验,一个经过优化过的SP要比一个性能差的SP的效率甚至高几百倍。内容:1、开发

2008-05-21 11:28:00 416

转载 BULK INSERT Performance

BULK INSERT Performance一直以為BULK INSERT就不會記Log,結果今天跌了一跤...我下的語法如下(錯誤示範,小朋友不要學)TRUNCATE TABLE RESD BULK INSERT RESDEFROM C:/DataProc/Output/RESD.txtWITH(    FIELDTERMINATOR = /t,    ROWTERMI

2008-05-21 11:20:00 558

SQL大全(收集了比较常用的SQL代码)

SQL大全(收集了比较常用的SQL代码)

2009-11-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除