深入浅出 SQL Server 查询优化[转]
摘要:目前网络数据库的应用已经成为最为广泛的应用之一了,并且关于数据库的安全性,性能都是企业最为关心的事情。数据库渐渐成为企业的命脉,优化查询就解决了 每个关于数据库应用的性能问题,在这里 microsoft sql server 又为我们做了些什么,我们一起关注。 优化查询我们理解起来貌似很抽象,概括范围十分的大,关于数据库这里的优化查询其实很简单,做一个简单的例子。一个数据包经过无数的路由器达到自己的目的 地址,如果在经过每个路由器的时候,路由器都会给他指向最近的路,那么他抵达的速度也就是最快的。在数据库中也是一样,查询优化就是建立一个一个的路标, 就是给这本厚厚的书,写一份简单快捷好用的目录.
阅读全文
posted @
2013-05-18 08:49
davidkam
阅读(182)
推荐(0)
SQL Server 2005 创建分区表(转)
摘要:背景:随着公司的业务迅猛发展,导致部分数据表的数据量剧增(T_ZK_C0075ALog、T_ZK_C007ALog),无法满足用户对查询效率、性能的要求。 意义:在于将大数据从物理上切割为几个相互独立的小部分,从而在查询时只取出其中一个或几个分区,减少影响的数据;另外,对置于不同文件组的分区,并行查询的性能也要高于对整个表的查询性能。 事实上,在SQL Server 2005 中就已经包含了分区功能,甚至在2005之前,还存在一个叫做“Partitioned Views”的功能,能通过将同样结构的表Union在一个View中,实现类似现在分区表的效果。而在SQL Server 2008 中,分
阅读全文
posted @
2013-05-18 08:47
davidkam
阅读(214)
推荐(0)
sql分区-纵向分表与横向分区表(转)
摘要:1. 纵向分表 纵向分表是指将一个有20列的表根据列拆分成两个表一个表10列一个表11列,这样单个表的容量就会减少很多,可以提高查询的性能,并在一定程度上减少锁行,锁表带来的性能损耗。纵向分表的原则是什么呢,应该怎样拆分呢?答案是根据业务逻辑的需要来拆分,对于一张表如果业务上分两次访问某一张表其中一部分数据,那么就可以根 据每次访问列的不同来做拆分; 另外还可以根据列更新的频率来拆分,例如某些列每天要更新3次,有些列从创建开始基本上很少更新。举例: 假定场景,我有一张用户表,这张表包含列: ID, UserName, Password, RealName, Gender, Email, IsE
阅读全文
posted @
2013-05-18 08:41
davidkam
阅读(911)
推荐(0)
读写分离,就该这么改进(转)
摘要:本文是自己对读写分离数据库方面的一些改进想法一般做数据库读写分离的标准情况是:1台写入数据库+2台查询数据库+1个请求转发器这样的配置容易出现这样的问题:1. 写数据库的写入成为瓶颈2. 查询所需时间还是很长(由于表很大导致)下面这些办法,欢迎大家给出各自的看法解决办法一: 1. 查询数据库:增加内存,以达到通过内存就可以获取大多数的数据,较少I/O耗时带来的延迟 2. 写入数据库:删除索引,以达到最快速的I/O写入耗时这样做的问题是:没有针对特别耗时的查询单独处理,因此当执行某些耗时的查询时,会显得特别慢解决办法二: 1. 查询数据库分成2种,分别为:普通数据读取数据库、特别耗时查询数据库
阅读全文
posted @
2013-05-18 08:34
davidkam
阅读(202)
推荐(0)
数据库设计规范化的五个要求
摘要:数据库逻辑设计是优化关系数据库的核心。而数据库设计的规范化则是这个核心的核心。一个规范化的逻辑数据库,可以为数据库管理员优化数据库和应用程序性能打下坚实的基础。相反,若逻辑数据库设计不规范,则会损害整个数据库,包括应用程序的性能。 通常情况下,可以从两个方面来判断数据库是否设计的比较规范。一是看看是否拥有大量的窄表,二是宽表的数量是否足够的少。若符合这两个条件,则可以说明这个数据库的规范化水平还是比较高的。当然这是两个泛泛而谈的指标。为了达到数据库设计规范化的要求,一般来说,需要符合以下五个要求。 要求一:表中应该避免可为空的列。 虽然表中允许空列,但是,空字段是一种比较特殊的数据类型。...
阅读全文
posted @
2013-05-10 19:30
davidkam
阅读(318)
推荐(0)
[PD]使用PowerDesign进行逆向工程
摘要:总结:PowerDesign 可以使用两种方式进行逆向工程 1、从数据库中到处pdm(需要建立odbc数据源) a、使用控制面板-管理工具-odbc数据源 建立 或 b、在pd中建立数据源 2、从sql 脚本导出 pdm 转载文章:如何用Powerdesigner的PDM(物理数据模型)生成数据库及逆向工程(将现有的数据库生成PDM)pdm做好后,最终是要将其转化为数据库实体的。 1.确认当前Powerdesigner设置的dbms是否正确,即是否是我们要生成的数据库类型,我在这里使用的是sqlserver2000: Powerdesigner->数据库->更改当前dbms,选择您
阅读全文
posted @
2013-04-08 17:28
davidkam
阅读(634)
推荐(0)
RBAC用户角色权限设计方案(转)
摘要:RBAC用户角色权限设计方案 RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用 户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)角色是什么?可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员”、“版主”都是角色。版主可管理版内的帖子、可管理版内的用户等,这些是权限。要给某个用户授予这些权限,不需要直接将权限授予用户,可将“版主”这个角色赋予该用户。当用户的数量非常大时,.
阅读全文
posted @
2013-03-22 10:58
davidkam
阅读(291)
推荐(0)
查询及删除重复记录的方法大全
摘要:查询及删除重复记录的方法大全 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录delete from people where peopleId in (select peopleId from people group by peopl
阅读全文
posted @
2013-01-26 01:39
davidkam
ms sql 读写分离
摘要:ms sql 读写分离http://www.cnblogs.com/sk-net/archive/2011/08/21/2148621.htmlSQL Server提供了复制机制来帮我们实现主从库的机制。我们看下如何在sql server 2005中实践:实践前需要新创建一个Test的数据库,这个库中建一个测试表。1.打开sql server企业管理器,在对象资源管理器里面选择复制à本地发布,右键选择新建发布2.打开新建发布向导,点下一步,选择发布数据的数据库3.我们选择Test数据库,并点击下一步,选择发布类型这里我们选择的是事务性发布,事务性发布保证数据在做更新之后尽可能快的分发
阅读全文
posted @
2013-01-14 10:49
davidkam
阅读(714)
推荐(0)
sqlserver把小数点后面多余的0去掉(转)
摘要:select 5000/10000.0 --想变成0.5select 5500/10000.0 --想变成0.55select 5550/10000.0 --想变成0.555select 5555/10000.0 --想变成0.5555其结果分别为:0.5000000 0.5500000 0.5550000 0.5555000一、如果想去掉数字5后面多余的0 ,需要转化一下:select CONVERT(FLOAT,5000/10000.0) --想变成0.5select CONVERT(FLOAT,5500/10000.0) --想变成0.55select CONVERT(FLOAT,555
阅读全文
posted @
2012-09-13 10:51
davidkam
阅读(1159)
推荐(0)
SQLServer全文搜索(转)
摘要:全文搜索的核心引擎建立在Microsoft Full-Text Engine for SQL Server (MSFTESQL) 服务提供支持使用全文搜索可以快速、灵活地为存储在 Microsoft SQL Server 数据库中的文本数据的基于关键字的查询创建索引。与仅适用于字符模式的 LIKE 谓词不同,全文查询将根据特定语言的规则对词和短语进行操作,从而针对此数据执行语言搜索在 Microsoft SQL Server 2005 中,全文搜索用于提供企业级搜索功能。由于在性能、可管理性和功能方面的显著增强,全文搜索可为任意大小的应用程序提供强大的搜索功能。对大量非结构化的文本数据进行查询
阅读全文
posted @
2012-09-11 15:50
davidkam
阅读(191)
推荐(0)