12
返回列表 发新帖
楼主: ruolin7034

提问:oracle 内存表,有了解的请进

[复制链接]
论坛徽章:
1
2009日食纪念
日期:2009-07-22 09:30:00
11#
 楼主| 发表于 2009-12-5 15:26 | 只看该作者

回复 #9 Yong Huang 的帖子

知道,PL/SQL tables。
是否能给说一说关于PL/SQL associative array,能否给简单描述一下,是否能满足我的需求,具体的知识我去学习了解。
刚接触,手里资料比较少,貌似资料也不是太好早,帮忙指导一下。谢谢!!

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
20
祖国60周年纪念徽章
日期:2009-10-09 08:28:00数据库板块每日发贴之星
日期:2011-02-20 01:01:01ITPUB季度 技术新星
日期:2011-04-02 10:31:09ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042012新春纪念徽章
日期:2012-01-04 11:54:26玉石琵琶
日期:2012-02-21 15:04:38最佳人气徽章
日期:2012-03-13 17:39:18ITPUB 11周年纪念徽章
日期:2012-10-09 18:09:192013年新春福章
日期:2013-02-25 14:51:242011新春纪念徽章
日期:2011-02-18 11:43:33
12#
发表于 2009-12-5 22:17 | 只看该作者
汗 timesten 是内存数据库了 不是一个概念

使用道具 举报

回复
论坛徽章:
47
蒙奇·D·路飞
日期:2017-03-27 08:04:23马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11一汽
日期:2013-09-01 20:46:27复活蛋
日期:2013-03-13 07:55:232013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
13#
发表于 2009-12-6 04:47 | 只看该作者
原帖由 ruolin7034 于 2009-12-5 01:26 发表
知道,PL/SQL tables。
是否能给说一说关于PL/SQL associative array,能否给简单描述一下,是否能满足我的需求,具体的知识我去学习了解。
刚接触,手里资料比较少,貌似资料也不是太好早,帮忙指导一下。谢谢!!


Don't rely on 手里资料. This is the time of the Internet!

Search on Google or Yahoo. Among many sources, here's one:
http://www.oracle.com/technology ... _Varchar2/start.htm

And of course the official documentation must be read:
http://www.oracle.com/pls/db102/ ... ssociative+array%22

Yong Huang

使用道具 举报

回复
论坛徽章:
1
2009日食纪念
日期:2009-07-22 09:30:00
14#
 楼主| 发表于 2009-12-7 11:25 | 只看该作者

回复 #13 Yong Huang 的帖子

大概了解了一下,Associative array is the new name for index-by table (even earlier known as PL/SQL table).
其实就是index-by table呗!怎样定义,怎样使用,已经知道了。但是对index-by table 能做什么还不是很清除,它能应用在哪里,是否能满足我的需求,没想明白,请Yong Huang指点一下啊!!我的需求就是:让数据库里的一个表一直在内存中,或者内存中有一个数据库表的copy,实时得与数据库表的数据同步,目的是:提高查询效率!!加快对这个表的所做的一些分析计算的速度!!谢谢Yong Huang!!麻烦您给解释一下啊!!

使用道具 举报

回复
论坛徽章:
47
蒙奇·D·路飞
日期:2017-03-27 08:04:23马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11一汽
日期:2013-09-01 20:46:27复活蛋
日期:2013-03-13 07:55:232013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
15#
发表于 2009-12-7 23:38 | 只看该作者
> 我的需求就是:让数据库里的一个表一直在内存中

That has nothing to do with PL/SQL tables or PL/SQL associative arrays. To guarantee all your table data to stay inside memory, use TimesTen (which I have no experience in) or create the tablespace datafile on a RAM-based file system (and think carefully about how to recover data in case of power failure).

Yong Huang

使用道具 举报

回复
论坛徽章:
13
生肖徽章2007版:蛇
日期:2009-09-29 15:44:15ITPUB十周年纪念徽章
日期:2011-11-01 16:21:152010年世界杯参赛球队:日本
日期:2010-05-04 17:51:192010年世界杯参赛球队:南非
日期:2010-04-28 10:07:122010年世界杯参赛球队:希腊
日期:2010-04-23 16:19:412010新春纪念徽章
日期:2010-03-01 11:08:342010年世界杯参赛球队:科特迪瓦
日期:2010-01-27 14:47:432010年世界杯参赛球队:意大利
日期:2010-01-25 08:58:012010新春纪念徽章
日期:2010-01-04 08:33:08生肖徽章2007版:鼠
日期:2009-11-10 11:54:09
16#
发表于 2009-12-8 09:58 | 只看该作者

回复 #15 Yong Huang 的帖子

hi

could we use the parameter "DB_KEEP_CACHE_SIZE" to keep the table in memory?

使用道具 举报

回复
论坛徽章:
1
2009日食纪念
日期:2009-07-22 09:30:00
17#
 楼主| 发表于 2009-12-8 10:52 | 只看该作者

回复 #15 Yong Huang 的帖子

Yong Huang
times ten是要有投资的,暂时没有考虑用。
如果我对一个表,即做了storage(buffer_pool keep),又做了cache,那么,这表是不是就被放到了keep池的mru端?如果整个数据库只对这一个表进行这两种设置,而且我能计算出我这个表最多的数据量占用的最大的存储空间,将keep pool 的设置大于这个空间,是不是那个表就一直在内存中了呢?!在什么情况下它会被踢出内存呢?!
还有一点看了一下集合,不明白那个几个集合index-by,嵌套表,可变数组怎么应用??!能举个应用的小例子吗?!?谢谢了!!!

使用道具 举报

回复
论坛徽章:
47
蒙奇·D·路飞
日期:2017-03-27 08:04:23马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11一汽
日期:2013-09-01 20:46:27复活蛋
日期:2013-03-13 07:55:232013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
18#
发表于 2009-12-10 06:56 | 只看该作者
> could we use the parameter "DB_KEEP_CACHE_SIZE" to keep the table in memory?

No. As I said, create a tablespace on a pure memory file system and create the table in this tablespace (and think carefully about recovery).

> 如果我对一个表,即做了storage(buffer_pool keep),又做了cache,那么,这表是不是就被放到了keep池的mru端?

After the table is full scanned, yes.

> 如果整个数据库只对这一个表进行这两种设置,而且我能计算出我这个表最多的数据量占用的最大的存储空间,
> 将keep pool 的设置大于这个空间,是不是那个表就一直在内存中了呢?

I think so, after the table is fully scanned and if you make sure SGA is not swapped out. Oracle never says how to guarantee the data of a table stays in memory. But based on our understanding, I think what you said makes sense.

> 在什么情况下它会被踢出内存呢?!

When the SGA is not locked in RAM and the server is under memory pressure.

Yong Huang

使用道具 举报

回复
论坛徽章:
1
天蝎座
日期:2016-01-14 21:17:02
19#
发表于 2012-4-22 22:58 | 只看该作者
你们在说ORACLE内存表吗,那个我也是不太清除怎么使用,类似如C语言中的数组

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表