Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Comparison of relational database management systems
List article

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. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.

General information

MaintainerFirst public release dateLatest stable versionLatest release dateLicensePublic issues list
4D (4th Dimension)4D S.A.S.1984v16.02017-01-101ProprietaryNo
ADABASSoftware AG19708.12013-06ProprietaryNo
Adaptive Server EnterpriseSAP AG198716.0 SP03 PL072019-06-10ProprietaryNo
Advantage Database Server (ADS)SAP AG199212.02015ProprietaryNo
AltibaseAltibase Corp.20007.1.0.1.22018-03-02ProprietaryNo
Apache DerbyApache200410.17.1.022023-11-14Apache LicenseYes3
ClustrixDBMariaDB Corporation2010v7.02015-08-19ProprietaryNo
CockroachDBCockroach Labs2015v24.1.02024-05-20BSL,CCL,MIT,BSDYes4
CUBRIDCUBRID2008-1111.2.32023-01-31Apache License 2.0, BSD license for APIs and GUI toolsYes5
DatacomCA, Inc.Early 70s614720128ProprietaryNo
IBM Db2IBM198312.19 2024-11-14; 4 months agoProprietaryNo
Empress Embedded DatabaseEmpress Software Inc197910.202010-03ProprietaryNo
ExasolEXASOL AG20047.1.12021-09-15; 3 years agoProprietaryNo
FileMakerFileMaker, Inc., an Apple subsidiary1985-04192020-05-20ProprietaryNo
FirebirdFirebird project2000-07-255.0.210 2025-02-12; 47 days agoIPL11 and IDPL12Yes13
GPUdbGIS Federal20143.2.52015-01-14ProprietaryNo
HSQLDBHSQL Development Group20012.6.12021-10-21BSDYes14
H2H2 Software20052.3.2322024-08-12EPL and modified MPLYes15
Informix Dynamic ServerIBM / HCL Technologies1981????198015.0.0.02024-11-20ProprietaryNo
IngresActian197411.2162022-05-06GPL and ProprietaryNo
InterBaseEmbarcadero Technologies1984XE7 v12.0.4.3572015-08-12ProprietaryNo
Linter SQL RDBMSRELEX Group19906.0.17.532018-02-15ProprietaryYes17
LucidDBThe Eigenbase Project2007-010.9.42012-01-05GPL v2No
MariaDBMariaDB Community2010-02-0111.6.218 2024-11-21; 4 months agoGPL v2, LGPL (for client-libraries)19Yes20
MaxDBSAP AG2003-057.9.0.82014ProprietaryYes21
SingleStore (formerly MemSQL)SingleStore2012-067.1.112020-10-12ProprietaryNo
Microsoft Access (JET)Microsoft199216 (2016)2015-09-22ProprietaryNo
Microsoft Visual FoxproMicrosoft19849 (2005)2007-10-11ProprietaryNo
Microsoft SQL ServerMicrosoft1989202222 2022-11-16; 2 years agoProprietaryNo
Microsoft SQL Server Compact (Embedded Database)Microsoft20002011 (v4.0)ProprietaryNo
Mimer SQLMimer Information Technology197811.0.8E2024-10-22ProprietaryNo
MonetDBMonetDB Foundation 232004Aug2024 242024-08-26Mozilla Public License, version 2.025Yes26
mSQLHughes Technologies19944.1272017-06-30ProprietaryNo
MySQLOracle Corporation1995-118.0.3828 2025-01-21; 2 months agoGPL v2 or ProprietaryYes29
NexusDBNexusDB Pty Ltd20034.00.142015-06-25ProprietaryNo
HPE NonStop SQLHewlett Packard Enterprise1987SQL/MX 3.4ProprietaryNo
NuoDBNuoDB20134.12020-08ProprietaryNo
Omnis StudioTigerLogic Inc1982-076.1.3 Release 1no2015-12ProprietaryNo
OpenEdgeProgress Software Corporation198412.82024-1ProprietaryNo
OpenLink VirtuosoOpenLink Software19987.2.5.12018-08-15GPL v2 or ProprietaryYes30
Oracle DBOracle Corporation1979-1123ai31 2023-09-19; 18 months agoProprietaryNo
Oracle RdbOracle Corporation19847.4.1.1322021-04-21[±]ProprietaryNo
ParadoxCorel Corporation1985112009-09-07ProprietaryNo
Percona Server for MySQLPercona20068.0.37-292024-08-06[±]GPL v2Yes
Actian Zen (PSQL)Actian1982v152021ProprietaryNo
Polyhedra DBMSENEA AB19939.02015-06-24Proprietary, with Polyhedra Lite available as Freeware33No
PostgreSQLPostgreSQL Global Development Group1989-0617.42025-02-2134Postgres License35No36
R:BaseR:BASE Technologies198210.02016-05-26ProprietaryNo
SAP HANASAP AG20102.0 SPS042019-08-08ProprietaryNo
solidDBUNICOM Global19927.0.0.102014-04-29ProprietaryNo
SQL AnywhereSAP AG199217.0.0.482019-07-26ProprietaryNo
SQLBaseUnify Corp.198211.52008-11ProprietaryNo
SQLiteD. Richard Hipp2000-09-123.49.137 2025-02-18; 41 days agoPublic domainYes38
SQream DBSQream Technologies20142.1392018-01-15ProprietaryNo
SuperbaseSuperbase1984Classic2003ProprietaryNo
Superbase NGSuperbase NG2002Superbase NG 2.102017ProprietaryYes40
TeradataTeradata1984152014-04ProprietaryNo
TiDBPingCAP Inc.20168.5.141 2025-01-17; 2 months agoApache LicenseYes42
UniDataRocket Software19888.2.12017-07ProprietaryNo
YugabyteDBYugabyte, Inc.20182.20.1.3432024-01-25[±]Apache LicenseYes44
MaintainerFirst public release dateLatest stable versionLatest release dateLicensePublic issues list

Operating system support

The operating systems that the RDBMSes can run on.

WindowsmacOSLinuxBSDUNIXAmigaOSz/OSOpenVMSiOSAndroid
4th DimensionYesYesNoNoNoNoNoNoNoNo
ADABASYesNoYesNoYesNoYesNoNoNo
Adaptive Server EnterpriseYesNoYesYesYesNoNoNoNoNo
Advantage Database ServerYesNoYesNoNoNoNoNoNoNo
AltibaseYesNoYesNoYesNoNoNoNoNo
Apache DerbyYesYesYesYesYesNoYesNo?No
ClustrixDBNoNoYesNoYesNoNoNoNoNo
CockroachDBYesYesYesNoNoNoNoNoNoNo
CUBRIDYesPartialYesNoNoNoNoNoNoNo
IBM Db2YesYesYesNoYesNoYesNoYesNo
Empress Embedded DatabaseYesYesYesYesYesNoNoNoNoYes
EXASolutionNoNoYesNoNoNoNoNoNoNo
FileMakerYesYesYesNoNoNoNoNoYesNo
FirebirdYesYesYesYesYesNoMaybeNoYes45Yes
HSQLDBYesYesYesYesYesNoYesNo??
H2YesYesYesYesYesNoYesNo?Yes
Informix Dynamic ServerYesNoYesNoYes (AIX)NoNoNoNoNo
IngresYesYesYesYesYesNoPartialYes46NoNo
InterBaseYesYesYesNoYes (Solaris)NoNoNoYesYes
Linter SQL RDBMSYesYesYesYesYesNoUnder Linux on IBM ZYesYesYes
LucidDBYesYesYesNoNoNoNoNoNoNo
MariaDBYesYes47YesYesYesNoNoNo?Yes48
MaxDBYesNoYesNoYesNoMaybeNoNoNo
Microsoft Access (JET)YesNoNoNoNoNoNoNoNoNo
Microsoft Visual FoxproYesNoNoNoNoNoNoNoNoNo
Microsoft SQL ServerYesNoYes49NoNoNoNoNoNoNo
Microsoft SQL Server Compact (Embedded Database)YesNoNoNoNoNoNoNoNoNo
Mimer SQLYesYesYesNoYesNoNoYes50NoYes
MonetDBYesYesYesYesYesNoNoNoNoNo
MySQLYesYesYesYesYesYesYesNo?Yes51
Omnis StudioYesYesYesNoNoNoNoNoNoNo
OpenEdgeYesNoYesNoYesNoNoNoNoNo
OpenLink VirtuosoYesYesYesYesYesNoNoNoNoNo
OracleYesYesYesNoYesNoYesYesNoNo
Oracle RdbNoNoNoNoNoNoNoYesNoNo
Actian Zen (PSQL)YesYes (OEM only)YesNoNoNoNoNoYesYes
PolyhedraYesNoYesNoYesNoNoNoNoNo
PostgreSQLYesYesYesYesYesYes (MorphOS)52Under Linux on IBM Z53NoNoYes
R:BaseYesNoNoNoNoNoNoNoNoNo
SAP HANAYesNoYesNoNoNoNoNoNoNo
solidDBYesNoYesNoYesNoUnder Linux on IBM ZNoNoNo
SQL AnywhereYesYesYesNoYesNoNoNoNoYes
SQLBaseYesNoYesNoNoNoNoNoNoNo
SQLiteYesYesYesYesYesYesMaybeNoYesYes
SQream DBNoNoYesNoNoNoNoNoNoNo
SuperbaseYesNoNoNoNoYesNoNoNoNo
Superbase NGYesNoYesNoNoNoNoNoNoNo
TeradataYesNoYesNoYesNoNoNoNoNo
TiDBYesYesYesPartialNoNoNoNoNoNo
UniDataYesNoYesNoYesNoNoNoNoNo
UniVerseYesNoYesNoYesNoNoNoNoNo
YugabyteDBYesYesYesNoNoNoNoNoNoNo
WindowsmacOSLinuxBSDUNIXAmigaOSz/OSOpenVMSiOSAndroid

Fundamental features

Information about what fundamental RDBMS features are implemented natively.

