深爱那片海 发表于 2015-1-16 22:36:23

MSSQL网页编程之创立实体化视图的几个注重点

在执行崩溃恢复时,理解在一个数据库中的每一个表tbl_name对应的在数据库目录中的3个文件是很重要的:创立|视图
1。假如要创立基表是别的用户表的实体化视图,那末必要给实体化视图的owner付与以下权限:
grantCREATEANYMATERIALIZEDVIEWtousername;
grantSELECTANYTABLEtousername;
假如要创立refreshoncommit的视图,那末还必要上面这个权限:
grantONCOMMITREFRESHtousername;

2。创立refreshoncommit的语法以下,此类实体化视图在基表的事件commit以后,就会立即革新
CREATEMATERIALIZEDVIEWMV_T1
REFRESHFASTONCOMMITWITHPRIMARYKEYASSELECT*FROMkamus.t1;

3。假如不指定oncommit,那末默许是ondemand,只要手工挪用DBMS_MVIEW包中的革新历程,实体化视图才会被革新

4。指定了startwith...next...选项以后,第一次创立会有作一次完全革新,然后在指定的工夫距离以后会准时革新,本例中革新距离为1分钟。
语法以下:
CREATEMATERIALIZEDVIEWMV_T1
REFRESHFASTSTARTWITHSYSDATENEXTsysdate+1/24/60WITHPRIMARYKEYASSELECT*FROMkamus.t1;
反省USER_REFRESH视图和USER_JOBS视图,我们能够发明startwith...next...语法也就是Oracle主动创立了一个革新组,这个革新组的称号跟实体化视图称号不异,而且IMPLICIT_DESTROY属性为Y,暗示只需该组中的实体化视图删除该组也主动被删除。同时,创立了一个JOB,JOB中的waht属性是dbms_refresh.refresh("SCOTT"."MV_T1");
天然,因为主动革新是经由过程JOB完成的,那末初始化参数job_queue_processes必需年夜于0,如许JOB才会一般运转。

5。能够本人创立革新组来准时革新,我之前的这篇文章中有创立革新组的办法:
http://blog.csdn.net/kamus/archive/2004/09/18/108496.aspx
闪回的目的是要让数据库在commit之后,还能恢复到之前的某个状态,整库或指定的表。

小妖女 发表于 2015-1-19 18:09:58

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

莫相离 发表于 2015-1-25 18:32:53

分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。

透明 发表于 2015-2-3 12:58:23

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。

愤怒的大鸟 发表于 2015-2-9 01:55:15

从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。

精灵巫婆 发表于 2015-3-16 05:37:33

从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。

简单生活 发表于 2015-3-22 20:13:42

连做梦都在想页面结构是怎么样的,绝非虚言
页: [1]
查看完整版本: MSSQL网页编程之创立实体化视图的几个注重点