摘要: 建立分区表 1 create table F_IMEI_CELL_DY_20120508BAK 2 ( 3 IMEI_KEY VARCHAR2(32), 4 DAY_KEY NUMBER(22), 5 TACTYPE_KEY NUMBER(22... 阅读全文
posted @ 2012-05-10 09:50 PoleStar 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 分区应用 一般一张表超过2G的大小,ORACLE是推荐使用分区表的。分区一般都需要创建索引,说到分区索引,就可以分为:全局索引、分区索引,即:global索引和local索引。前者并不对索引进行分区(索引也是表结构,索引大了也需要分区),而全局索引可修饰为分区索引(我的理解是 分区表的分区索引),... 阅读全文
posted @ 2012-05-07 15:42 PoleStar 阅读(823) 评论(0) 推荐(0) 编辑
摘要: 子例程,函数 子例程,函数的作用域是指在程序中能够看到它的位置范围。子例程是全局的,可以放在脚本中的任意位置,甚至放在其他脚本文件中。当使用来自其他文件的子例程时,应当使用关键字do,require或use将它加载到脚本里。若要调用一个子例程,用户可以在子例程前加上&符号,或在子例程前加上do关键字,也可以在子例程名后面加上一组括号。如果使用了向前引用(forward reference),在调用子例程时就不需要提供&或括号。 1 Subroutine declaration: 2 sub subroutine_name; 3 Subroutine definition: 4 阅读全文
posted @ 2012-05-03 09:57 PoleStar 阅读(9918) 评论(0) 推荐(0) 编辑
摘要: 符号表 每个包都有自己的一个符号表,它是一个哈希表;关键字是包中的变量名、文件句柄、目录句柄以及子例程,值是typeglob每个符号都被赋予一个typeglob(即*x),它表示所有名为x的类型。 每个包都有自己的符号表。无论何时使用包声明,都要切换到该包的符号表。从一个包中访问另外一个包的变量,可通过“ 包名 + 双冒号( :: ) + 变量名 " 的方式指定。由于 my 函数赋值的变量不能从其所在的包外面访问,而且它也没有存储在包符号表中,而是存储在为每个子程序所创建的缓冲区里。因此,在使用 "my" 变量时,用户无法通过包的符号表来访问它们,因为它们根本不在 阅读全文
posted @ 2012-05-02 16:40 PoleStar 阅读(2520) 评论(0) 推荐(0) 编辑
摘要: 重建索引 如果表中记录频繁地被删除或插入,尽管表中的记录总量保持不变,索引空间的使用量会不断增加。虽然记录从索引中被删除,但是该记录索引项的使用空间不能被重新使用。因此,如果表变化不定,索引空间量会不断增加,不论表中记录数量是否增加,这是因为索引中无效空间会增加。 要回收那些曾被删除记录使用的空间... 阅读全文
posted @ 2012-04-27 15:16 PoleStar 阅读(686) 评论(0) 推荐(0) 编辑
摘要: B树索引的访问当oracle进程需要访问数据文件里的数据块时,oracle会有两种类型的I/O操作方式:1) 随机访问,每次读取一个数据块(通过等待事件“db file sequential read”体现出来)。2) 顺序访问,每次读取多个数据块(通过等待事件“db file scattered ... 阅读全文
posted @ 2012-04-27 15:11 PoleStar 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 索引概述 索引与表一样,也属于段(segment)的一种。里面存放了用户的数据,跟表一样需要占用磁盘空间。只不过,在索引里的数据存放形式与表里的数据存放形式非常的不一样。在理解索引时,可以想象一本书,其中书的内容就相当于表里的数据,而书前面的目录就相当于该表的索引。同时,通常情况下,索引所占用... 阅读全文
posted @ 2012-04-27 11:57 PoleStar 阅读(636) 评论(0) 推荐(0) 编辑
摘要: Posix共享内存区涉及两个步骤:1、指定一个名字参数调用shm_open,以创建一个新的共享内存区对象或打开一个以存在的共享内存区对象。2、调用mmap把这个共享内存区映射到调用进程的地址空间。传递给shm_open的名字参数随后由希望共享该内存区的任何其他进程使用。相关函数: 1 shm_open()函数 2 功能: 打开或创建一个共享内存区 3 头文件: #include <sys/mman.h> 4 函数原形: int shm_open(const char *name,int oflag,mode_t mode); 5 返回值: 成功返回0,出错返回-1 6 ... 阅读全文
posted @ 2012-04-23 10:01 PoleStar 阅读(2172) 评论(0) 推荐(1) 编辑
摘要: 共享内存区是最快的可用IPC形式。它允许多个不相关的进程去访问同一部分逻辑内存。如果需要在两个运行中的进程之间传输数据,共享内存将是一种效率极高的解决方案。一旦这样的内存区映射到共享它的进程的地址空间,这些进程间数据的传输就不再涉及内核。这样就可以减少系统调用时间,提高程序效率 共享内存是由IPC为一个进程创建的一个特殊的地址范围,它将出现在进程的地址空间中。其他进程可以把同一段共享内存段“连接到”它们自己的地址空间里去。所有进程都可以访问共享内存中的地址。如果一个进程向这段共享内存写了数据,所做的改动会立刻被有访问同一段共享内存的其他进程看到。 要注意的是共享内存本身没有提供任何同步... 阅读全文
posted @ 2012-04-23 09:49 PoleStar 阅读(1095) 评论(0) 推荐(0) 编辑
摘要: 信号灯用来实现同步——用于多线程,多进程之间同步共享资源(临界资源)。信号灯分两种,一种是有名信号灯,一种是基于内存的信号灯。有名信号灯,是根据外部名字标识,通常指代文件系统中的某个文件。而基于内存的信号灯,它主要是把信号灯放入内存的,基于内存的信号灯,同步多线程时,可以放到该多线程所属进程空间里;如果是同步多进程,那就需要把信号灯放入到共享内存中(方便多个进程访问)。 有名信号灯和基于内存的信号灯,具体区别体现在创建和销毁两个函数。有名信号灯使用sem_open和sem_close函数。基于内存的信号灯使用sem_init和sem_destroy函数。sem_init的参数可以控制是同... 阅读全文
posted @ 2012-04-18 16:32 PoleStar 阅读(1113) 评论(0) 推荐(0) 编辑