Database NameACIDReferential integrityTransactionsFine-grained lockingMultiversion concurrency controlUnicodeInterfaceType inference
4th DimensionYesYesYes??YesGUI & SQLYes
ADABASYesNoYes??Yesproprietary direct call & SQL (via 3rd party)Yes
Adaptive Server EnterpriseYesYesYesYes (Row-level locking)YesYesAPI & GUI & SQLYes
Advantage Database ServerYesYesYesYes (Row-level locking)?Yes4API & SQLYes
AltibaseYesYesYesYes (Row-level locking)?YesAPI & GUI & SQLYes
Apache DerbyYesYesYesYes (Row-level locking) 54?YesSQLYes
ClustrixDBYesYesYesYesYesYesSQLYes
CockroachDBYesYesYesYes (Row-level locking)YesYesSQLNo
CUBRIDYesYesYesYes (Row-level locking)YesYesGUI & SQLYes
IBM Db2YesYesYesYes (Row-level locking)55?YesGUI & SQLYes
Empress Embedded DatabaseYesYesYes??YesAPI & SQLYes
EXASolutionYesYesYes??YesAPI & GUI & SQLYes
FirebirdYesYesYes?YesYesAPI & SQLYes
HSQLDBYesYesYes?YesYesSQLYes
H2YesYesYes?Yes56YesSQLYes
Informix Dynamic ServerYesYesYesYes (Row-level locking)YesYesSQL, REST, MQ, and JSONYes
IngresYesYesYesYes (Row-level locking)YesYesSQL & QUELYes
InterBaseYesYesYes??YesSQLYes
Linter SQL RDBMSYesYesYes (Except for DDL)Yes (Row-level locking)?YesAPI & GUI & SQLYes
LucidDBYesNoNo??YesSQLYes
MariaDBYes2YesYes2 except for DDL5758Yes (Row-level locking)YesYesSQLYes
MaxDBYesYesYes??YesSQLYes
Microsoft Access (JET)YesYesYes??YesGUI & SQLYes
Microsoft Visual FoxProYesYesYesYes (Row-level locking SMB2)YesNoGUI & SQLYes
Microsoft SQL ServerYesYesYesYes (Row-level locking)59YesYesGUI & SQLYes
Microsoft SQL Server Compact (Embedded Database)YesYesYes??YesGUI & SQLYes
Mimer SQLYesYesYesYes (Optimistic locking)YesYesAPI & GUI & SQLYes
MonetDBYesYesYes??YesAPI & SQL & MALYes
MySQLYes2Yes3Yes2 except for DDL60Yes (Row-level locking)61YesYesGUI 5 & SQLYes
OpenEdgeYesYes6YesYes (Row-level locking)?YesGUI & SQLYes
OpenLink VirtuosoYesYesYes??YesAPI & GUI & SQLYes
OracleYesYesYes except for DDL62Yes (Row-level locking)63YesYesAPI & GUI & SQLYes
Oracle RdbYesYesYes??YesSQLYes
Actian Zen (PSQL)YesYesYes??YesAPI & GUI & SQLYes
Polyhedra DBMSYesYesYesYes (optimistic and pessimistic cell-level locking)64?YesAPI & SQLYes
PostgreSQLYesYesYesYes (Row-level locking)65YesYesAPI & GUI & SQLNo66
SAP HANAYesYesYesYes (Row-level locking)YesYesAPI & GUI & SQLYes
solidDBYesYesYesYes (Row-level locking)?YesAPI & SQLYes
SQL AnywhereYesYesYesYes (Row-level locking)67Yes68YesAPI & GUI & HTTP(S) (REST & SOAP)69 & SQLYes
SQLBaseYesYesYes??YesAPI & GUI & SQLYes
SQLiteYesYesYesNo (Database-level locking)70NoOptional71API & SQLYes
Superbase NG???Yes (Record-level locking)?YesGUI & Proprietary & ODBCYes
TeradataYesYesYesYes (Hash and Partition)?YesSQLYes
TiDBYesYesYes except for DDL72Yes (Row-level locking)73YesYesGUI 5 & SQLYes
UniDataYesNoYes??YesMultipleYes
UniVerseYesNoYes??YesMultipleYes
Database NameACIDReferential integrityTransactionsFine-grained lockingMultiversion concurrency controlUnicodeInterfaceType inference
  • Note (1): Currently only supports read uncommitted transaction isolation. Version 1.9 adds serializable isolation and version 2.0 will be fully ACID compliant.
  • Note (2): MariaDB and MySQL provide ACID compliance through the default InnoDB storage engine.7475
  • Note (3): "For other than InnoDB storage engines, MySQL Server parses and ignores the FOREIGN KEY and REFERENCES syntax in CREATE TABLE statements. The CHECK clause is parsed but ignored by all storage engines."76
  • Note (4): Support for Unicode is new in version 10.0.
  • Note (5): MySQL provides GUI interface through MySQL Workbench.
  • Note (6): OpenEdge SQL database engine uses Referential Integrity, OpenEdge ABL Database engine does not and is handled via database triggers.

Limits

Information about data size limits.

Max DB sizeMax table sizeMax row sizeMax columns per rowMax Blob/Clob sizeMax CHAR sizeMax NUMBER sizeMin DATE valueMax DATE valueMax column name size
4th DimensionLimited??65,135200 GB (2 GiB Unicode)200 GB (2 GiB Unicode)64 bits???
Advantage Database ServerUnlimited16 EiB65,530 B65,135 / (10+ AvgFieldNameLength)4 GiB?64 bits??128
Apache DerbyUnlimitedUnlimitedUnlimited1,012 (5,000 in views)2,147,483,647 chars254 (VARCHAR: 32,672)64 bits0001-01-019999-12-31128
ClustrixDBUnlimitedUnlimited64 MB on Appliance, 4 MB on AWS?64 MB64 MB64 MB0001-01-019999-12-31254
CUBRID2 EB2 EBUnlimitedUnlimitedUnlimited1 GB64 bits0001-01-019999-12-31254
IBM DB2Unlimited2 ZB1,048,319 B1,0122 GB32 KiB64 bits0001-01-019999-12-31128
Empress Embedded DatabaseUnlimited263−1 bytes2 GB32,7672 GB2 GB64 bits0000-01-019999-12-3132
EXASolutionUnlimitedUnlimitedUnlimited10,0002 MB128 bits0001-01-019999-12-31256
FileMaker8 TB8 TB8 TB256,000,0004 GB10,000,0001 billion characters, 10−400 to 10400, ±0001-01-014000-12-31100
FirebirdUnlimited1≈32 TB65,536 BDepends on data types used32 GB32,767 B128 bits1003276863
HSQLDB64 TBUnlimited8Unlimited8Unlimited864 TB7Unlimited8Unlimited80001-01-019999-12-31128
H264 TBUnlimited8Unlimited8Unlimited864 TB7Unlimited864 bits-9999999999999999Unlimited8
Max DB sizeMax table sizeMax row sizeMax columns per rowMax Blob/Clob sizeMax CHAR sizeMax NUMBER sizeMin DATE valueMax DATE valueMax column name size
Informix Dynamic Server≈0.5 YB12≈0,5YB1232,765 bytes (exclusive of large objects)32,7654 TB32,7651410125 1301/01/00011012/31/9999128 bytes
IngresUnlimitedUnlimited256 KB1,0242 GB32 000 B64 bits00019999256
InterBaseUnlimited1≈32 TB65,536 BDepends on data types used2 GB32,767 B64 bits1003276831
Linter SQL RDBMSUnlimited230 rows64 KB (w/o BLOBs),2GB (each BLOB value)2502 GB4000 B64 bits0001-01-019999-12-3166
MariaDBUnlimitedMyISAM storage limits: 256 TB;Innodb storage limits: 64 TB;Aria storage limits: ???64 KB34,09644 GB (longtext, longblob)64 KB (text)64 bits100099996477
Microsoft Access (JET)2 GB2 GB16 MB25564 KB (memo field),1 GB ("OLE Object" field)255 B (text field)32 bits0100999964
Microsoft Visual FoxproUnlimited2 GB65,500 B2552 GB16 MB32 bits0001999910
Microsoft SQL Server524,272 TB (32 767 files × 16 TB max file size)

16ZB per instance

524,272 TB8,060 bytes / 2 TB61,024 / 30,000(with sparse columns)2 GB / Unlimited (using RBS/FILESTREAM object)2 GB6126 bits200019999128
Microsoft SQL Server Compact (Embedded Database)4 GB4 GB8,060 bytes10242 GB4000154 bits00019999128
Mimer SQLUnlimitedUnlimited16000 (+lob data)252Unlimited1500045 digits0001-01-019999-12-31128
MonetDBUnlimitedUnlimitedUnlimitedUnlimited2 GB2 GB128 bits-4712-01-019999-12-311024
MySQLUnlimitedMyISAM storage limits: 256 TB; Innodb storage limits: 64 TB64 KB34,09644 GB (longtext, longblob)64 KB (text)64 bits1000999964
OpenLink Virtuoso32 TB per instance(Unlimited via elastic cluster)DB size (or 32 TB)4 KB2002 GB2 GB23109999100
Oracle2 PB (with standard 8k block)8 PB (with max 32k block)8 EB (with max 32k block and BIGFILE option)4 GB × block size(with BIGFILE tablespace)8 KB1,000128 TB32,767 B11126 bits−47129999128
Max DB sizeMax table sizeMax row sizeMax columns per rowMax Blob/Clob sizeMax CHAR sizeMax NUMBER sizeMin DATE valueMax DATE valueMax column name size
Actian Zen (PSQL)4 billion objects256 GB2 GB1,5362 GB8,000 bytes64 bits01-01-000112-31-9999128 bytes
PolyhedraLimited by available RAM, address space232 rowsUnlimited65,5364 GB (subject to RAM)4 GB (subject to RAM)64 bits0001-01-018000-12-31255
PostgreSQL78Unlimited32 TB1.6 TB250–1600 depending on type1 GB (text, bytea) stored inline or 4 TB using pg_largeobject

79

1 GBUnlimited−4,713

80

5,874,89763
SAP HANA??????????
solidDB256 TB256 TB32 KB + BLOB dataLimited by row size4 GB4 GB64 bits-32768-01-0132767-12-31254
SQL Anywhere81104 TB (13 files, each file up to 8 TB (32 KB pages))Limited by file sizeLimited by file size45,0002 GB2 GB64 bits0001-01-019999-12-31128 bytes
SQLite128 TB (231 pages × 64 KB max page size)Limited by file sizeLimited by file size32,7672 GB2 GB64 bitsNo DATE type9No DATE type9Unlimited
TeradataUnlimitedUnlimited64000 wo/lobs(64 GB w/lobs)2,0482 GB64,00038 digits0001-01-019999-12-31128
UniVerseUnlimitedUnlimitedUnlimitedUnlimitedUnlimitedUnlimitedUnlimitedUnlimitedUnlimitedUnlimited
Max DB sizeMax table sizeMax row sizeMax columns per rowMax Blob/Clob sizeMax CHAR sizeMax NUMBER sizeMin DATE valueMax DATE valueMax column name size
  • Note (1): Firebird 2.x maximum database size is effectively unlimited with the largest known database size >980 GB.82 Firebird 1.5.x maximum database size: 32 TB.
  • Note (2): Limit is 1038 using DECIMAL datatype.83
  • Note (3): InnoDB is limited to 8,000 bytes (excluding VARBINARY, VARCHAR, BLOB, or TEXT columns).84
  • Note (4): InnoDB is limited to 1,017 columns.85
  • Note (6): Using VARCHAR (MAX) in SQL 2005 and later.86
  • Note (7): When using a page size of 32 KB, and when BLOB/CLOB data is stored in the database file.
  • Note (8): Java array size limit of 2,147,483,648 (231) objects per array applies. This limit applies to number of characters in names, rows per table, columns per table, and characters per CHAR/VARCHAR.
  • Note (9): Despite the lack of a date datatype, SQLite does include date and time functions,87 which work for timestamps between 24 November 4714 B.C. and 1 November 5352.
  • Note (10): Informix DATETIME type has adjustable range from YEAR only through 1/10000th second. DATETIME date range is 0001-01-01 00:00:00.00000 through 9999-12-31 23:59:59.99999.
  • Note (11): Since version 12c. Earlier versions support up to 4000 B.
  • Note (12): The 0.5 YB limit refers to the storage limit of a single Informix server instance beginning with v15.0. Informix v12.10 and later versions support using sharding techniques to distribute a table across multiple server instances. A distributed Informix database has no upper limit on table or database size.
  • Note (13): Informix DECIMAL type supports up to 32 decimal digits of precision with a range of 10−130 to 10125. Fixed and variable precision are supported.
  • Note (14): The LONGLVARCHAR type supports strings up to 4TB.

Tables and views

Information about what tables and views (other than basic ones) are supported natively.

