|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
每个Rows_log_event中包含event_type,可选值为WRITE_ROWS_EVENT、UPDATE_ROWS_EVENT、DELETE_ROWS_EVENT。从宏名字就能看出用途。游标的感化域
–Local:部分。
–Global:全局。在由毗连实行的任何存储历程或批处置中,都可使用该游标称号。
操纵游标
–界说游标:Declare<CursorName>cursor
–翻开游标:Open<CursorName>
–从了局集前往行:Fetch<CursorName>Into<variable_name>
–封闭游标:Close<CursorName>
–烧毁游标:Deallocate<CursorName>
静态创立游标
Declare@rowcountint
Exec(declarecur_testcursorglobalforselectcount(*)fromstorage_kcaccount)
Opencur_test
Fetchcur_testinto@rowcount
printconvert(varchar(10),@rowcount)
Closecur_test
Deallocatecur_test
利用游标变量
Declare@rowcountint
Declare@cur_testcursor
Set@cur_test=cursorforselectcount(*)fromstorage_kcaccount
Open@cur_test
Fetch@cur_testinto@rowcount
printconvert(varchar(10),@rowcount)
Close@cur_test
Deallocate@cur_test
3.3SQLServer2005表变量
界说表变量
Declare@t_userTable(UserIdint,UserNamevarchar(20))
表变量的长处
–表变量的举动相似于部分变量,有明白界说的感化域,在界说表变量的函数、存储历程或批处置停止时,会主动扫除此变量;
–table范例声明中的CHECK束缚、DEFAULT值和盘算列不克不及挪用用户界说函数;
–在存储过程当中利用table变量与利用一时表比拟,削减了存储历程的从头编译量;
–触及table变量的事件只在table变量更新时代存在。因而削减了table变量对锁定和纪录资本的需求。
表变量的弱点
–包括表变量的查询不会天生并行查询实行企图。特年夜型表变量大概庞大查询中的表变量大概会影响到功能。在这类情形下,请思索改用一时表。
4.视图优化
4.1.对视图的操纵比间接对表操纵要慢,应只管制止在年夜数据量的表上创建视图
4.2.只管不要利用嵌套视图
4.3.在视图中毗连多个表时,会影响功能
4.4.能够思索利用存储历程取代视图检索年夜型表数据
4.5.索引视图(WithSCHEMABINDING)
4.6.分区视图
4.1索引视图
索引视图是对视图创立会萃索引必需满意的前提,也就是说只要索引视图才干创立会萃索引。
–当实行CREATEVIEW语句时,ANSI_NULLS和QUOTED_IDENTIFIER选项必需设置为ON。
–要实行一切CREATETABLE语句以创立视图援用的表,ANSI_NULLS选项必需设置为ON。
–视图不克不及援用任何其他视图,只能援用基表。
–视图援用的一切基表必需与视图位于统一数据库中,而且一切者也与视图不异。
–必需利用SCHEMABINDING选项创立视图。架构绑定将视图绑定到基本基表的架构。
–必需已利用SCHEMABINDING选项创立了视图援用的用户界说函数。
–表和用户界说函数必需由视图中由两部分构成的称号援用。不同意由一部分、三部分和四部分构成的称号援用它们。
–视图中的表达式援用的一切函数必需是断定的。
–假如视图界说利用聚合函数,SELECT列表还必需包含COUNT_BIG(*)。
–用户界说函数的数据会见属性必需为NOSQL,内部会见属性必需是NO。
–大众言语运转时(CLR)函数只能显现在视图的SELECT列表中,而且只能援用不属于会萃索引键的字段。先说DDL的分类。有一类DDL,是不需要重建表的,比如加非聚簇索引。这类操作其实不会丢数据,也是在原表上直接操作,对于我们“以恢复数据为目的”的闪回,是可以先忽略的。另外一类,则是会影响到表数据的操作。 |
|