I must create a new (desktop) application for any small company. E-commerce presently comes with an Access database with countless records. The quality is all about 1.5 GB. In charge explained that looking for this DB is extremely slow. The DB includes a single table about 20 fields.

I additionally think the general DB design is not great. I figured to make use of another DB server with a brand new design to enhance both performance and efficiency.

Thinking about this can be a relatively small company, I'd rather not spend much for any DB license, so I wish to request you how would you react.

  • Continue using Access, maybe enhancing and optimizing the DB in some manner
  • Purchase a DB server license (within this situation, which?)
  • ? (any idea?)

Such things as SQL Server Express, MySQL and PostgreSQL are for sale to free, no license purchase necessary.

For enhancing search speeds, you'll most likely should also take a look at such things as what indexes are defined for that table, just what searches do, etc.

second the recommendations for Firebird. We have used it for around five years rather than had an problem. Mix platform, embedded &lifier server deployments... brilliant. Oh, and Free as with Beer. Mozilla Public LIcense.

Put me lower as the second recommendation for Firebird. It's used by us with this commercial Reason for Purchase product. We've it installed in excess of 1,000 sites, with databases as huge as 40+ Gb. It's fast, stable, simple, simple to deploy, as well as no management.

Your could replace the Access Database having a SQL Server database which will scale well continuing to move forward. You should use SQL Server Express that is free and supports databases as much as 4Gb I beleive.

SQL Server Express. Free for database size-up to 10 GB.

I cordially recommend MySQL. Its sometimes free and it is simple to install on Home windows and linux.

You will find additionally a a whole lot free tools to handle its content like tables, customers, indexes etc...

SQL Server Express is an ideal fit with this. http://www.microsoft.com/express/database/

You are able to have a look at Firebird

Firebird is among the best database for desktop application and can allways be free.

Some tools exist to convert database from use of firebird.

I'd consider when the large table must be split up into more compact ones(rarely needed, but nonetheless) as well as what indexes take presctiption it. As well as for Database software I would suggest PostgreSQL. It's free, simple to use(and that i contemplate it simple to setup, though others believe otherwise), which is fast enough for enterprise programs.

I additionally recommend Firebird.

Its key advantages of your scenario are (from surface of my mind):

  • embedded version. You are able to ship it together with your application - no separate installation package needed, numberInternet dependencies etc.

  • afterwards you are able to scale effortlessly fully client-server model. No code changes needed.

  • really small footprint

  • the whole database is saved in one file. Much simpler to deploy in comparison along with other solutions.

  • you could have your server on any platform you would like: Home windows, Linux, MacOSX etc. Obviously, you could have the consumer also on a single platforms consider you pointed out Access, I guess that you've a Home windows application.

  • no requirement for server administration. It simply works.

I suggest PostgreSQL too (especially instead of MySQL)