[erlang-questions] Extremely poor Mnesia performance

Taavi Talvik <>
Tue Sep 30 18:18:31 CEST 2008


On Sep 30, 2008, at 5:58 PM, <> wrote:

>
> Hey all,
>
> I am doing some benchmarking with Mnesia at the moment and am pretty  
> disappointed to say the least.
>
> I'm hoping I am doing something wrong.
>
> Running a 5 table join below: (two of the tables have ~50k rows the  
> rest a couple of hundred)

Probably you are not doing anything wrong. From mnesia
introduction (http://www.erlang.org/doc/apps/mnesia/ 
Mnesia_chap1.html#1),
it design goals are:
===
In telecommunications applications there are different needs from the  
features provided by traditional DBMSs. The applications now  
implemented in the Erlang language need a mixture of a broad range of  
features, which generally are not satisfied by traditional DBMSs.  
Mnesia is designed with requirements like the following in mind:

	• Fast real-time key/value lookup
	• Complicated non real-time queries mainly for operation and  
maintenance
	• Distributed data due to distributed applications
	• High fault tolerance
	• Dynamic re-configuration
	• Complex objects
===

Mnesia is not designed as replacement for relational database. It is  
optimised
for fast key-value lookup and distribution.

With qlc:info(Qh) you can get more information, how query is actually  
handled.

best regards,
taavi


More information about the erlang-questions mailing list