Temporary tableMaterialized view
4th DimensionYesNo
ADABAS??
Adaptive Server EnterpriseYes1Yes – see precomputed result sets
Advantage Database ServerYesNo (only common views)
AltibaseYesNo (only common views)
Apache DerbyYesNo
ClustrixDBYesNo
CUBRIDYes (only CTE)No (only common views)
IBM Db2YesYes
Empress Embedded DatabaseYesYes
EXASolutionYesNo
FirebirdYesNo (only common views)
HSQLDBYesNo
H2YesNo (only common views)
Informix Dynamic ServerYesNo2
IngresYesNo
InterBaseYesNo
Linter SQL RDBMSYesYes
LucidDBNoNo
MariaDBYesNo4
MaxDBYesNo
Microsoft Access (JET)NoNo
Microsoft Visual FoxproYesYes
Microsoft SQL ServerYesYes
Microsoft SQL Server Compact (Embedded Database)YesNo
Mimer SQLNoNo
MonetDBYesNo (only common views)
MySQLYesNo4
OracleYesYes
Oracle RdbYesYes
OpenLink VirtuosoYesYes
Actian Zen (PSQL)YesNo
Polyhedra DBMSNoNo (only common views)
PostgreSQLYesYes
SAP HANAYes?
solidDBYesNo (only common views)
SQL AnywhereYesYes
SQLiteYesNo
SuperbaseYesYes
TeradataYesYes
UniDataYesNo
UniVerseYesNo
Temporary tableMaterialized view
  • Note (1): Server provides tempdb, which can be used for public and private (for the session) temp tables.88
  • Note (2): Materialized views are not supported in Informix; the term is used in IBM's documentation to refer to a temporary table created to run the view's query when it is too complex, but one cannot for example define the way it is refreshed or build an index on it. The term is defined in the Informix Performance Guide.89
  • Note (4): Materialized views can be emulated using stored procedures and triggers.90

Indexes

Information about what indexes (other than basic B-/B+ tree indexes) are supported natively.

