常駐記憶體是什麼
?如何常駐記憶體?下面由小編來和大家一起了解吧!
常駐記憶體是一種輔助工具程式,能假裝退出,而仍駐留於記憶體當中,讓你執行其它的應用。
常駐記憶體,這個術語來自MSDOS的時代。MSDOS是單任務的執行環境,系統一般不允許兩個以上程式同時執行。也就是說,如果你正在執行一個任務,而又想執行另外一個任務,你必須退出當前的任務。有一種輔助工具程式,能假裝退出,而仍駐留於記憶體當中,讓你執行其它的應用。而當你需要的時候,可以用熱鍵隨時把該駐留程式啟用。這樣就看起來像多工,並用這種方式為使用者提供方便。一般這樣的程式都是很小的應用程式。佔用記憶體極少。或者佔用高階記憶體。在現代的多工作業系統中,常駐記憶體程式,只不過是個名詞而已,其內涵早就失去了實際意義。這不是說沒有可以常駐記憶體的程式,而是把程式區分為常駐記憶體和非常駐記憶體,無論從技術或者使用的角度來說,都毫無意義。
如何常駐記憶體
***create table 表名 ***欄位*** storage ***buffer_pool keep***; --建表時把表快取到KEEP中
alter table 表名 storage***buffer_pool keep***;--把已存在的表快取至KEEP中
create table 表名***欄位..*** storage ***buffer_pool keep*** cache;--建立快取表
ALTER TABLE Table_Name STORAGE *** BUFFER_POOL KEEP*** ;
oracle的db_buffer_pool由三部分組成:
buffer_pool_defualt
buffer_pool_keep
buffer_pool_recycle
如果要把表釘死在記憶體中,也就是把表釘在keep區。
相關的命令為:
alter table ..... storage***buffer_pool keep***;
這句命令把表示表如果快取的話是快取在keep區。
可以通過語句:
select table_name from dba_tables where buffer_pool='KEEP';查詢到改表是放在keep區中的。
但是不意味著表已經被快取了。
下面的語句把表快取:
alter table .... cache;
可以通過
select table_name from dba_ tables where rtrim***cache***='Y'
查詢到該表已經被快取了。
加入到keep區的表不是說不能被移出記憶體,不過是比較不容易移出記憶體。
也可以手工來移出記憶體,命令如下:
alter table ... nocache;
例項
--select *from sms_accounts
--alter table sms_accounts storage***BUFFER_POOL KEEP***
--alter table ECHOBASE20110515 storage***BUFFER_POOL KEEP***
--select table_name from dba_tables where buffer_pool='KEEP'
--alter table sms_accounts cache
--alter table ECHOBASE20110515 cache
--select table_name,cache from user_tables where table_name='ECHOBASE20110515'
--select table_name,cache from user_tables where table_name='SMS_ACCOUNTS'
如何區分山寨記憶體卡