仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1347|回复: 8
打印 上一主题 下一主题

[学习教程] SQL基本教程及代码优化(三)

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:19:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
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:14 | 只看该作者
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
分手快乐 该用户已被删除
板凳
发表于 2015-1-26 05:28:25 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
不帅 该用户已被删除
地板
发表于 2015-2-4 14:51:15 | 只看该作者
不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关
莫相离 该用户已被删除
5#
发表于 2015-2-10 02:22:05 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
小女巫 该用户已被删除
6#
发表于 2015-2-28 18:08:51 | 只看该作者
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
海妖 该用户已被删除
7#
发表于 2015-3-10 05:54:05 | 只看该作者
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
柔情似水 该用户已被删除
8#
发表于 2015-3-17 05:10:29 | 只看该作者
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
冷月葬花魂 该用户已被删除
9#
发表于 2015-3-23 22:25:10 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表