R-/R+ treeHashExpressionPartialReverseBitmapGiSTGINFull-textSpatialForest of Trees IndexDuplicate index prevention
4th Dimension?Cluster??????Yes??No
ADABAS???????????No
Adaptive Server EnterpriseNoNoYesNoYesNoNoNoYes??No
Advantage Database ServerNoNoYesNoYesYesNoNoYes??No
Apache DerbyNoNoNoNoNoNoNoNoNo91??No
ClustrixDBNoYesNoNoNoNoNoNoNoNo?No
CUBRIDNoNoYes92Yes93YesNoNoNoNoNoNoNo
IBM Db2YesYesYesNoYesYesNoNoYes94??No
Empress Embedded DatabaseYesNoNoYesNoYesNoNoNo??No
EXASolutionNoYesNoNoNoNoNoNoNo??No
FirebirdNoNoYesYesYesNoNoNoNo95??No
HSQLDBNoNoNoNoNoNoNoNoNo??No
H2NoYesNoNoNoNoNoNoYes96Yes97?No
Informix Dynamic ServerYesYesYesYesYesYesYesYesYesYesYes98Yes
IngresYesYesIngres v10NoNoIngres v10NoNoNo??No
InterBaseNoNoNoNoNoNoNoNoNo??No
Linter SQL RDBMS10NoYes temporary indexes for equality joinsYes for some scalar functions like LOWER and UPPERNoNoNoNoNoYes99NoNoYes
LucidDBNoNoNoNoNoYesNoNoNo??No
MariaDBAria and MyISAM tables and, since v10.2.2, InnoDB tables only100MEMORY,101 InnoDB,5 tables onlyPERSISTENT virtual columns only102NoNoNoNoNoYes103Aria and MyISAM tables and, since v10.2.2, InnoDB tables only104?No
MaxDBNoNoNoNoNoNoNoNoNo??No
Microsoft Access (JET)NoNoNoNoNoNoNoNoNo105??No
Microsoft Visual FoxproNoNoYesYesYes2YesNoNoNo??No
Microsoft SQL ServerSpatial IndexesYes4Yes3Yeson Computed columns3Bitmap filter index for Star Join QueryNoNoYes106Yes107?No
Microsoft SQL Server Compact (Embedded Database)NoNoNoNoNoNoNoNoNo108??No
Mimer SQLNoNoNoNoYesNoNoNoYesYesNoNo
MonetDBNoYesNoNoNoNoNoNoNoNoNoNo
MySQLSpatial Indexes109MEMORY, Cluster (NDB), InnoDB,5 tables onlyNo110NoNoNoNoNoMyISAM tables111 and, since v5.6.4, InnoDB tables112MyISAM tables113 and, since v5.7.5, InnoDB tables114?No
OpenLink VirtuosoYesClusterYesYesNoYesNoNoYesYes (Commercial only)NoNo
OracleYes 11Cluster TablesYesYes 6YesYesNoNoYes115Yes116?Yes117
Oracle RdbNoYes?NoNo?NoNo???No
Actian Zen (PSQL)NoNoNoNoNoNoNoNoNoNoNoNo
Polyhedra DBMSNoYesNoNoNoNoNoNoNoNo?No
PostgreSQLYesYesYesYesYes7YesYes118YesYes119PostGIS120NoNo
SAP HANA???????????No
solidDBNoNoNoNoYesNoNoNoNoNoNoNo
SQL AnywhereNoNoYesNoNoNoNoNoYesYes?Yes
SQLiteYes121NoYes122YesNoNoNoNoYes123SpatiaLite124?No
SQream DB????Yes??????No
TeradataNoYesYesYesNoYesNoNo?125??No
UniVerseYesYesYes3Yes3Yes3NoNoNo?Yes126?No
R-/R+ treeHashExpressionPartialReverseBitmapGiSTGINFull-textSpatialForest of Trees IndexDuplicate index prevention
  • Note (1): The users need to use a function from freeAdhocUDF library or similar.127
  • Note (2): Can be implemented for most data types using expression-based indexes.
  • Note (3): Can be emulated by indexing a computed column128 (doesn't easily update) or by using an "Indexed View"129 (proper name not just any view works130).
  • Note (4): Used for InMemory ColumnStore index, temporary hash index for hash join, Non/Cluster & fill factor.
  • Note (5): InnoDB automatically generates adaptive hash index131 entries as needed.
  • Note (6): Can be implemented using Function-based Indexes in Oracle 8i and higher, but the function needs to be used in the sql for the index to be used.
  • Note (7): A PostgreSQL functional index can be used to reverse the order of a field.
  • Note (10): B+ tree and full-text only for now.
  • Note (11): R-Tree indexing available in base edition with Locator but some functionality requires Personal Edition or Enterprise Edition with Spatial option.
  • Note (12): FOT or Forest of Trees indexes is a type of B-tree index consisting of multiple B-trees which reduces contention in multi-user environments.132

Database capabilities

UnionIntersectExceptInner joinsOuter joinsInner selectsMerge joinsBlobs and clobsCommon table expressionsWindowing functionsParallel querySystem-versioned tables
4th DimensionYesYesYesYesYesNoNoYes????
ADABASYes???????????
Adaptive Server EnterpriseYes??YesYesYesYesYes??Yes?
Advantage Database ServerYesNoNoYesYesYesYesYes?No??
AltibaseYesYesYes, via MINUSYesYesYesYesYesNoNoNo?
Apache DerbyYesYesYesYesYesYes?YesNoNo??
ClustrixDBYesNoNoYesYesYesNoYesYesYesYes?
CUBRIDYesYesYesYesYesYesYesYesYesYes133??
IBM Db2YesYesYesYesYesYesYesYesYesYesYes134Yes135
Empress Embedded DatabaseYesYesYesYesYesYesYesYes????
EXASolutionYesYesYesYesYesYesYesNoYesYesYes?
FirebirdYesNoNoYesYesYesYesYesYesYes??
HSQLDBYesYesYesYesYesYesYes136YesYesNoYes137?
H2YesYesYesYesYesYesNoYesexperimental138Yes139??
Informix Dynamic ServerYesYesYes, via MINUSYesYesYesYesYesYesYesYes140?
IngresYesNoNoYesYesYesYesYesYes141Yes142Yes143?
InterBaseYes??YesYes??Yes????
Linter SQL RDBMSYesYesYesYesYesYesYesYesYesYesNoNo
LucidDBYesYesYesYesYesYesYesNo????
MariaDBYes10.3+14410.3+145YesYesYesNoYesYes146Yes147No148Yes149
MaxDBYes??YesYesYesNoYes????
Microsoft Access (JET)YesNoNoYesYesYesNoYesNoNo??
Microsoft Visual FoxproYes??YesYesYes?Yes????
Microsoft SQL ServerYesYesYesYesYesYesYesYesYesYes150Yes151Yes152
Microsoft SQL Server Compact (Embedded Database)YesNoNoYesYes?NoYesNoNo??
Mimer SQLYesYesYesYesYesYes?YesYesNoNo?
MonetDBYesYesYesYesYesYesYesYesYesYesYesNo
MySQLYes8+1538+154YesYesYesNoYes8+1558+156No157No158
OpenLink VirtuosoYesYesYesYesYesYes?Yes??Yes?
OracleYesYesYes, via MINUSYesYesYesYesYesYes 1YesYes159Yes160
Oracle RdbYesYesYesYesYesYesYesYes????
Actian Zen (PSQL)YesNoNoYesYes??YesNoNoNo?
Polyhedra DBMSYesYesYesYesYesNoNoYesNoNoNo?
PostgreSQLYesYesYesYesYesYesYesYesYesYesYes161No162
SAP HANA????????????
solidDBYesYesYesYesYesYesYesYesYesNoNo?
SQL AnywhereYesYesYesYesYesYesYesYesYesYesYes?
SQLiteYesYesYesYes3.43.0+163YesNoYes3.8.3+1643.25+165NoNo166
SQream DBALL onlyNoNoYesYesYesYesNoYesYesNo?
TeradataYesYesYesYesYesYesYesYesYesYesYes?
UniVerseYesYesYesYesYesYesYesNoNoNo??
UnionIntersectExceptInner joinsOuter joinsInner selectsMerge joinsBlobs and clobsCommon table expressionsWindowing functionsParallel querySystem-versioned tables
  • Note (1): Recursive CTEs introduced in 11gR2 supersedes similar construct called CONNECT BY.

Data types

Type systemIntegerFloating pointDecimalStringBinaryDate/TimeBooleanOther
4th DimensionStaticUUID (16-bit), SMALLINT (16-bit), INT (32-bit), BIGINT (64-bit), NUMERIC (64-bit)REAL, FLOATREAL, FLOATCLOB, TEXT, VARCHARBIT, BIT VARYING, BLOBDURATION, INTERVAL, TIMESTAMPBOOLEANPICTURE
Altibase167StaticSMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)REAL (32-bit), DOUBLE (64-bit)DECIMAL, NUMERIC, NUMBER, FLOATCHAR, VARCHAR, NCHAR, NVARCHAR, CLOBBLOB, BYTE, NIBBLE, BIT, VARBITDATEGEOMETRY
ClustrixDB168StaticTINYINT (8-bit), SMALLINT (16-bit), MEDIUMINT (24-bit), INT (32-bit), BIGINT (64-bit)FLOAT (32-bit), DOUBLEDECIMALCHAR, BINARY, VARCHAR, VARBINARY, TEXT, TINYTEXT, MEDIUMTEXT, LONGTEXTTINYBLOB, BLOB, MEDIUMBLOB, LONGBLOBDATETIME, DATE, TIMESTAMP, YEARBIT(1), BOOLEANENUM, SET,
CUBRID169StaticSMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)FLOAT, REAL(32-bit), DOUBLE(64-bit)DECIMAL, NUMERICCHAR, VARCHAR, NCHAR, NVARCHAR, CLOBBLOBDATE, DATETIME, TIME, TIMESTAMPBITMONETARY, BIT VARYING, SET, MULTISET, SEQUENCE, ENUM
IBM Db2?SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)DECFLOAT, REAL, DOUBLEDECIMALCLOB, CHAR, VARCHARBINARY, VARBINARY, BLOBDATE, TIME, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITHOUT TIME ZONEBOOLEANXML, GRAPHIC, VARGRAPHIC, DBCLOB, ROWID
Empress Embedded DatabaseStaticTINYINT, SQL_TINYINT, or INTEGER8; SMALLINT, SQL_SMALLINT, or INTEGER16; INTEGER, INT, SQL_INTEGER, or INTEGER32; BIGINT, SQL_BIGINT, or INTEGER64REAL, SQL_REAL, or FLOAT32; DOUBLE PRECISION, SQL_DOUBLE, or FLOAT64; FLOAT, or SQL_FLOAT; EFLOATDECIMAL, DEC, NUMERIC, SQL_DECIMAL, or SQL_NUMERIC; DOLLARCHARACTER, ECHARACTER, CHARACTER VARYING, NATIONAL CHARACTER, NATIONAL CHARACTER VARYING, NLSCHARACTER, CHARACTER LARGE OBJECT, TEXT, NATIONAL CHARACTER LARGE OBJECT, NLSTEXTBINARY LARGE OBJECT or BLOB; BULKDATE, EDATE, TIME, ETIME, EPOCH_TIME, TIMESTAMP, MICROTIMESTAMPBOOLEANSEQUENCE 32, SEQUENCE
EXASolutionStaticTINYINT, SMALLINT, INTEGER, BIGINT,REAL, FLOAT, DOUBLEDECIMAL, DEC, NUMERIC, NUMBERCHAR, NCHAR, VARCHAR, VARCHAR2, NVARCHAR, NVARCHAR2, CLOB, NCLOBN/ADATE, TIMESTAMP, INTERVALBOOLEAN, BOOLGEOMETRY
FileMaker170StaticNot SupportedNot SupportedNUMBERTEXTCONTAINERTIMESTAMPNot Supported
Firebird171?INT128, INT64, INTEGER, SMALLINTDOUBLE, FLOATDECIMAL, NUMERIC, DECIMAL(38, 4), DECIMAL(10, 4)BLOB, CHAR, CHAR(x) CHARACTER SET UNICODE_FSS, VARCHAR(x) CHARACTER SET UNICODE_FSS, VARCHARBLOB SUB_TYPE TEXT, BLOBDATE, TIME, TIMESTAMP (without time zone and with time zone)BOOLEANTIMESTAMP, TIMESTAMP WITH TIME ZONE, CHAR(38), User defined types (Domains)
Type systemIntegerFloating pointDecimalStringBinaryDate/TimeBooleanOther
HSQLDB172StaticTINYINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)DOUBLE (64-bit)DECIMAL, NUMERICCHAR, VARCHAR, LONGVARCHAR, CLOBBINARY, VARBINARY, LONGVARBINARY, BLOBDATE, TIME, TIMESTAMP, INTERVALBOOLEANOTHER (object), BIT, BIT VARYING, ARRAY
Informix Dynamic Server173Static + UDTSMALLINT (16-bit), INT (32-bit), INT8 (64-bit proprietary), BIGINT (64-bit)SMALLFLOAT (32-bit), FLOAT (64-bit)DECIMAL (32 decimal digits float/fixed, range 10130 to +10125), MONEYCHAR, VARCHAR, NCHAR, NVARCHAR, LVARCHAR, CLOB, TEXT, LONGLVARCHARTEXT, BYTE, BLOB, CLOBDATE, DATETIME, INTERVALBOOLEANSET, LIST, MULTISET, ROW, TIMESERIES, SPATIAL, GEODETIC, NODE, JSON, BSON, USER DEFINED TYPES
Ingres174StaticTINYINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)FLOAT4 (32-bit), FLOAT (64-bit)DECIMALC, CHAR, VARCHAR, LONG VARCHAR, NCHAR, NVARCHAR, LONG NVARCHAR, TEXTBYTE, VARBYTE, LONG VARBYTE (BLOB)DATE, ANSIDATE, INGRESDATE, TIME, TIMESTAMP, INTERVALN/AMONEY, OBJECT_KEY, TABLE_KEY, USER-DEFINED DATA TYPES (via OME)
Linter SQL RDBMSStatic + Dynamic (in stored procedures)SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)REAL(32-bit), DOUBLE(64-bit)DECIMAL, NUMERICCHAR, VARCHAR, NCHAR, NVARCHAR, BLOBBYTE, VARBYTE, BLOBDATEBOOLEANGEOMETRY, EXTFILE
MariaDB175StaticTINYINT (8-bit), SMALLINT (16-bit), MEDIUMINT (24-bit), INT (32-bit), BIGINT (64-bit)FLOAT (32-bit), DOUBLE (aka REAL) (64-bit)DECIMALCHAR, BINARY, VARCHAR, VARBINARY, TEXT, TINYTEXT, MEDIUMTEXT, LONGTEXTTINYBLOB, BLOB, MEDIUMBLOB, LONGBLOBDATETIME, DATE, TIMESTAMP, YEARBIT(1), BOOLEAN (aka BOOL) = synonym for TINYINTENUM, SET, GIS data types (Geometry, Point, Curve, LineString, Surface, Polygon, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon)
Microsoft SQL Server176StaticTINYINT, SMALLINT, INT, BIGINTFLOAT, REALNUMERIC, DECIMAL, SMALLMONEY, MONEYCHAR, VARCHAR, TEXT, NCHAR, NVARCHAR, NTEXTBINARY, VARBINARY, IMAGE, FILESTREAM, FILETABLEDATE, DATETIMEOFFSET, DATETIME2, SMALLDATETIME, DATETIME, TIMEBITCURSOR, TIMESTAMP, HIERARCHYID, UNIQUEIDENTIFIER, SQL_VARIANT, XML, TABLE, Geometry, Geography, Custom .NET datatypes
Microsoft SQL Server Compact (Embedded Database)177StaticTINYINT, SMALLINT, INT, BIGINTFLOAT, REALNUMERIC, DECIMAL, MONEYNCHAR, NVARCHAR, NTEXTBINARY, VARBINARY, IMAGEDATETIMEBITTIMESTAMP, ROWVERSION, UNIQUEIDENTIFIER, IDENTITY, ROWGUIDCOL
Mimer SQLStaticSMALLINT, INT, BIGINT, INTEGER(n)FLOAT, REAL, DOUBLE, FLOAT(n)NUMERIC, DECIMALCHAR, VARCHAR, NCHAR, NVARCHAR, CLOB, NCLOBBINARY, VARBINARY, BLOBDATE, TIME, TIMESTAMP, INTERVALBOOLEANDOMAINS, USER-DEFINED TYPES (including the pre-defined spatial data types location, latitude, longitude and coordinate, and UUID)
MonetDBStatic, extensibleTINYINT, SMALLINT, INT, INTEGER, BIGINT, HUGEINT, SERIAL, BIGSERIALFLOAT, FLOAT(n), REAL, DOUBLE, DOUBLE PRECISIONDECIMAL, NUMERICCHAR, CHAR(n), VARCHAR(n), CLOB, CLOB(n), TEXT, STRINGBLOB, BLOB(n)DATE, TIME, TIME WITH TIME ZONE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, INTERVAL MONTH, INTERVAL DAY, INTERVAL SECONDBOOLEANJSON, JSON(n), URL, URL(n), INET, UUID, GIS data types (Geometry, Point, Curve, LineString, Surface, Polygon, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon), User Defined Types
MySQL178StaticTINYINT (8-bit), SMALLINT (16-bit), MEDIUMINT (24-bit), INT (32-bit), BIGINT (64-bit)FLOAT (32-bit), DOUBLE (aka REAL) (64-bit)DECIMALCHAR, BINARY, VARCHAR, VARBINARY, TEXT, TINYTEXT, MEDIUMTEXT, LONGTEXTTINYBLOB, BLOB, MEDIUMBLOB, LONGBLOBDATETIME, DATE, TIMESTAMP, YEARBIT(1), BOOLEAN (aka BOOL) = synonym for TINYINTENUM, SET, GIS data types (Geometry, Point, Curve, LineString, Surface, Polygon, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon)
OpenLink Virtuoso179Static + DynamicINT, INTEGER, SMALLINTREAL, DOUBLE PRECISION, FLOAT, FLOAT(n)DECIMAL, DECIMAL(n), DECIMAL(m, n), NUMERIC, NUMERIC(n), NUMERIC(m, n)CHARACTER, CHAR(n), VARCHAR, VARCHAR(n), NVARCHAR, NVARCHAR(n)BLOBTIMESTAMP, DATETIME, TIME, DATEN/AANY, REFERENCE (IRI, URI), UDT (User Defined Type), GEOMETRY (BOX, BOX2D, BOX3D, BOXM, BOXZ, BOXZM, CIRCULARSTRING, COMPOUNDCURVE, CURVEPOLYGON, EMPTY, GEOMETRYCOLLECTION, GEOMETRYCOLLECTIONM, GEOMETRYCOLLECTIONZ, GEOMETRYCOLLECTIONZM, LINESTRING, LINESTRINGM, LINESTRINGZ, LINESTRINGZM, MULTICURVE, MULTILINESTRING, MULTILINESTRINGM, MULTILINESTRINGZ, MULTILINESTRINGZM, MULTIPOINT, MULTIPOINTM, MULTIPOINTZ, MULTIPOINTZM, MULTIPOLYGON, MULTIPOLYGONM, MULTIPOLYGONZ, MULTIPOLYGONZM, POINT, POINTM, POINTZ, POINTZM, POLYGON, POLYGONM, POLYGONZ, POLYGONZM, POLYLINE, POLYLINEZ, RING, RINGM, RINGZ, RINGZM)
Type systemIntegerFloating pointDecimalStringBinaryDate/TimeBooleanOther
Oracle180Static + Dynamic (through ANYDATA)NUMBERBINARY_FLOAT, BINARY_DOUBLENUMBERCHAR, VARCHAR2, CLOB, NCLOB, NVARCHAR2, NCHAR, LONG (deprecated)BLOB, RAW, LONG RAW (deprecated), BFILEDATE, TIMESTAMP (with/without TIME ZONE), INTERVALN/ASPATIAL, IMAGE, AUDIO, VIDEO, DICOM, XMLType, UDT, JSON
Actian Zen (PSQL)181StaticBIGINT, INTEGER, SMALLINT, TINYINT, UBIGINT, UINTEGER, USMALLINT, UTINYINTBFLOAT4, BFLOAT8, DOUBLE, FLOATDECIMAL, NUMERIC, NUMERICSA, NUMERICSLB, NUMERICSLS, NUMERICSTB, NUMERICSTSCHAR, LONGVARCHAR, VARCHARBINARY, LONGVARBINARY, VARBINARYDATE, DATETIME, TIMEBITCURRENCY, IDENTITY, SMALLIDENTITY, TIMESTAMP, UNIQUEIDENTIFIER
Polyhedra182StaticINTEGER8 (8-bit), INTEGER(16-bit), INTEGER (32-bit), INTEGER64 (64-bit)FLOAT32 (32-bit), FLOAT (aka REAL; 64-bit)N/AVARCHAR, LARGE VARCHAR (aka CHARACTER LARGE OBJECT)LARGE BINARY (aka BINARY LARGE OBJECT)DATETIMEBOOLEANN/A
PostgreSQL183StaticSMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)REAL (32-bit), DOUBLE PRECISION (64-bit)DECIMAL, NUMERICCHAR, VARCHAR, TEXTBYTEADATE, TIME (with/without TIME ZONE), TIMESTAMP (with/without TIME ZONE), INTERVALBOOLEANENUM, POINT, LINE, LSEG, BOX, PATH, POLYGON, CIRCLE, CIDR, INET, MACADDR, BIT, UUID, XML, JSON, JSONB, arrays, composites, ranges, custom
SAP HANAStaticTINYINT, SMALLINT, INTEGER, BIGINTSMALLDECIMAL, REAL, DOUBLE, FLOAT, FLOAT(n)DECIMALVARCHAR, NVARCHAR, ALPHANUM, SHORTTEXTVARBINARY, BINTEXT, BLOBDATE, TIME, SECONDDATE, TIMESTAMPBOOLEANCLOB, NCLOB, TEXT, ARRAY, ST_GEOMETRY, ST_POINT, ST_MULTIPOINT, ST_LINESTRING, ST_MULTILINESTRING, ST_POLYGON, ST_MULTIPOLYGON, ST_GEOMETRYCOLLECTION, ST_CIRCULARSTRING
solidDBStaticTINYINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)REAL (32-bit), DOUBLE (64-bit), FLOAT (64-bit)DECIMAL, NUMERIC (51 digits)CHAR, VARCHAR, LONG VARCHAR, WCHAR, WVARCHAR, LONG WVARCHARBINARY, VARBINARY, LONG VARBINARYDATE, TIME, TIMESTAMP
SQLite184DynamicINTEGER (64-bit)REAL (aka FLOAT, DOUBLE) (64-bit)N/ATEXT (aka CHAR, CLOB)BLOBN/AN/AN/A
SQream DB185StaticTINYINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)REAL (32-bit), DOUBLE (aka FLOAT) (64-bit)N/ACHAR, VARCHAR, NVARCHARN/ADATE, DATETIME (aka TIMESTAMP)BOOLN/A
Type systemIntegerFloating pointDecimalStringBinaryDate/TimeBooleanOther
TeradataStaticBYTEINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)FLOAT (64-bit)DECIMAL, NUMERIC (38 digits)CHAR, VARCHAR, CLOBBYTE, VARBYTE, BLOBDATE, TIME, TIMESTAMP (w/wo TIME ZONE)PERIOD, INTERVAL, GEOMETRY, XML, JSON, UDT (User Defined Type)
UniDataDynamicN/AN/AN/AN/AN/AN/AN/AN/A
UniVerseDynamicN/AN/AN/AN/AN/AN/AN/AN/A
Type systemIntegerFloating pointDecimalStringBinaryDate/TimeBooleanOther

