[firebase-br] Comparação MySQL x Firebird

Carlos H. Cantu (TeamFB) listas em warmboot.com.br
Sex Jul 29 10:39:27 -03 2005


This is a forwarded message
From: Martijn Tonies <m.tonies em upscene.com>
To: <firebird-support em yahoogroups.com>
Date: Friday, July 29, 2005, 10:29:41 AM
Subject: [firebird-support] main differences FB / MySQL

===8<==============Original message text===============
Hi,

> I will be holding a session for (former) dBase-users about how to
> change their applications to using Firebird instead. In the same
> meeting somebody will be presenting MySQL as an alternative.
>
> We will not be talking about internet-access but about backend
> database servers for business use in small and medium companies.
>
> Unquestioningly Firebird is more suitable for such a scenario than the
> very popular MySQL.
> I am at a loss, however, in pinning down the main differences in
> architecture and usability between the two systems.
> AFAIK MySQL does not support triggers, transactions and version
> control, but I am amiss about the details.

MySQL supports transactions and foreign key constraint with it's
InnoDB storage system. However, the InnoDB storage system
does not support the "full text indices" like the (default) MyISAM
storage system does.

MySQL is NOT free for commercial applications, Firebird is.

Firebird has had procedures, triggers and views for years, while
MySQL only recently added these to MySQL 5 which is in early
beta. Also, MySQL Stored Functions (something Firebird is STILL
lacking) cannot contain any SQL related to tables.

MySQL doesn't have check constraints.

MySQL, however, has built in replication, Firebird does not.

Firebird has the better Java driver, I think.

Then again, MySQL has a query cache, Firebird does not.

I also think that MySQL has a better release cycle than Firebird
and they're very fast with responding to issues and releasing newer
versions.

MySQL, however, also has several weird workarounds, like:
STRAIGHT_JOIN is identical to JOIN, except that the left table is
always read before the right table. This can be used for those (few)
cases for which the join optimizer puts the tables in the wrong order.

MySQL has more built-in functions.

MySQL has more control over users and what they can do (eg:
create database, create table), Firebird does not.

MySQL only very recent added sub-queries and derived tables,
Firebird has had sub-queries for a long time, but has no derived
tables yet - except in the 2.0 Alpha version.

Obviously, MySQL also has it quircks, a well known document:
http://sql-info.de/mysql/gotchas.html
Read it and weep ;-)




If there's anything specific you want to know, let me know ;)

With regards,

Martijn Tonies
Database Workbench - tool for InterBase, Firebird, MySQL, Oracle & MS SQL
Server
Upscene Productions
http://www.upscene.com
Database development questions? Check the forum!
http://www.databasedevelopmentforum.com


===8<===========End of original message text===========



-- 
Best regards,
 Carlos                            mailto:listas em warmboot.com.br





Mais detalhes sobre a lista de discussão lista