|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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语句,只是包含了将数据恢复的操作。 |
|