Other objects

Information about what other objects are supported natively.

Data domainCursorTriggerFunction1Procedure1External routine1
4th DimensionYesNoYesYesYesYes
ADABAS?Yes?Yes?Yes?Yes
Adaptive Server EnterpriseYesYesYesYesYesYes
Advantage Database ServerYesYesYesYesYesYes
AltibaseYesYesYesYesYesYes
Apache DerbyNoYesYesYes2Yes2Yes2
ClustrixDBNoYesNoYesYesYes
CUBRIDYesYesYesYesYes2Yes
Empress Embedded DatabaseYes via RANGE CHECKYesYesYesYesYes
EXASolutionYesNoNoYesYesYes
IBM Db2Yes via CHECK CONSTRAINTYesYesYesYesYes
FirebirdYesYesYesYesYesYes
HSQLDBYesNoYesYesYesYes
H2YesNoYes2Yes2Yes2Yes
Informix Dynamic ServerYes via CHECKYesYesYesYesYes 5
IngresYesYesYesYesYesYes
InterBaseYesYesYesYesYesYes
Linter SQL RDBMSNoYesYesYesYesNo
LucidDBNoYesNoYes2Yes2Yes2
MariaDBYes186YesYesYesYesYes
MaxDBYesYesYesYesYes?
Microsoft Access (JET)YesNoNoNoYes, But single DML/DDL OperationYes
Microsoft Visual FoxproNoYesYesYesYesYes
Microsoft SQL ServerYesYesYesYesYesYes
Microsoft SQL Server Compact (Embedded Database)NoYesNoNoNoNo
Mimer SQLYesYesYesYesYesNo
MonetDBNoNoYesYesYesYes
MySQLNo 3YesYesYesYesYes
OracleYesYesYesYesYesYes
Oracle RdbYesYesYesYesYesYes
OpenLink VirtuosoYesYesYesYesYesYes
Actian Zen (PSQL)YesYesYesYesYesNo
Polyhedra DBMSNoNoYesYesYesYes
PostgreSQLYesYesYesYesYesYes
SAP HANA??????
solidDBYesYesYesYesYesYes
SQL AnywhereYesYesYesYesYesYes
SQLiteNoNoYesNoNoYes
TeradataNoYesYesYesYesYes
UniDataNoNoYesYesYesYes
UniVerseNoNoYesYesYesYes
Data domainCursorTriggerFunction1Procedure1External routine1
  • Note (1): 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.
  • Note (2): In Derby, H2, LucidDB, and CUBRID, users code functions and procedures in Java.
  • Note (3): ENUM datatype exists. CHECK clause is parsed, but not enforced in runtime.
  • Note (5): Informix supports external functions written in Java, C, & C++.

Partitioning

Information about what partitioning methods are supported natively.

RangeHashComposite (Range+Hash)ListExpressionRound Robin
4th Dimension??????
ADABAS??????
Adaptive Server EnterpriseYesYesNoYes??
Advantage Database ServerNoNoNoNo??
AltibaseYesYesNoYes??
Apache DerbyNoNoNoNo??
ClustrixDBYesNoNoNoNo?
CUBRIDYesYesNoYes??
IBM Db2YesYesYesYesYes?
Empress Embedded DatabaseNoNoNoNo??
EXASolutionNoYesNoNoNo?
FirebirdNoNoNoNo??
HSQLDBNoNoNoNo??
H2NoNoNoNo??
Informix Dynamic ServerYesYesYesYesYesYes
IngresYesYesYesYes??
InterBaseNoNoNoNo??
Linter SQL RDBMSNoNoNoNoNo?
MariaDBYesYesYesYes??
MaxDBNoNoNoNo??
Microsoft Access (JET)NoNoNoNo??
Microsoft Visual FoxproNoNoNoNo??
Microsoft SQL ServerYesvia computed columnvia computed columnYesvia computed column?
Microsoft SQL Server Compact (Embedded Database)NoNoNoNo??
Mimer SQLNoNoNoNoNo?
MonetDBYesNoNoNoYes?
MySQLYesYesYesYes??
OracleYesYesYesYesvia Virtual Columns?
Oracle RdbYesYes????
OpenLink VirtuosoYesYesYesYesYes?
Actian Zen (PSQL)NoNoNoNoNo?
Polyhedra DBMSNoNoNoNoNo?
PostgreSQLYesYesYesYesYes?
SAP HANAYesYesYesYesYes?
solidDBYesNoNoNo??
SQL AnywhereNoNoNoNo??
SQLiteNoNoNoNo??
TeradataYesYesYesYes??
UniVerseYesYesYesYes??
RangeHashComposite (Range+Hash)ListExpressionRound Robin

Access control

Information about access control functionalities.

Native network encryption1Brute-force protectionEnterprise directory compatibilityPassword complexity rules2Patch access3Run unprivileged4AuditResource limitSeparation of duties(RBAC)5Security CertificationAttribute-based access control(ABAC)
4DYes (with SSL)?Yes?YesYes?????
Adaptive Server EnterpriseYes (optional; to pay)YesYes (optional ?)YesPartial (need to register; depend on which product)187YesYesYesYesYes (EAL4+ 1)?
Advantage Database ServerYesNoNoNoYesYesNoNoYes??
CUBRIDYes (with SSL)?NoNoYesYesYesYesYes??
IBM Db2Yes?Yes (LDAP, Kerberos...)Yes?YesYesYesYesYes (EAL4+6)?
Empress Embedded Database??NoNoYesYesYesNoYesNo?
EXASolutionNoYesYes (LDAP)YesYesYesYesYesYesNo?
FirebirdYesYes188Yes (Windows trusted authenification)Yes (by custom plugin)Yes (no security page)189YesYes190YesNo7??
HSQLDBYesNoYesYesYesYesNoNoYesNo?
H2YesYes?No?Yes?YesYesNo?
Informix Dynamic ServerYes?Yes10?10YesYesYesYesYes?Yes
Linter SQL RDBMSYes (with SSL)YesYesYes (length only)YesYesYesYesYesYesYes
MariaDBYes (SSL)NoYes (with 5.2, but not on Windows servers)Yes191192Yes193Yes???8No?
Microsoft SQL ServerYes?Yes (Microsoft Active Directory)YesYesYesYes (From 2008)YesYesYes (EAL4+11)?
Microsoft SQL Server Compact (Embedded Database)No (not relevant, only file permissions)No (not relevant)No (not relevant)No (not relevant)YesYes (file access)YesYesNo??
Mimer SQLYes???YesYes (depending on OS)Yes?Yes?Yes
MySQLYes (SSL with 4.0)NoYes (with 5.5, but only in commercial edition)NoPartial (no security page)194Yes???8Yes?
OpenLink VirtuosoYesYesYesYes (optional)Yes (optional)YesYes (optional)Yes (optional)YesNoYes (optional)
OracleYesYesYesYes?YesYesYesYesYes (EAL21)?
Actian Zen (PSQL)Yes?NoNoYesYesYes 12NoNoNo?
Polyhedra DBMSYes (with SSL. Optional)NoNoNoNoYesYes 13YesYes 13No?
PostgreSQLYesYesYes (LDAP, Kerberos...9)Yes (with passwordcheck module)Yes195YesYes (with pgaudit extension)196YesYesYes (EAL2+1)?
SAP HANA???????????
solidDBNoNoYesNoNoYesYesNoNoNoNo
SQL AnywhereYes?Yes (Kerberos)Yes?YesYesNoYesYes (EAL2+1 as Adaptive Server Anywhere)?
SQLiteNo (not relevant, only file permissions)No (not relevant)No (not relevant)No (not relevant)Partial (no security page)197Yes (file access)YesYesNoNo?
TeradataYesNoYes (LDAP, Kerberos...)Yes?YesYesYesYesYesYes
Native network encryption1Brute-force protectionEnterprise directory compatibilityPassword complexity rules2Patch access3Run unprivileged4AuditResource limitSeparation of duties(RBAC)5Security CertificationAttribute-based access control(ABAC)
  • Note (1): Network traffic could be transmitted in a secure way (not clear-text, in general SSL encryption). Precise if option is default, included option or an extra modules to buy.
  • Note (2): Options are present to set a minimum size for password, respect complexity like presence of numbers or special characters.
  • Note (3): How do you get security updates? Is it free access, do you need a login or to pay? Is there easy access through a Web/FTP portal or RSS feed or only through offline access (mail CD-ROM, phone).
  • Note (4): Does database process run as root/administrator or unprivileged user? What is default configuration?
  • Note (5): Is there a separate user to manage special operation like backup (only dump/restore permissions), security officer (audit), administrator (add user/create database), etc.? Is it default or optional?
  • Note (6): Common Criteria certified product list.198
  • Note (7): FirebirdSQL seems to only have SYSDBA user and DB owner. There are no separate roles for backup operator and security administrator.
  • Note (8): User can define a dedicated backup user but nothing particular in default install.199
  • Note (9): Authentication methods.200
  • Note (10): Informix Dynamic Server supports PAM and other configurable authentication. By default uses OS authentication.
  • Note (11): Authentication methods.201
  • Note (12): With the use of Pervasive AuditMaster.
  • Note (13): User-based security is optional in Polyhedra, but when enabled can be enhanced to a role-based model with auditing.202

Databases vs schemas (terminology)

The SQL specification defines what an "SQL schema" is; however, databases implement it differently. To compound this confusion the functionality can overlap with that of a parent database. An SQL schema is simply a namespace within a database; things within this namespace are addressed using the member operator dot ".". This seems to be a universal among all of the implementations.

A true fully (database, schema, and table) qualified query is exemplified as such: SELECT * FROM database.schema.table

Both a schema and a database can be used to isolate one table, "foo", from another like-named table "foo". The following is pseudo code:

  • SELECT * FROM database1.foo vs. SELECT * FROM database2.foo (no explicit schema between database and table)
  • SELECT * FROM [database1.]default.foo vs. SELECT * FROM [database1.]alternate.foo (no explicit database prefix)

