Revision as of 15:44, 30 August 2005 editCraig Stuntz (talk | contribs)Extended confirmed users2,531 edits Removed '''inaccurate''' information re-added by sqlboy; please read Talk before re-adding!← Previous edit | Revision as of 16:24, 30 August 2005 edit undoSqlboy (talk | contribs)5 edits stop this vandalism or your access will be restricted; if you don't have concrete proof or even limited knowlege in this field please leaveNext edit → | ||
Line 21: | Line 21: | ||
| ] | | ] | ||
| 9.0.2 | | 9.0.2 | ||
| ] | |||
|- | |||
! style="text-align:left;" bgcolor="#ececec" | ] | |||
| ] | |||
| ] | |||
| 3.2 | |||
| ] | | ] | ||
|- | |- | ||
Line 120: | Line 126: | ||
|- | |- | ||
! style="text-align:left;" bgcolor="#ececec" | ] | ! style="text-align:left;" bgcolor="#ececec" | ] | ||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
|- | |||
! style="text-align:left;" bgcolor="#ececec" | ] | |||
| bgcolor="#ddffdd" | Yes | | bgcolor="#ddffdd" | Yes | ||
| bgcolor="#ddffdd" | Yes | | bgcolor="#ddffdd" | Yes | ||
Line 237: | Line 250: | ||
|- | |- | ||
! style="text-align:left;" bgcolor="#ececec" | ] | ! style="text-align:left;" bgcolor="#ececec" | ] | ||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
|- | |||
! style="text-align:left;" bgcolor="#ececec" | ] | |||
| bgcolor="#ddffdd" | Yes | | bgcolor="#ddffdd" | Yes | ||
| bgcolor="#ddffdd" | Yes | | bgcolor="#ddffdd" | Yes | ||
Line 342: | Line 361: | ||
| bgcolor="#ddffdd" | Yes <sup id="fn_5_back">]</sup> | | bgcolor="#ddffdd" | Yes <sup id="fn_5_back">]</sup> | ||
| bgcolor="#ffdddd" | No | | bgcolor="#ffdddd" | No | ||
|- | |||
! style="text-align:left;" bgcolor="#ececec" | ] | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
|- | |- | ||
! style="text-align:left;" bgcolor="#ececec" | ] | ! style="text-align:left;" bgcolor="#ececec" | ] | ||
Line 429: | Line 452: | ||
| bgcolor="#ddffdd" | Yes | | bgcolor="#ddffdd" | Yes | ||
| bgcolor="#ffdddd" | No | | bgcolor="#ffdddd" | No | ||
|- | |||
! style="text-align:left;" bgcolor="#ececec" | ] | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
|- | |- | ||
! style="text-align:left;" bgcolor="#ececec" | ] | ! style="text-align:left;" bgcolor="#ececec" | ] | ||
Line 562: | Line 593: | ||
|- | |- | ||
! style="text-align:left;" bgcolor="#ececec" | ] | ! style="text-align:left;" bgcolor="#ececec" | ] | ||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
|- | |||
! style="text-align:left;" bgcolor="#ececec" | ] | |||
| bgcolor="#ddffdd" | Yes | | bgcolor="#ddffdd" | Yes | ||
| bgcolor="#ddffdd" | Yes | | bgcolor="#ddffdd" | Yes | ||
Line 701: | Line 740: | ||
| bgcolor="#ffdddd" | No | | bgcolor="#ffdddd" | No | ||
| bgcolor="#ffdddd" | No | | bgcolor="#ffdddd" | No | ||
|- | |||
! style="text-align:left;" bgcolor="#ececec" | ] | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
| bgcolor="#ddffdd" | Yes | |||
|- | |- | ||
! style="text-align:left;" bgcolor="#ececec" | ] | ! style="text-align:left;" bgcolor="#ececec" | ] |
Revision as of 16:24, 30 August 2005
The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up-to-date. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.
General information
Basic general information about the RDBMSes: creator, company, license, etc.
Operating system support
The operating systems the RDBMSes can run on.
Windows | Mac OS X | Linux | BSD | Unix | |
---|---|---|---|---|---|
Adaptive Server Enterprise | Yes | Yes | Yes | Yes | Yes |
ANTs Data Server | Yes | Yes | Yes | Yes | Yes |
DB2 | Yes | No | Yes | No | Yes |
Firebird | Yes | Yes | Yes | Yes | Yes |
HSQLDB | Yes | Yes | Yes | Yes | Yes |
Informix | Yes | Yes | Yes | Yes | Yes |
Ingres | Yes | ? | Yes | ? | Yes |
InterBase | Yes | No | Yes | No | Yes (Solaris) |
SapDB | Yes | No | Yes | No | Yes |
MaxDB | Yes | No | Yes | No | Yes |
Microsoft SQL Server | Yes | No | No | No | No |
MySQL | Yes | Yes | Yes | Yes | Yes |
Oracle | Yes | Yes | Yes | No | Yes |
PostgreSQL | Yes | Yes | Yes | Yes | Yes |
SQLite | Yes | Yes | Yes | Yes | Yes |
Windows | Mac OS X | Linux | BSD | Unix |
Fundamental features
Information about what fundamental RDBMS features are implemented natively.
ACID | Referential integrity | Transactions | Unicode | |
---|---|---|---|---|
Adaptive Server Enterprise | Yes | Yes | Yes | Yes |
ANTs Data Server | Yes | Yes | Yes | Yes |
DB2 | Yes | Yes | Yes | Yes |
Firebird | Yes | Yes | Yes | Yes |
HSQLDB | Yes | Yes | Yes | ? |
Informix | Yes | Yes | Yes | Yes |
Ingres | Yes | Yes | Yes | Yes |
InterBase | Yes | Yes | Yes | Yes |
SapDB | Yes | Yes | Yes | Yes |
MaxDB | Yes | Yes | Yes | Yes |
Microsoft SQL Server | Yes | Yes | Yes | Yes |
MySQL | Depends | Depends | Depends | Yes |
Oracle | Yes | Yes | Yes | Yes |
PostgreSQL | Yes | Yes | Yes | Yes |
SQLite | Yes | No | Basic | Yes |
ACID | Referential integrity | Transactions | Unicode |
Note (1): For transactions and referential integrity, the InnoDB table type must be used; the default table type, MyISAM, does not support these features. However, even the InnoDB table type permits storage of values that exceed the data range; some view this as violating the Integrity constraint of ACID.
Note (2): CHECK and FOREIGN KEY constraints are parsed but are not enforced. Nested transactions are not supported.
Tables and views
Information about what tables and views (other than basic ones) are supported natively.
Temporary table | Materialized view | |
---|---|---|
Adaptive Server Enterprise | Yes | No |
ANTs Data Server | Yes | Yes |
DB2 | Yes | Yes |
Firebird | No | No |
HSQLDB | Yes | No |
Informix | Yes | Yes |
Ingres | Yes | No |
InterBase | Yes | No |
SapDB | Yes | No |
MaxDB | Yes | No |
Microsoft SQL Server | Yes | Similar |
MySQL | Yes | No |
Oracle | Yes | Yes |
PostgreSQL | Yes | No |
SQLite | Yes | No |
Temporary table | Materialized view |
Note (4): Materialized view can be emulated with PL/pgSQL, PL/Perl, PL/Python or other procedural languages. One example is here: .
Note (5): Server provides tempdb, which can be used for public and private (for the session) temp tables.
Note (6): MS SQL server provides indexed views.
Indexes
Information about what indexes (other than basic B-/B+ tree indexes) are supported natively.
R-/R+ tree | Hash | Expression | Partial | Reverse | Bitmap | |
---|---|---|---|---|---|---|
Adaptive Server Enterprise | No | No | No | No | Yes | No |
ANTs Data Server | Yes | Yes | Yes | Yes | Yes | Yes |
DB2 | No | ? | No | No | Yes | Yes |
Firebird | No | No | No | No | No | No |
HSQLDB | No | No | No | No | No | No |
Informix | Yes | Yes | Yes | No | No | No |
Ingres | Yes | Yes | No | No | No | No |
InterBase | ? | ? | No | No | No | No |
SapDB | ? | ? | No | No | No | No |
MaxDB | ? | ? | No | No | No | No |
Microsoft SQL Server | ? | ? | No | No | No | No |
MySQL | MyISAM tables only | HEAP tables only | No | No | No | No |
Oracle | EE edition only | Cluster Tables | Yes | No | Yes | Yes |
PostgreSQL | Yes | Yes | Yes | Yes | Yes | Yes |
SQLite | No | No | No | No | No | No |
R-/R+ tree | Hash | Expression | Partial | Reverse | Bitmap |
Note (7): A PostgreSQL functional index can be used to reverse the order of a field.
Note (8): Bitmap indexes are supported as of PostgreSQL 8.1, presently in beta
Other objects
Information about what other objects are supported natively.
Domain | Cursor | Trigger | Function | Procedure | External routine | |
---|---|---|---|---|---|---|
Adaptive Server Enterprise | Yes | Yes | Yes | Yes | Yes | Yes |
ANTs Data Server | Yes | Yes | Yes | Yes | Yes | Yes |
DB2 | No | Yes | Yes | Yes | Yes | Yes |
Firebird | Yes | Yes | Yes | Yes | Yes | Yes |
HSQLDB | ? | No | Yes | Yes | Yes | Yes |
Informix | ? | Yes | Yes | Yes | Yes | Yes |
Ingres | Yes | Yes | Yes | Yes | Yes | ? |
InterBase | Yes | Yes | Yes | Yes | Yes | Yes |
SapDB | Yes | Yes | Yes | Yes | Yes | ? |
MaxDB | Yes | Yes | Yes | Yes | Yes | ? |
Microsoft SQL Server | No | Yes | Yes | Yes | Yes | Yes |
MySQL | No | No | No | No | No | Yes |
Oracle | Yes | Yes | Yes | Yes | Yes | Yes |
PostgreSQL | Yes | Yes | Yes | Yes | Yes | Yes |
SQLite | No | No | Yes | No | No | Yes |
Domain | Cursor | Trigger | Function | Procedure | External routine |
Note (3): These database objects are available in MySQL 5.0 only, which is an experimental version.
Note (5): Both function and procedure refer to internal routines written in SQL and/or procedural language like PL/SQL. External routine refers to the one written in the host languages, such as C, Java, Cobol, etc. "Stored procedure" is a commonly used term for these routine types. However, its definition varies between different database vendors.
Partitioning
Information about what partitioning methods are supported natively.
Range | Hash | Composite (Range+Hash) | List | |
---|---|---|---|---|
Adaptive Server Enterprise | No | Yes | No | No |
ANTs Data Server | Yes | Yes | Yes | Yes |
DB2 | Yes | Yes | Yes | Yes |
Firebird | No | No | No | No |
Informix | ? | ? | ? | ? |
Ingres | Yes | Yes | Yes | Yes |
InterBase | No | No | No | No |
SapDB | ? | ? | ? | ? |
MaxDB | ? | ? | ? | ? |
Microsoft SQL Server | Yes | No | No | No |
MySQL | No | No | No | No |
Oracle | Yes | Yes | Yes | Yes |
PostgreSQL | No | No | No | No |
SQLite | No | No | No | No |
Range | Hash | Composite (Range+Hash) | List |
See also
External links
- Comparison of different SQL implementations
- Comparison of geometrical data handling in PostgreSQL, MySQL and DB2
- Open Source Database Software Comparison
- PostgreSQL vs. MySQL vs. Commercial Databases: It's All About What You Need