仓酷云

标题: SQL基本教程及代码优化(三) [打印本页]

作者: 小魔女    时间: 2015-1-16 14:19
标题: SQL基本教程及代码优化(三)
Archive非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差1.5.冗余VS第三范式
1.第一范式(1NF)是指数据库表的每列都是不成支解的基础数据项,统一列中不克不及有多个值,即实体中的某个属性不克不及有多个值大概不克不及有反复的属性。表的每行只包括一个实例的信息。普通地说,每一个列只能包括一种寄义,每条数据只能包括一个表数据。

2.第二范式(2NF)请求数据库表中的每一个实例或行必需能够被唯一区域分。普通地说,表必需有主键。(打消部份子函数依附)

3.第三范式(3NF)请求一个数据库表中不包括已在别的表中已包括的非主关头字信息。普通地说,表不该该包含冗余栏位。(打消传送依附)

4.优化目标的冗余:以空间换工夫。削减连接和庞大度。

5.静态化目标的冗余:削减对外纠葛。

1.6.表的程度、垂直支解
1.6.1.程度支解:将表分为多个表。
每一个表包括的列数不异,可是行更少。如保留分歧月份数据的表、按地区分别数据的表。(团结视图手艺、数据转移)

1.6.2.垂直支解:将原始表分红多个只包括较少列的表。
如部排列只用于特定范畴

2.Select语句优化
2.1.毗连查询的优化(Inner/outer/full)
–InnerJoin:两个表都满意毗连前提
–Left[Outer]Join:只需求左边表满意前提
–Right[Outer]Join:只需求右边表满意前提
–Full[Outer]Join:左边表或右边表之一满意前提
–CROSSJOIN:交织毗连,无前提。

2.2.把持查询的行和列数目
–(1)Where(不前往无用的纪录)
–(2)Top/SetRowCount
–(3)得当利用Distinct
–(4)Having
–(5)只管制止利用’*’暗示一切列

2.3.慎用Distinct

2.4.慎用Union
–利用OR或UnionAll取代

2.5.存在性判别
–交换count(*)

2.1.SQLServer2005的排名函数
row_number:前往行序号,序号一连。
例:row_number()over(orderbyscoredesc)asrownumber
?rank:前往每行的排名,排名能够并列,并列排名后的下行排名按次不即是前行加1,即排名不一连。

Dense_rank:前往每行的排名,排名能够并列,并列排名后的下行排名按次即是前行加1,即排名一连。

ntile:将有序分区中的行分发到指定命目标组中。
例:ntile(4)over(orderbyscoredesc)asntile
1Identity()因此我们的方案中要构造这种逆操作。Event_type增加一种FLASHBACK_EVENT。这类操作形式与Query_Event相同,都是简单的SQL语句,只是包含了将数据恢复的操作。
作者: 再现理想    时间: 2015-1-18 12:53
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
作者: 分手快乐    时间: 2015-1-26 05:28
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
作者: 不帅    时间: 2015-2-4 14:51
不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关
作者: 莫相离    时间: 2015-2-10 02:22
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
作者: 小女巫    时间: 2015-2-28 18:08
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
作者: 海妖    时间: 2015-3-10 05:54
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
作者: 柔情似水    时间: 2015-3-17 05:10
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
作者: 冷月葬花魂    时间: 2015-3-23 22:25
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2