The problem that arises is that former MySQL users will create multiple databases for one project. In this context, MySQL databases are analogous in function to PostgreSQL-schemas, insomuch as PostgreSQL deliberately lacks off-the-shelf cross-database functionality (preferring multi-tenancy) that MySQL has. Conversely, PostgreSQL has applied more of the specification implementing cross-table, cross-schema, and then left room for future cross-database functionality.

MySQL aliases schema with database behind the scenes, such that CREATE SCHEMA and CREATE DATABASE are analogs. It can therefore be said that MySQL has implemented cross-database functionality, skipped schema functionality entirely, and provided similar functionality into their implementation of a database. In summary, PostgreSQL fully supports schemas and multi-tenancy by strictly separating databases from each other and thus lacks some functionality MySQL has with databases, while MySQL does not even attempt to support standard schemas.

Oracle has its own spin where creating a user is synonymous with creating a schema. Thus a database administrator can create a user called PROJECT and then create a table PROJECT.TABLE. Users can exist without schema objects, but an object is always associated with an owner (though that owner may not have privileges to connect to the database). With the 'shared-everything' Oracle RAC architecture, the same database can be opened by multiple servers concurrently. This is independent of replication, which can also be used, whereby the data is copied for use by different servers. In the Oracle implementation, a 'database' is a set of files which contains the data while the 'instance' is a set of processes (and memory) through which a database is accessed.

Informix supports multiple databases in a server instance like MySQL. It supports the CREATE SCHEMA syntax as a way to group DDL statements into a single unit creating all objects created as a part of the schema as a single owner. Informix supports a database mode called ANSI mode which supports creating objects with the same name but owned by different users.

PostgreSQL and some other databases have support for foreign schemas, which is the ability to import schemas from other servers as defined in ISO/IEC 9075-9 (published as part of SQL:2008). This appears like any other schema in the database according to the SQL specification while accessing data stored either in a different database or a different server instance. The import can be made either as an entire foreign schema or merely certain tables belonging to that foreign schema.203 While support for ISO/IEC 9075-9 bridges the gap between the two competing philosophies surrounding schemas, MySQL and Informix maintain an implicit association between databases while ISO/IEC 9075-9 requires that any such linkages be explicit in nature.

See also

Wikibooks has a book on the topic of: SQL dialects reference

