Non-persistent in-memory tables (M-tables) are not written to disk when the solidDB server shuts down. Therefore, any time that the server shuts down, whether normally or abnormally, the data in non-persistent tables is lost. Their data is not logged or checkpointed. That makes them unrecoverable but considerably faster than persistent tables.
Non-persistent tables are useful for intermediate activity. For example, you can copy data from a persistent table, do a series of intensive operations on the data while it is in the temporary table, and then store the results back in a persistent table. This allows you to maximize performance, yet still keep part or all of the data when you are done. If, for some reason, your work is interrupted, the original data is still safe in the persistent table, and you can restart the processing.
Because transactions for non-persistent tables are not logged, they cannot be used with HotStandby.
There are two different types of non-persistent M-tables: transient tables and temporary tables. The main differences between temporary tables and transient tables are:
▪ Transient tables allow all sessions (connections) in the system to see the same data. Temporary tables allow only the user who created a piece of data to see that data.
▪ Because users can access the same data, transient tables use concurrency control. Only pessimistic concurrency control (locking) is supported.
▪ Temporary tables are faster than transient tables because they do not use concurrency control.
▪ The data in transient tables lasts until the server is shut down, while data in temporary tables lasts only until the user logs out of the session. This means that if one session inserts data into a transient table, then other sessions can see that data even after the creator of the data disconnects.
▪ Data in transient tables is exportable using the solidDB Export (solexp) tool. Data in temporary tables is not.
▪ Transient tables can reference persistent tables but temporary tables cannot.
Note Persistent tables cannot reference transient or temporary tables.