摘要: 本篇文章着重讨论两个问题:1、主键设为Int型与Varchar型,性能有何差异?2、非聚集索引在大数量下能否提高性能?测试环境:Cpu:T2300 1.66G 内存:1G系统:Windows Xp Sp3数据库:SQL Server 2005步骤:一、建立两个表字段ABdtAdtB表:TestA类型intvarchardatetimedatetime说明主键 字段ABdtAdtB表:TestB类型intvarchardatetimedatetime说明 主键 非聚集索引二、填充数据declare@aintset@a=1useextdatawhile(@a<5000000)beginins 阅读全文
posted @ 2011-05-17 17:52 Code技术人生 阅读(681) 评论(0) 推荐(0) 编辑
摘要: 创建索引索引被创建于已有的表中,它可使对行的定位更快速更有效。可以在表格的一个或者多个列上创建索引,每个索引都会被起个名字。用户无法看到索引,它们只能被用来加速查询。注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常用于搜索的列上面创建索引。唯一的索引 (Unique Index)在表格上面创建某个一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。CREATE UNIQUE INDEX 索引名称ON 表名称 (列名称) "列名称" 规定你需要索引的列。简单的索引在表上创建一个简单的索引。当我们省 阅读全文
posted @ 2011-05-17 17:50 Code技术人生 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 什么是索引拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K 。为了加快查找的速度,汉语字(词)典一般都有按拼音、笔画、偏旁部首等排序的目录(索引),我们可以选择按拼音或笔画查找方式,快速查找到需要的字(词)。同理,SQL Server允许用户在表中创建索引,指定按某列预先排序,从而大大提高查询速度。• SQL Server中的数据也是按页( 4KB )存放• 索引:是SQL Server编排数据的内部方法。它为SQL Server提供一种方法来编排查询数据 。• 索引页:数据库中存储索引的数据页;索引页类似于 阅读全文
posted @ 2011-05-17 17:44 Code技术人生 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 索引是以表列为基础的数据库对象。索引中保存着表中排序的索引列,并且纪录了索引列在数据库表中的物理存储位置,实现了表中数据的逻辑排序。通过索引,可以加快数据的查询速度和减少系统的响应时间;可以使表和表之间的连接速度加快。 但是,不是在任何时候使用索引都能够达到这种效果。若在不恰当的场合下,使用索引反而会事与愿违。所以,在SQL Server数据库中使用索引的话,还是需要遵守一定的规则。笔者觉得,主要是需要遵守六大铁律。 铁律一:天下没有免费的午餐,使用索引是需要付出代价的。 索引的优点有目共睹,但是,却很少有人关心过采用索引所需要付出的成本。若数据库管理员能够对索引所需要付出的代价有一个充分的认 阅读全文
posted @ 2011-05-17 17:35 Code技术人生 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 关键字: 字符串 截取 SUBSTRING 返回字符、binary、text 或 image 表达式的一部分。有关可与该函数一起使用的有效 Microsoft&reg; SQL Server&#8482; 数据类型的更多信息,请参见数据类型。 语法 SUBSTRING ( expression , start , length ) 参数 expression 是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。 start 是一个整数,指定子串的开始位置。 length 是一个整数,指定子串的长度(要返回的字符数或字节数)。 subs 阅读全文
posted @ 2011-05-17 16:10 Code技术人生 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 插入一条记录后想要立刻获取其数据表中的主键返回值。这个主键是自动生成的,其实实现的方式有很多,比如再进行一次查询,获取出来等。 插入一条记录后想要立刻获取其数据表中的主键返回值。这个主键是自动生成的,其实实现的方式有很多,比如再进行一次查询,获取出来。或者在插入数据之前取出最大值,在最大值上面加一等等,方法很多,但是有些很不方便。 个人感觉最快的方式就是,在插入数据后直接获取主键的值,然后返回过来。 方法如下: sql语句如下:INSERTINTOtableName(fieldname...)values(value...)SELECT@@IDENTITYASreturnName; 在sql. 阅读全文
posted @ 2011-05-17 10:57 Code技术人生 阅读(4658) 评论(0) 推荐(0) 编辑
摘要: 此转载源自李洪根的blog.作者是微软的MVP!希望大家参考以下3种方案,按实际情况选择!建立表:CREATE TABLE [TestTable] ([ID] [int] IDENTITY (1, 1) NOT NULL ,[FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,[LastName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,[Country] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,[Note] [n 阅读全文
posted @ 2011-05-17 00:04 Code技术人生 阅读(229) 评论(0) 推荐(0) 编辑