References

  1. "Product Release Life Cycle". 10 January 2020. http://www.4d.com/products/lifecycle.html

  2. "Apache Derby: Downloads". Retrieved 2024-03-18. https://db.apache.org/derby/derby_downloads.html

  3. "- ASF JIRA". issues.apache.org. https://issues.apache.org/jira/projects/DERBY

  4. "cockroachdb Issue tracker". GitHub. Archived from the original on 2021-05-06. Retrieved 2021-05-03. https://web.archive.org/web/20210506023814/https://github.com/cockroachdb/cockroach/issues

  5. "Issue Navigator - CUBRID Bug Tracking System". jira.cubrid.org. http://jira.cubrid.org/browse/TOOLS-4308?jql=

  6. Stevens, O. (Oct–Dec 2009). "The History of Datacom/DB". Annals of the History of Computing. 31 (4). IEEE: 87–91. doi:10.1109/MAHC.2009.108. ISSN 1058-6180. S2CID 16803811. /wiki/Doi_(identifier)

  7. "CA Datacom - CA Technologies". Archived from the original on 2016-02-14. Retrieved 2014-07-06. https://web.archive.org/web/20160214142439/http://www.ca.com/us/opscenter/ca-datacom.aspx

  8. "Datacom Product Sheet" (PDF). http://www.ca.com/us/~/media/Files/ProductBriefs/cs2277-ca-datacom-v14-ps.pdf

  9. "IBM unveils Db2 12.1". 21 October 2024. Retrieved 6 December 2024. https://www.ibm.com/new/announcements/ibm-unveils-db2-12-1-the-next-generation-enterprise-database-powered-by-ai

  10. "Release 5.0.2". 12 February 2025. Retrieved 20 February 2025. https://github.com/FirebirdSQL/firebird/releases/tag/v5.0.2

  11. IPL, Firebird SQL http://www.firebirdsql.org/index.php?op=doc&id=ipl

  12. IDPL, Firebird SQL http://www.firebirdsql.org/index.php?op=doc&id=idpl

  13. "Firebird RDBMS Issue Tracker". Archived from the original on 2008-08-28. Retrieved 2017-11-01. https://web.archive.org/web/20080828140502/http://tracker.firebirdsql.org/

  14. "HyperSQL Database Engine (HSQLDB) / Bugs". sourceforge.net. https://sourceforge.net/p/hsqldb/bugs/

  15. "Issues · h2database/h2database". GitHub. https://github.com/h2database/h2database/issues

  16. "Actian X & Ingres - Lifecycle Dates". https://communities.actian.com/s/supportservices/lifecycle-dates/actian-x-ingres

  17. "Linter Techsupport". Archived from the original on 2019-03-27. Retrieved 2019-04-04. https://web.archive.org/web/20190327183921/https://www.linter.ru/ru/support/technical-support/

  18. https://mariadb.com/kb/en/mariadb-11-6-2-release-notes/. {{cite web}}: Missing or empty |title= (help) https://mariadb.com/kb/en/mariadb-11-6-2-release-notes/

  19. "MariaDB licenses". https://mariadb.com/kb/en/mariadb-license/

  20. "- Jira". jira.mariadb.org. https://jira.mariadb.org/projects/MDEV/issues

  21. "MaxDB PTS - Problem Tracking". maxdb.sap.com. https://maxdb.sap.com/webpts/

  22. "Explore SQL Server 2022 capabilities". Retrieved 6 January 2023. https://www.microsoft.com/en-us/sql-server/sql-server-2022

  23. "MonetDB Foundation". 4 April 2023. https://www.monetdb.org/about-us/monetdb-foundation//

  24. "MonetDB Latest Release". 26 August 2024. https://www.monetdb.org/release-notes/

  25. MonetDB License MPL2.0, MonetDB Foundation, 8 February 2022 https://www.monetdb.org/about-us/privacy-and-legals/

  26. "MonetDB Issues". GitHub. Archived from the original on 2021-05-13. Retrieved 2021-06-08. https://web.archive.org/web/20210513162053/https://github.com/MonetDB/MonetDB/issues

  27. mSQL, Products, AU: Hughes, archived from the original on 2009-10-15, retrieved 2009-09-13 https://web.archive.org/web/20091015100648/http://www.hughes.com.au/products/msql/

  28. "Changes in MySQL 8.0.38 (2024-07-01, General Availability)". 1 July 2024. Retrieved 1 July 2024. https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-38.html

  29. "MySQL Bugs". bugs.mysql.com. https://bugs.mysql.com/

  30. "Issues · openlink/virtuoso-opensource · GitHub". GitHub. Archived from the original on 2020-12-23. Retrieved 2017-11-01. https://web.archive.org/web/20201223232822/https://github.com/openlink/virtuoso-opensource/issues

  31. "Oracle Database 23c: The Next Long Term Support Release". https://blogs.oracle.com/database/post/oracle-database-23c-the-next-long-term-support-release

  32. "Oracle Rdb Product Family Compatibility Matrix". oracle.com. https://www.oracle.com/database/technologies/related/rdb-pmatrix.html#rdb

  33. Polyhedra Lite In-Memory Relational Database System Freeware Available Now from Enea, Press Release, EECatalog. http://eecatalog.com/embeddedlinux/2012/10/11/polyhedra-lite-in-memory-relational-database-system-freeware-available-now-from-enea/

  34. "PostgreSQL 17.4, 16.8, 15.12, 14.17, and 13.20 Released!". PostgreSQL. The PostgreSQL Global Development Group. 2025-02-20. Retrieved 2025-02-21. https://www.postgresql.org/about/news/postgresql-174-168-1512-1417-and-1320-released-3018/

  35. "PostgreSQL: License". www.postgresql.org. https://www.postgresql.org/about/licence/

  36. "A bug tracker for PostgreSQL? [LWN.net]". lwn.net. https://lwn.net/Articles/660468/

  37. "SQLite Release 3.49.1 On 2025-02-18". 18 February 2025. Retrieved 19 February 2025. https://sqlite.org/releaselog/3_49_1.html

  38. "SQLite: Ticket Main Menu". www.sqlite.org. https://www.sqlite.org/src/reportlist

  39. SQream DB Version 2.1 SQL Reference Guide, SQream Technologies, archived from the original on 2018-02-12, retrieved 2018-02-12 https://web.archive.org/web/20180212201639/http://docs.sqream.com/2.1/manual/sql_reference.html

  40. "Bug Reports". https://www.superbase.com/bug-reports/

  41. "Release 8.5.1". 17 January 2025. Retrieved 30 January 2025. https://github.com/pingcap/tidb/releases/tag/v8.5.1

  42. "Issues · pingcap/Tidb". GitHub. https://github.com/pingcap/tidb/issues

  43. "yugabyte/yugabyte-db". github.com. https://github.com/yugabyte/yugabyte-db/releases

  44. "Issues · yugabyte/Yugabyte-db". GitHub. https://github.com/YugaByte/yugabyte-db/issues

  45. "Firebird: The true open source database for Windows, Linux, Mac OS X and more". https://www.firebirdsql.org/en/firebird-3-0/

  46. "Ingres 11.0 Documentation". docs.actian.com. https://docs.actian.com/ingres/11.0/index.html#page/Ing_Install/Install_Ingres_for_OpenVMS.htm

  47. "Building MariaDB on Mac OS X using Homebrew". AskMonty KnowledgeBase. Archived from the original on October 20, 2011. Retrieved September 30, 2011. https://web.archive.org/web/20111020134104/http://kb.askmonty.org/en/building-mariadb-on-mac-os-x-using-homebrew

  48. https://play.google.com/store/apps/details?id=com.esminis.server.mariadb&hl=de MariaDB Android Version by Tautvydas Andrikys https://play.google.com/store/apps/details?id=com.esminis.server.mariadb&hl=de

  49. "Announcing SQL Server on Linux". 7 March 2016. http://blogs.microsoft.com/blog/2016/03/07/announcing-sql-server-on-linux

  50. "Mimer SQL is now available for OpenVMS on x86". 31 March 2023. https://developer.mimer.com/mimer-sql-is-now-available-for-openvms-on-x86/

  51. http://techotv.com/run-apache-mysql-php-http-web-server-android-os-phone-tablet/ Run Apache, Mysql, Php – Web server on Android mobile or Tablet http://techotv.com/run-apache-mysql-php-http-web-server-android-os-phone-tablet/

  52. "Aminet - dev/Gg/Postgresql632-mos-bin.lha". Archived from the original on 2017-03-14. Retrieved 2017-03-14. https://web.archive.org/web/20170314154720/http://aminet.net/package/dev/gg/postgresql632-mos-bin

  53. "PostgreSQL - Oss4zos". Archived from the original on 2015-05-27. Retrieved 2013-08-15. https://web.archive.org/web/20150527204912/http://www.oss4zos.org/mediawiki/index.php?title=PostgreSQL#z.2FOS

  54. "Lock granularity". db.apache.org. https://db.apache.org/derby/docs/10.14/devguide/cdevconcepts23810.html

  55. "DB2 for Linux UNIX and Windows 9.7.0>Fundamentos de DB2>Performance tuning>Factors affecting performance>Application design>Concurrency issues>Isolation levels". Archived from the original on 2014-04-15. Retrieved 2014-04-14. https://web.archive.org/web/20140415071213/http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.perf.doc/doc/c0004121.html

  56. "Advanced". http://www.h2database.com/html/advanced.html#mvcc

  57. "Transactional DDL in PostgreSQL: A Competitive Analysis - PostgreSQL wiki". wiki.postgresql.org. https://wiki.postgresql.org/wiki/Transactional_DDL_in_PostgreSQL:_A_Competitive_Analysis

  58. "[MDEV-4259] transactional DDL - Jira". jira.mariadb.org. https://jira.mariadb.org/browse/MDEV-4259

  59. "SQL Server Transaction Locking and Row Versioning Guide". https://technet.microsoft.com/en-us/library/jj856598.aspx

  60. "Transactional DDL in PostgreSQL: A Competitive Analysis - PostgreSQL wiki". wiki.postgresql.org. https://wiki.postgresql.org/wiki/Transactional_DDL_in_PostgreSQL:_A_Competitive_Analysis

  61. "MySQL :: MySQL 5.6 Reference Manual :: 8.10.1 Internal Locking Methods". Archived from the original on 2018-03-06. Retrieved 2018-03-05. https://web.archive.org/web/20180306023025/https://dev.mysql.com/doc/refman/5.6/en/internal-locking.html

  62. "Transactional DDL in PostgreSQL: A Competitive Analysis - PostgreSQL wiki". wiki.postgresql.org. https://wiki.postgresql.org/wiki/Transactional_DDL_in_PostgreSQL:_A_Competitive_Analysis

  63. "dba-oracle.com". http://www.dba-oracle.com/t_locks_row_level_locking_update.htm

  64. "Polyhedra 8.7 new headline feature: locking". http://developer.polyhedra.com/history/polyhedra-8-7

  65. "PostgreSQL: Documentation: Explicit Locking : Row-Level Locks". Archived from the original on 2021-05-13. Retrieved 2021-05-13. https://web.archive.org/web/20210513151442/https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING_ROWS

  66. Lane, Tom (April 13, 2011). "Re: BUG #5974: UNION construct type cast gives poor error message". PostgreSQL Mailing List Archives. https://www.postgresql.org/message-id/9799.1302719551%40sss.pgh.pa.us

  67. "SAP Help Portal". help.sap.com. https://help.sap.com/viewer/e38b2f6217f24bdb90a3ff8ae57b1dd5/17.0/en-US/3bee03b56c5f1014ab68e3eff32515dd.html

  68. "SAP Help Portal". help.sap.com. https://help.sap.com/viewer/e38b2f6217f24bdb90a3ff8ae57b1dd5/17.0/en-US/3bf0656e6c5f1014bb32fe2f7ce00302.html

  69. "SAP Help Portal". help.sap.com. https://help.sap.com/docs/r/98ad9ec940e2465695685d98e308dff5/17.0/en-US/3bd460b56c5f10148922c11d39abc0b3.html

  70. "File Locking And Concurrency In SQLite Version 3". www.sqlite.org. https://www.sqlite.org/lockingv3.html

  71. SQLite Full Unicode support is optional and not installed by default in most systems (like Android, Debian...) http://www.sqlite.org/faq.html#q18

  72. "Transactional DDL in PostgreSQL: A Competitive Analysis - PostgreSQL wiki". wiki.postgresql.org. https://wiki.postgresql.org/wiki/Transactional_DDL_in_PostgreSQL:_A_Competitive_Analysis

  73. "TiDB Features". docs.pingcap.com. https://docs.pingcap.com/tidb/stable/basic-features/

  74. "MySQL - The InnoDB Storage Engine". http://dev.mysql.com/doc/refman/5.5/en/innodb-storage-engine.html

  75. "InnoDB - Oracle Wiki". http://wiki.oracle.com/page/InnoDB

  76. "MySQL 5.6 Reference Manual". http://dev.mysql.com/doc/refman/5.6/en/create-table.html

  77. "Identifier Names". MariaDB KnowledgeBase. Retrieved 26 September 2014. https://mariadb.com/kb/en/mariadb/documentation/sql-language-structure/identifier-names/

  78. "PostgreSQL Limits". Retrieved 2021-05-13. https://www.postgresql.org/docs/current/limits.html

  79. "Large Objects: Introduction". Retrieved 2021-05-13. https://www.postgresql.org/docs/current/lo-intro.html

  80. "Date/Time Types". Retrieved 2021-05-13. https://www.postgresql.org/docs/current/datatype-datetime.html

  81. "SAP Help Portal". help.sap.com. https://help.sap.com/viewer/61ecb3d4d8be4baaa07cc4db0ddb5d0a/17.0/en-US/813836f16ce210149e89f219dc353b7e.html

  82. Technical Specifications, Guide, Firebird SQL, archived from the original on 2010-06-15, retrieved 2008-03-30 https://web.archive.org/web/20100615021231/http://firebirdsql.org/index.php?op=guide&id=techspec

  83. Library, MSDN, Microsoft, 21 May 2024 http://msdn.microsoft.com/en-us/library/ms187746.aspx

  84. "Column count limit", Reference Manual, MySQL 5.1 Documentation, Oracle https://dev.mysql.com/doc/refman/8.0/en/column-count-limit.html

  85. "Column count limit", Reference Manual, MySQL 5.1 Documentation, Oracle https://dev.mysql.com/doc/refman/8.0/en/column-count-limit.html

  86. "Row-Overflow Considerations", TechNet Library, SQL Server Documentation, Microsoft, 2012 https://technet.microsoft.com/en-us/library/ms186981.aspx

  87. "Date functions", Language, SQLite http://www.sqlite.org/lang_datefunc.html

  88. Online books, Sybase, archived from the original on 2005-10-23 https://web.archive.org/web/20051023153932/http://sybooks.sybase.com/onlinebooks/group-as/asg1250e/sag/@Generic__BookTextView/3225;

  89. Informix Performance Guide, Info Centre, IBM http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=/com.ibm.perf.doc/ids_prf_534.htm

  90. Dynamic Materialized Views in MySQL, Pure, Red Noize, 2005, archived from the original on 2006-04-23 https://web.archive.org/web/20060423094210/http://pure.rednoize.com/archives/13/

  91. "Derby", Full Text Indexing, Search, Issues, Apache https://issues.apache.org/jira/browse/DERBY-472

  92. "CUBRID 9.0 release". Archived from the original on 2013-02-14. Retrieved 2013-02-05. https://web.archive.org/web/20130214205927/http://www.cubrid.org/blog/news/announcing-cubrid-9-0-with-3x-performance-increase-and-sharding-support

  93. "CUBRID 9.0 release". Archived from the original on 2013-02-14. Retrieved 2013-02-05. https://web.archive.org/web/20130214205927/http://www.cubrid.org/blog/news/announcing-cubrid-9-0-with-3x-performance-increase-and-sharding-support

  94. Full-text search with Db2 Text Search, Developer Works, IBM http://www.ibm.com/developerworks/data/tutorials/dm-0810shettar/

  95. Does Firebird support full-text search?, Firebird FAQ http://www.firebirdfaq.org/faq328/

  96. Fulltext Search, Tutorial, H2 Database http://www.h2database.com/html/tutorial.html#fulltext

  97. Create Spatial Index, Grammar, H2 Database http://www.h2database.com/html/grammar.html#create_index

  98. Informix 15.0.0 online documentation, IBM, 19 November 2024 https://www.ibm.com/docs/en/informix-servers/15.0.0?topic=indexes-forest-trees

  99. Full Text Search Functions (PDF), Documentation, RU: Linter, archived from the original (PDF) on 2011-08-20, retrieved 2010-06-06 https://web.archive.org/web/20110820025927/http://linter.ru/en/documentation/pdf/phrase.pdf

  100. SPATIAL INDEX, MariaDB, mariadb.com, retrieved 24 September 2017 https://mariadb.com/kb/en/library/spatial-index/

  101. "Storage Engine Index Types". mariadb.com. Retrieved 25 April 2016. https://mariadb.com/kb/en/mariadb/storage-engine-index-types/

  102. Virtual Columns - MariaDB Knowledge Base https://mariadb.com/kb/en/virtual-columns/

  103. "Fulltext Index Overview". mariadb.com. Retrieved 25 April 2016. https://mariadb.com/kb/en/mariadb/fulltext-index-overview/

  104. SPATIAL INDEX, MariaDB, mariadb.com, retrieved 24 September 2017 https://mariadb.com/kb/en/library/spatial-index/

  105. Does Microsoft Access have Full Text Search?, Questions, Stack Overflow https://stackoverflow.com/questions/399406/does-microsoft-access-have-full-text-search

  106. "Microsoft SQL Server Full-Text Search", Library, MSDN, Microsoft http://msdn.microsoft.com/en-us/library/ms142571.aspx

  107. "Spatial Indexing Overview", Library, Tech Net, Microsoft, 4 October 2012 https://technet.microsoft.com/en-us/library/bb964712.aspx

  108. "Microsoft SQL Server Compact Full-text search is not available", Forums, MSDN, Microsoft http://social.msdn.microsoft.com/Forums/en-US/sqlce/thread/4a8af1a6-c644-41a5-8637-c7c5a6d73a4c

  109. Index Types Per Storage Engine, MySQL, Oracle, retrieved 24 September 2017 https://dev.mysql.com/doc/refman/5.7/en/create-index.html#create-index-storage-engine-index-types

  110. "Feature request #4990: Functional Indexes", Bugs, MySQL, Oracle http://bugs.mysql.com/bug.php?id=4990

  111. "Feature request #13979: InnoDB engine doesn't support FULLTEXT", Bugs, MySQL, Oracle http://bugs.mysql.com/bug.php?id=13979

  112. "MySQL v5.6.4 Release Notes", Release Notes, MySQL, Oracle http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-4.html

  113. Creating Spatial Indexes, MySQL, Oracle http://dev.mysql.com/doc/refman/5.0/en/creating-spatial-indexes.html

  114. Changes in MySQL 5.7.5, Oracle https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-5.html#mysqld-5-7-5-spatial-support

  115. Does Oracle support full text search?, Questions, Stack Overflow https://stackoverflow.com/questions/202623/does-oracle-support-full-text-search

  116. "Location Features for Database 11g", Spatial & Locator, Tech Network, Oracle http://www.oracle.com/technetwork/database/options/spatial/

  117. "Oracle / PLSQL: ORA-01408 Error Message". www.techonthenet.com. https://www.techonthenet.com/oracle/errors/ora01408.php

  118. Index Types, Documentation, PostgreSQL community, 11 November 2021 https://www.postgresql.org/docs/current/indexes-types.html

  119. Full Text Search, Documentation, PostgreSQL community, 11 November 2021 https://www.postgresql.org/docs/current/textsearch.html

  120. Building Spatial Indexes, PostGIS Manual, The PostGIS Development Group, archived from the original on 2021-05-03, retrieved 2021-05-13 https://web.archive.org/web/20210503205533/https://postgis.net/docs/postgis_usage.html#build-indexes

  121. "The SQLite R*Tree Module". www.sqlite.org. http://www.sqlite.org/rtree.html

  122. "Indexes On Expressions". sqlite.org. https://sqlite.org/expridx.html

  123. "SQLite FTS5 Extension". www.sqlite.org. https://www.sqlite.org/fts5.html

  124. SpatiaLite, IT: Gaia GIS 2.3.1, archived from the original on 2011-07-22, retrieved 2010-12-06 https://web.archive.org/web/20110722033735/http://www.gaia-gis.it/spatialite/

  125. Full-Text Search, Online Publications, Teradata http://www.info.teradata.com/FullText/eFull-Text-Srch.cfm

  126. geospatial /wiki/Teradata_Geospatial

  127. UDF, Ad Hoc Data, archived from the original on 2019-09-14, retrieved 2007-01-11 https://web.archive.org/web/20190914222246/http://www.udf.adhoc-data.de/index_eng.html

  128. "Create DB", Library, MSDN, Microsoft http://msdn.microsoft.com/library/default.asp?url=/library/en-us/createdb/cm_8_des_05_8os3.asp

  129. "SQL", Library, MSDN, Microsoft http://msdn.microsoft.com/en-us/library/aa933124(SQL.80).aspx

  130. Petkovic, Dusan (2005). Microsoft SQL Server 2005: A Beginner's Guide. McGraw-Hill Professional. p. 300. ISBN 978-0-07-226093-9. 978-0-07-226093-9

  131. "InnoDB adaptive Hash", Reference manual 5.0, Development documentation, Oracle http://dev.mysql.com/doc/refman/5.0/en/innodb-adaptive-hash.html

  132. = "Forest of Trees", Informix 15.0 online documentation, Development documentation, IBM {{citation}}: Check |chapter-url= value (help) https://www.ibm.com/docs/en/informix-servers/15.0.0?topic=indexes-forest-trees

  133. "CUBRID 9.0 release". Archived from the original on 2013-02-14. Retrieved 2013-02-05. https://web.archive.org/web/20130214205927/http://www.cubrid.org/blog/news/announcing-cubrid-9-0-with-3x-performance-increase-and-sharding-support

  134. "Article", Library, Developer Works, IBM http://www.ibm.com/developerworks/data/library/techarticle/dm-0608mcinerney/

  135. "What's new in MariaDB 10.3". https://modern-sql.com/blog/2018-08/whats-new-in-mariadb-10.3#3.system-versioned-tables

  136. "HyperSQL 2.5 New Features". hsqldb.org. http://hsqldb.org/web/features200.html

  137. "HyperSQL 2.5 New Features". hsqldb.org. http://hsqldb.org/web/features200.html

  138. "Advanced". h2database.com. http://h2database.com/html/advanced.html#recursive_queries

  139. "Functions". www.h2database.com. https://www.h2database.com/html/functions.html

  140. Clay, David (January 1, 1993). "Informix parallel data query (PDQ)". IEEE Computer Society Press. pp. 71–73 – via ACM Digital Library. http://portal.acm.org/citation.cfm?id=382443

  141. "Ingres". https://docs.actian.com/ingres/10S/index.html#page/RelSum%2FCommon_Table_Expressions.htm

  142. "Ingres". https://docs.actian.com/ingres/10.2/index.html#page/RelSum%2FWindow_Functions.htm

  143. "Ingres". https://docs.actian.com/ingres/10s/index.html#page/DatabaseAdmin/Parallel_Query_Execution.htm

  144. "INTERSECT". mariadb.com. https://mariadb.com/kb/en/library/intersect/

  145. "EXCEPT". mariadb.com. https://mariadb.com/kb/en/library/except/

  146. "CTE implemented in 10.2.2". mariadb.org. Retrieved 26 July 2017. https://jira.mariadb.org/browse/MDEV-8308

  147. "Window Functions Overview". mariadb.com. Retrieved 25 April 2016. https://mariadb.com/kb/en/mariadb/window-functions-overview/

  148. "Feature request #1542: Parallel query", Bugs, MySQL, Oracle http://bugs.mysql.com/bug.php?id=1542

  149. "What's new in MariaDB 10.3". https://modern-sql.com/blog/2018-08/whats-new-in-mariadb-10.3#3.system-versioned-tables

  150. Only very limited functions available before SQL Server 2012, Microsoft http://msdn.microsoft.com/en-US/library/ms189798%28v=sql.105%29

  151. "SQL Server Parallel Query Processing", Library, MSDN, Microsoft, 4 October 2012 http://msdn.microsoft.com/en-us/library/ms178065.aspx

  152. "What's new in MariaDB 10.3". https://modern-sql.com/blog/2018-08/whats-new-in-mariadb-10.3#3.system-versioned-tables

  153. "INTERSECT". mysql.com. https://dev.mysql.com/doc/refman/8.0/en/intersect.html

  154. "EXCEPT". mysql.com. https://dev.mysql.com/doc/refman/8.0/en/except.html

  155. "Feature request #16244: SQL-99 Derived table WITH clause (CTE)", Bugs, MySQL, Oracle http://bugs.mysql.com/bug.php?id=16244

  156. Window Functions, mysql.com, retrieved 20 July 2021 https://dev.mysql.com/doc/refman/8.0/en/window-functions.html

  157. "Feature request #1542: Parallel query", Bugs, MySQL, Oracle http://bugs.mysql.com/bug.php?id=1542

  158. "What's new in MariaDB 10.3". https://modern-sql.com/blog/2018-08/whats-new-in-mariadb-10.3#3.system-versioned-tables

  159. Parallel Query, Wiki, Ora FAQ http://www.orafaq.com/wiki/Parallel_Query_FAQ

  160. "New Features Oracle 12.1.0.1". Archived from the original on 2020-10-25. https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/Changes-in-This-Release-for-Oracle-Database-SQL-Language-Reference.html#GUID-10675CB5-32F6-4E2B-8D01-A9C6B9649839

  161. Parallel Query, PostgreSQL, 11 August 2022 https://www.postgresql.org/docs/current/parallel-query.html

  162. "What's new in MariaDB 10.3". https://modern-sql.com/blog/2018-08/whats-new-in-mariadb-10.3#3.system-versioned-tables

  163. "SQLite Release 3.43.0 On 2023-08-24". sqlite.org. https://www.sqlite.org/releaselog/3_43_0.html

  164. "The WITH Clause". sqlite.org. https://sqlite.org/lang_with.html

  165. "Window Functions". sqlite.org. https://sqlite.org/windowfunctions.html

  166. "What's new in MariaDB 10.3". https://modern-sql.com/blog/2018-08/whats-new-in-mariadb-10.3#3.system-versioned-tables

  167. "Data Types", General Reference, HDB, Altibase http://atc.altibase.com/sub09/611b/html/GeneralReference/ch01s01s01.html

  168. "10. Data Types", Reference manual, MySQL 5.0, Oracle http://dev.mysql.com/doc/refman/5.0/en/data-types.html

  169. "Data Types", CUBRID SQL Guide, Reference Manual, CUBRID[permanent dead link‍] http://www.cubrid.org/manual/syntax/syntax_datatype_num_def.htm

  170. "FileMaker 14 Tech Specs". FileMaker=May 12, 2015. http://help.filemaker.com/app/answers/detail/a_id/14164/kw/calculation%20timestamp

  171. "Migration from MS-SQL to Firebird". Firebird Project. Retrieved April 12, 2015. http://www.firebirdsql.org/manual/migration-mssql-data-types.html

  172. "General: HSQLDB data types", Guide, 2.0 Documents, HSQLDB http://hsqldb.org/doc/2.0/guide/sqlgeneral-chapt.html#sqlgeneral_types_ops-sect

  173. "IBM Informix Guide to SQL: Reference, v11.50 (SC23-7750-04)". Publications. IBM. 20 August 2001. Retrieved August 7, 2013. http://www-05.ibm.com/e-business/linkweb/publications/servlet/pbi.wss?CTY=US&FNC=SRX&PBL=SC23-7750-04

  174. "3: Understanding SQL Data Types", SQL 9.3 Reference Guide, Documents, Ingres, archived from the original on 2011-07-13, retrieved 2009-11-16 https://web.archive.org/web/20110713033627/http://docs.ingres.com/Ingres/9.3/SQL%20Reference%20Guide/understandingsqldatatypes.htm#o3623

  175. "Data Types". mariadb.com. Retrieved 25 April 2016. https://mariadb.com/kb/en/mariadb/data-types/

  176. "SQL Server Data Types", Library, MSDN, Microsoft, 21 May 2024 http://msdn.microsoft.com/en-us/library/ms187752.aspx

  177. "SQL Server Compact Data Types", Library, MSDN, Microsoft, 24 March 2011 http://msdn.microsoft.com/en-us/library/ms172424.aspx

  178. "10. Data Types", Reference manual, MySQL 5.0, Oracle http://dev.mysql.com/doc/refman/5.0/en/data-types.html

  179. "Datatypes", SQL Reference, OpenLink Software http://docs.openlinksw.com/virtuoso/sqlrefDATATYPES.html

  180. "Data Types", SQL 11.2 Reference, Server documents, Oracle, archived from the original on 2010-03-14, retrieved 2009-09-21 https://web.archive.org/web/20100314015040/http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/sql_elements001.htm#i45441

  181. "Data Types", Pervasive PSQL Supported Data Types, Product documentation, Pervasive http://docs.pervasive.com/products/database/psqlv11/wwhelp/wwhimpl/js/html/wwhelp.htm#href=sqlref/SQLDtype.10.1.html#134765

  182. Polyhedra SQL Reference Manual, Product documentation, Enea AB, archived from the original on 2013-10-04, retrieved 2013-04-23 https://web.archive.org/web/20131004225034/http://developer.polyhedra.com/manuals/rtrdb-reference-manual/sql-reference-manual

  183. "Data Types", Manual, PostgreSQL 10 Documentation, PostgreSQL community, 11 August 2022 https://www.postgresql.org/docs/10/static/datatype.html

  184. Datatypes, SQLite 3 http://www.sqlite.org/datatype3.html

  185. SQream SQL Reference Guide, SQream Technologies http://www.sqream.com/docs/latest/manual/#_data_types

  186. "Constraint". mariadb.com. https://mariadb.com/kb/en/library/constraint/#check-constraints

  187. Support, Downloads, Sybase, retrieved 2008-09-07[dead link‍] http://downloads.sybase.com/swd/base.do?client=support

  188. "Release", Engine, Development, Firebird SQL 2.0 http://www.firebirdsql.org/index.php?op=devel&sub=engine&id=fb20_release

  189. Files, Firebird SQL http://www.firebirdsql.org/index.php?op=files

  190. "Trace and Audit Services". Firebird Project. Retrieved April 12, 2015. http://www.firebirdsql.org/rlsnotesh/rlsnotes25.html#rnfb25-trace

  191. "cracklib_password_check". mariadb.com. Retrieved 9 December 2014. https://mariadb.com/kb/en/mariadb/documentation/plugins/cracklib_password_check/

  192. "simple_password_check". mariadb.com. Retrieved 9 December 2014. https://mariadb.com/kb/en/mariadb/documentation/plugins/simple_password_check/

  193. "Security Vulnerabilities Fixed in MariaDB". mariadb.com. Retrieved 25 April 2016. https://mariadb.com/kb/en/mariadb/security/

  194. "Downloads", Development, MySQL, Oracle http://dev.mysql.com/downloads/

  195. Security, Support, PostgreSQL community, archived from the original on 2011-11-01, retrieved 2018-03-05 https://web.archive.org/web/20111101131843/http://www.postgresql.org/support/security.html

  196. Open Source PostgreSQL Audit Logging, September 2022 https://github.com/pgaudit/pgaudit/blob/master/README.md

  197. Download, SQLite http://www.sqlite.org/download.html

  198. DB, Products, Common Criteria Portal, retrieved 2021-05-13 https://www.commoncriteriaportal.org/products/#DB

  199. Backup MySQL, How to, Gentoo wiki, archived from the original on 2008-09-02, retrieved 2008-09-07 https://web.archive.org/web/20080902231142/http://gentoo-wiki.com/HOWTO_Backup_MySQL

  200. Authentication methods, 8.1 Documents, PostgreSQL community, 24 July 2014 https://www.postgresql.org/docs/8.4/interactive/auth-methods.html

  201. Common Criteria (CC, ISO15408), Microsoft, archived from the original on 2014-02-13 https://web.archive.org/web/20140213221406/https://www.microsoft.com/en-us/sqlserver/common-criteria.aspx

  202. Adding audit trails to a Polyhedra IMDB database, White paper, Enea AB http://developer.polyhedra.com/how-to-guides/auditing

  203. "PostgreSQL: Documentation: IMPORT FOREIGN SCHEMA". www.postgresql.org. Retrieved 2016-06-11. https://www.postgresql.org/docs/current/static/sql-importforeignschema.html