What are the advantages / disadvantages / replacements for using MySQL Connector / MXJ for an application

I recently made an interesting application using the Play Framework and MySQL Connector / MXJ to create a fully portable web server with a database, independent of any currently installed software (including Java).

I'm still new to MXJ and to desktop applications (as opposed to direct web applications), so I'm wondering if there are other, more efficient methods of storing / accessing large amounts of data than embedded MySQL. I would guess so since a lot of people use MXJ. It essentially just packages it mysqld.exe

into various forms for multiple operating systems and platforms. It runs on its own thread and stores its data in whatever directory you provide.

For an application that often parses and views data in large chunks (100MB to 5GB), what other (fast) options are there, or am I justified in my webapp being lazy from MySQL?


source to share

2 answers

Regardless of any installed software (including Java).

If you are looking for an embedded database for a desktop application, you can upgrade to SQLITE . However, there are pros and cons for using MySQL or SQLite


  • Easier to customize
  • Great for temporary (test databases)
  • Great for rapid development
  • Great for embedding into an application
  • No user management
  • Doesn't have a lot of performance features
  • Doesn't scale well.


  • More complex / complex setup
  • Best performance tuning options
  • Install for production database
  • Can scale well if configured correctly
  • Can manage users, permissions, etc.

You can find more information on when to use SQLite here

UPDATE: I came across HSQLDB and here are its test results. HamsterDb is another option.



Do you really need a database if your application is single user and desktop? It might be faster to just write large files to the local filesystem and then load through the network layer. If your application is very complex, you can only use the inline db to store your domain and configuration, but if that is not possible, you can avoid using db + sql + o / r-mapping, etc.



All Articles