Table of Contents
RAM Temporary Objects
Valentina engine allows you to create RAM-based databases, tables and even fields.
General advantages of RAM objects are:
- faster than disk based objects at least with rate x10.
- main data are not touched at all, so in case of crash of system we are safe.
RAM Temporary Database
You can create the whole database on the RAM. Such database does not touch disk at all. All its volumes will be on RAM.
You may wish to use this, for example, if your application is connected to some remote VServer, you extract data by SELECT into VCursor and you want to copy this data to the client side computer database. You can use both disk-based database or RAM-based database to be faster.
Note, that only VKERNEL.dll can create and manage databases. VClient.dll itself is not able to produce databases on the client side. So we consider now a case when application is inited for both local and remote use.
RAM Temporary Table
Quite often you may want to create a temporary table in the scope of some database. You can create it on the disk, then it will be stored in the db.tmp volume of your database. Or you can create this temporary table just on RAM.
Note, that you can create RAM tables even if database is disk-based. But you can not reverse, or crate disk based table in the RAM database.
You should be sure that this RAM table will be quite small, to fit available RAM on your computer. Otherwise you will get a lots of disk swapping and performance will be only worse.
RAM table itself can be small, but if you create a lots of such tables in the same time, then you can easy eat a lots of RAM.
RAM Temporary Field
This is a unique feature of Valentina Database!
It is possible because Valentina keeps table storage as vertical separate columns. So if a Table has fields f1, f2, f3 we can easily create field f4 for this table without any touch of the existed fields!
You can make this temporary field both on the disk (then it go to db.tmp volume) and on the RAM.