Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Ant: Memory based tables
sys_context/application context or 'global temporary table' could be answers - depends on your application needs.
Peter
Ondrej Florian <OFlorian.geo_at_yahoo.com> wrote:
Hello,
I would like to know if there is such a thing as memory based table
in Oracle. What I mean be memory based is table which doesn't require
any disk IO for storing or retrieving data. I am working on a project
that includes price database which is obviously very IO intensive by
nature. Since I can afford to loose some data during the server
crash, I though about putting them all into memory. The reason why I
cannot use something like MySQL or even some home grown kind of
solution is that prices are to be combined with our static data and
it is essential to keep everything in one database. One part of the
solution is to cache data in the database for read access and this
works very well. The problem is the write access. Since price updates
are spread over long time period, it is very hard to do any type of
mass import. So essentially you end up with a lot of small insert,
update, delete transactions which means the the the performance
suffers. Now I tried to do something every stupid. I moved the redo
logs into a ramdisk. Something that the real DB would never do. Hey,
I am not a DBA, I am programmer :-). Anyhow I got about 10x faster
throughput without sweat. Obviously the problem is what happens when
there is a crash. Loosing the data it self is not big deal. The
problem is that as I found out Oracle has really hard time dealing
with deleted redo logs. In the end I had to reinstall the whole
database. Not really surprising outcome, but it got me thinking. Is
there a safe way to eliminate disk IO in Oracle ?
I hope my question is understandable enough, Thanks for your response,
Ondrej
--
http://www.freelists.org/webpage/oracle-l
![]() |
![]() |