(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'
oracle如何讓表常駐記憶體?
1.前言。如題。2.如何常駐記憶體 摘自 create table 表名 字段 storage buffer pool keep 建表時把表快取到keep中 alter table 表名 storage buffer pool keep 把已存在的表快取至keep中 create table 表名 ...
常駐記憶體理解
比如你扔了乙個物件到容器裡,那麼你每次從容器裡拿這個物件,都是這乙個物件 那麼你某個請求裡改了這個物件的某個引數,其他請求進來,這個引數也是修改過的,第二點就是協程切換,乙個程序可以同時處理多個請求 然後每個請求裡靜態變數 容器物件啥的也是共用的,但同時處理的只有一處 這就導致你呼叫了協程切換的 a...
Android如何讓APP程序常駐記憶體?
目前google已經意識到這些問題,所以在android n中取消了action new picture,connectivity action等廣播。這種程序保活方式非常簡單,就是採用系統介面,啟動前台service,這樣你會在通知欄看到乙個notification,讓使用者明確的感知到你在執行中...