Comparison of relational database management systems

Last updated

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.

Contents

General information

MaintainerFirst public release dateLatest stable versionLatest release dateLicensePublic issues list
4D (4th Dimension) 4D S.A.S.1984v16.02017-01-10 [1] Proprietary No
ADABAS Software AG 19708.12013-06 Proprietary No
Adaptive Server Enterprise SAP AG 198716.0 SP03 PL072019-06-10 Proprietary No
Advantage Database Server (ADS) SAP AG 199212.02015 Proprietary No
Altibase Altibase Corp.20007.1.0.1.22018-03-02 Proprietary No
Apache Derby Apache 200410.17.1.0 [2] 2023-11-14 Apache License Yes [3]
ClustrixDB MariaDB Corporation 2010v7.02015-08-19 Proprietary No
CockroachDB Cockroach Labs2015v20.2.82021-04-23BSL,CCL,MIT,BSDYes [4]
CUBRID CUBRID2008-1111.2.32023-01-31 Apache License 2.0, BSD license for APIs and GUI toolsYes [5]
Datacom CA, Inc. Early 70s [6] 14 [7] 2012 [8] Proprietary No
IBM Db2 IBM 198311.5.9 [9]   OOjs UI icon edit-ltr-progressive.svg 2023-11-15; 6 months ago Proprietary No
Empress Embedded Database Empress Software Inc197910.202010-03 Proprietary No
Exasol EXASOL AG 20047.1.12021-09-15; 2 years ago Proprietary No
FileMaker FileMaker, Inc., an Apple subsidiary1985-04192020-05-20 Proprietary No
Firebird Firebird project2000-07-255.0.0 [10]   OOjs UI icon edit-ltr-progressive.svg 2024-01-11; 4 months agoIPL [11] and IDPL [12] Yes [13]
GPUdb GIS Federal 20143.2.52015-01-14 Proprietary No
HSQLDB HSQL Development Group20012.6.12021-10-21 BSD Yes [14]
H2 H2 Software20052.1.2142022-06-13 EPL and modified MPL Yes [15]
Informix Dynamic Server IBM / HCL Technologies 198014.10.xC92022-10-03 Proprietary No
Ingres Actian 197411.2 [16] 2022-05-06 GPL and Proprietary No
InterBase Embarcadero 1984XE7 v12.0.4.3572015-08-12 Proprietary No
Linter SQL RDBMS RELEX Group19906.0.17.532018-02-15 Proprietary Yes [17]
LucidDB The Eigenbase Project2007-010.9.42012-01-05 GPL v2No
MariaDB MariaDB Community 2010-02-0111.3.2 [18]   OOjs UI icon edit-ltr-progressive.svg 2024-02-16; 3 months ago GPL v2, LGPL (for client-libraries) [19] Yes [20]
MaxDB SAP AG 2003-057.9.0.82014 Proprietary Yes [21]
SingleStore (formerly MemSQL) SingleStore 2012-067.1.112020-10-12 Proprietary No
Microsoft Access (JET) Microsoft 199216 (2016)2015-09-22 Proprietary No
Microsoft Visual Foxpro Microsoft 19849 (2005)2007-10-11 Proprietary No
Microsoft SQL Server Microsoft 19892022 [22]   OOjs UI icon edit-ltr-progressive.svg 2022-11-16; 18 months ago Proprietary No
Microsoft SQL Server Compact (Embedded Database) Microsoft 20002011 (v4.0) Proprietary No
Mimer SQL Mimer Information Technology197811.0.8D2024-05-17 Proprietary No
MonetDB MonetDB Solutions [23] 2004Dec2023 [24] 2023-12-28Mozilla Public License, version 2.0 [25] Yes [26]
mSQL Hughes Technologies19944.1 [27] 2017-06-30 Proprietary No
MySQL Oracle Corporation 1995-118.4.0 [28]   OOjs UI icon edit-ltr-progressive.svg 2024-04-30; 17 days ago GPL v2 or Proprietary Yes [29]
NexusDB NexusDB Pty Ltd20034.00.142015-06-25 Proprietary No
HPE NonStop SQL Hewlett Packard Enterprise 1987SQL/MX 3.4 Proprietary No
NuoDB NuoDB 20134.12020-08 Proprietary No
Omnis Studio TigerLogic Inc1982-076.1.3 Release 1no2015-12 Proprietary No
OpenEdge Progress Software Corporation 198412.82024-1 Proprietary No
OpenLink Virtuoso OpenLink Software19987.2.5.12018-08-15 GPL v2 or Proprietary Yes [30]
Oracle DB Oracle Corporation 1979-1123ai [31]   OOjs UI icon edit-ltr-progressive.svg 2023-09-19; 7 months ago Proprietary No
Oracle Rdb Oracle Corporation 19847.4.1.1 [32] 2021-04-21 [±] Proprietary No
Paradox Corel Corporation1985112009-09-07 Proprietary No
Percona Server for MySQL Percona 20068.0.36-282024-04-04 [±] GPL v2Yes
Actian Zen (PSQL) Actian 1982v152021 Proprietary No
Polyhedra DBMS ENEA AB 19939.02015-06-24 Proprietary, with Polyhedra Lite available as Freeware [33] No
PostgreSQL PostgreSQL Global Development Group1989-0616.12023-11-09 [34] Postgres License [35] No [36]
R:Base R:BASE Technologies198210.02016-05-26 Proprietary No
SAP HANA SAP AG 20102.0 SPS042019-08-08 Proprietary No
solidDB UNICOM Global 19927.0.0.102014-04-29 Proprietary No
SQL Anywhere SAP AG 199217.0.0.482019-07-26 Proprietary No
SQLBase Unify Corp.198211.52008-11 Proprietary No
SQLite D. Richard Hipp 2000-09-123.45.3 [37]   OOjs UI icon edit-ltr-progressive.svg 2024-04-15; 32 days ago Public domain Yes [38]
SQream DB SQream Technologies20142.1 [39] 2018-01-15 Proprietary No
Superbase Superbase 1984Classic2003 Proprietary No
Superbase NG Superbase NG 2002Superbase NG 2.102017 Proprietary Yes [40]
Teradata Teradata 1984152014-04 Proprietary No
TiDB PingCAP Inc.20168.0.0 [41]   OOjs UI icon edit-ltr-progressive.svg 2024-03-29; 49 days ago Apache License Yes [42]
UniData Rocket Software19888.2.12017-07 Proprietary No
YugabyteDB Yugabyte, Inc.20182.20.1.3 [43] 2024-01-25 [±] Apache License Yes [44]
MaintainerFirst public release dateLatest stable versionLatest release dateLicensePublic issues list

Operating system support

The operating systems that the RDBMSes can run on.

Windows macOS Linux BSD UNIX AmigaOS z/OS OpenVMS iOS Android
4th Dimension YesYesNoNoNoNoNoNoNoNo
ADABAS YesNoYesNoYesNoYesNoNoNo
Adaptive Server Enterprise YesNoYesYesYesNoNoNoNoNo
Advantage Database Server YesNoYesNoNoNoNoNoNoNo
Altibase YesNoYesNoYesNoNoNoNoNo
Apache Derby YesYesYesYesYesNoYesNo ?No
ClustrixDB NoNoYesNoYesNoNoNoNoNo
CockroachDB YesYesYesNoNoNoNoNoNoNo
CUBRID YesPartialYesNoNoNoNoNoNoNo
IBM Db2 YesYesYesNoYesNoYesNoYesNo
Empress Embedded Database YesYesYesYesYesNoNoNoNoYes
EXASolution NoNoYesNoNoNoNoNoNoNo
FileMaker YesYesYesNoNoNoNoNoYesNo
Firebird YesYesYesYesYesNoMaybeNoYes [45] No
HSQLDB YesYesYesYesYesNoYesNo ? ?
H2 YesYesYesYesYesNoYesNo ?Yes
Informix Dynamic Server YesYesYesYesYesNoNoNoNoNo
Ingres YesYesYesYesYesNoPartialYes [46] NoNo
InterBase YesYesYesNoYes (Solaris)NoNoNoYesYes
Linter SQL RDBMS YesYesYesYesYesNoUnder Linux on IBM Z YesYesYes
LucidDB YesYesYesNoNoNoNoNoNoNo
MariaDB YesYes [47] YesYesYesNoNoNo ?Yes [48]
MaxDB YesNoYesNoYesNoMaybeNoNoNo
Microsoft Access (JET)YesNoNoNoNoNoNoNoNoNo
Microsoft Visual Foxpro YesNoNoNoNoNoNoNoNoNo
Microsoft SQL Server YesNoYes [49] NoNoNoNoNoNoNo
Microsoft SQL Server Compact (Embedded Database) YesNoNoNoNoNoNoNoNoNo
Mimer SQL YesYesYesNoYesNoNoYes [50] NoYes
MonetDB YesYesYesYesYesNoNoNoNoNo
MySQL YesYesYesYesYesYesYesNo ?Yes [51]
Omnis Studio YesYesYesNoNoNoNoNoNoNo
OpenEdge YesNoYesNoYesNoNoNoNoNo
OpenLink Virtuoso YesYesYesYesYesNoNoNoNoNo
Oracle YesYesYesNoYesNoYesYesNoNo
Oracle Rdb NoNoNoNoNoNoNoYesNoNo
Actian Zen (PSQL) YesYes (OEM only)YesNoNoNoNoNoYesYes
Polyhedra YesNoYesNoYesNoNoNoNoNo
PostgreSQL YesYesYesYesYesYes (MorphOS) [52] Under Linux on IBM Z [53] NoNoYes
R:Base YesNoNoNoNoNoNoNoNoNo
SAP HANA YesNoYesNoNoNoNoNoNoNo
solidDB YesNoYesNoYesNoUnder Linux on IBM Z NoNoNo
SQL Anywhere YesYesYesNoYesNoNoNoNoYes
SQLBase YesNoYesNoNoNoNoNoNoNo
SQLite YesYesYesYesYesYesMaybeNoYesYes
SQream DB NoNoYesNoNoNoNoNoNoNo
Superbase YesNoNoNoNoYesNoNoNoNo
Superbase NG YesNoYesNoNoNoNoNoNoNo
Teradata YesNoYesNoYesNoNoNoNoNo
TiDB YesYesYesPartialNoNoNoNoNoNo
UniData YesNoYesNoYesNoNoNoNoNo
UniVerse YesNoYesNoYesNoNoNoNoNo
YugabyteDB YesYesYesNoNoNoNoNoNoNo
Windows macOS Linux BSD UNIX AmigaOS z/OS OpenVMS iOS Android

Fundamental features

Information about what fundamental RDBMS features are implemented natively.

Database Name ACID Referential integrity Transactions Fine-grained locking Multiversion concurrency control Unicode Interface Type inference
4th Dimension YesYesYes ? ?Yes GUI & SQL Yes
ADABAS YesNoYes ? ?Yesproprietary direct call & SQL (via 3rd party)Yes
Adaptive Server Enterprise YesYesYesYes (Row-level locking)YesYes API & GUI & SQL Yes
Advantage Database Server YesYesYesYes (Row-level locking) ?Yes 4 API & SQL Yes
Altibase YesYesYesYes (Row-level locking) ?Yes API & GUI & SQL Yes
Apache Derby YesYesYesYes (Row-level locking) [54]  ?Yes SQL Yes
ClustrixDB YesYesYesYesYesYes SQL Yes
CockroachDB YesYesYesYes (Row-level locking)YesYes SQL No
CUBRID YesYesYesYes (Row-level locking)YesYes GUI & SQL Yes
IBM Db2 YesYesYesYes (Row-level locking) [55]  ?Yes GUI & SQL Yes
Empress Embedded Database YesYesYes ? ?Yes API & SQL Yes
EXASolution YesYesYes ? ?Yes API & GUI & SQL Yes
Firebird YesYesYes ?YesYes API & SQL Yes
HSQLDB YesYesYes ?YesYes SQL Yes
H2 YesYesYes ?Yes [56] Yes SQL Yes
Informix Dynamic Server YesYesYesYes (Row-level locking)YesYes SQL, REST, MQ, and JSON Yes
Ingres YesYesYesYes (Row-level locking)YesYes SQL & QUEL Yes
InterBase YesYesYes ? ?Yes SQL Yes
Linter SQL RDBMS YesYesYes (Except for DDL)Yes (Row-level locking) ?Yes API & GUI & SQL Yes
LucidDB YesNoNo ? ?Yes SQL Yes
MariaDB Yes 2 YesYes 2 except for DDL [57] [58] Yes (Row-level locking)YesYes SQL Yes
MaxDB YesYesYes ? ?Yes SQL Yes
Microsoft Access (JET)YesYesYes ? ?Yes GUI & SQL Yes
Microsoft Visual FoxPro YesYesYesYes (Row-level locking SMB2)YesNo GUI & SQL Yes
Microsoft SQL Server YesYesYesYes (Row-level locking) [59] YesYes GUI & SQL Yes
Microsoft SQL Server Compact (Embedded Database) YesYesYes ? ?Yes GUI & SQL Yes
Mimer SQL YesYesYesYes (Optimistic locking)YesYes API & GUI & SQL Yes
MonetDB YesYesYes ? ?Yes API & SQL & MALYes
MySQL Yes 2 Yes 3 Yes 2 except for DDL [57] Yes (Row-level locking) [60] YesYes GUI 5 & SQL Yes
OpenEdge YesYes 6 YesYes (Row-level locking) ?Yes GUI & SQL Yes
OpenLink Virtuoso YesYesYes ? ?Yes API & GUI & SQL Yes
Oracle YesYesYes except for DDL [57] Yes (Row-level locking) [61] YesYes API & GUI & SQL Yes
Oracle Rdb YesYesYes ? ?Yes SQL Yes
Actian Zen (PSQL) YesYesYes ? ?Yes API & GUI & SQL Yes
Polyhedra DBMS YesYesYesYes (optimistic and pessimistic cell-level locking) [62]  ?Yes API & SQL Yes
PostgreSQL YesYesYesYes (Row-level locking) [63] YesYes API & GUI & SQL No [64]
SAP HANA YesYesYesYes (Row-level locking)YesYes API & GUI & SQL Yes
solidDB YesYesYesYes (Row-level locking) ?Yes API & SQL Yes
SQL Anywhere YesYesYesYes (Row-level locking) [65] Yes [66] Yes API & GUI & HTTP(S) (REST & SOAP) [67] & SQL Yes
SQLBase YesYesYes ? ?Yes API & GUI & SQL Yes
SQLite YesYesYesNo (Database-level locking) [68] NoOptional [69] API & SQL Yes
Superbase NG  ? ? ?Yes (Record-level locking) ?Yes GUI & Proprietary & ODBC Yes
Teradata YesYesYesYes (Hash and Partition) ?Yes SQL Yes
TiDB YesYesYes except for DDL [57] Yes (Row-level locking) [70] YesYes GUI 5 & SQL Yes
UniData YesNoYes ? ?YesMultipleYes
UniVerse YesNoYes ? ?YesMultipleYes
Database Name ACID Referential integrity Transactions Fine-grained locking Multiversion concurrency control Unicode Interface Type inference

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 Dimension Limited ? ?65,135200 GB (2 GiB Unicode)200 GB (2 GiB Unicode)64 bits ? ? ?
Advantage Database Server Unlimited16 EiB 65,530 B65,135 / (10+ AvgFieldNameLength)4 GiB  ?64 bits ? ?128
Apache Derby UnlimitedUnlimitedUnlimited1,012 (5,000 in views)2,147,483,647 chars254 (VARCHAR: 32,672)64 bits0001-01-019999-12-31128
ClustrixDB UnlimitedUnlimited64 MB on Appliance, 4 MB on AWS ?64 MB64 MB64 MB0001-01-019999-12-31254
CUBRID 2 EB2 EBUnlimitedUnlimitedUnlimited1 GB64 bits0001-01-019999-12-31254
IBM DB2 Unlimited2 ZB1,048,319 B1,0122 GB32 KiB64 bits0001-01-019999-12-31128
Empress Embedded Database Unlimited2631 bytes2 GB32,7672 GB2 GB64 bits0000-01-019999-12-3132
EXASolution UnlimitedUnlimitedUnlimited10,0002 MB128 bits0001-01-019999-12-31256
FileMaker 8 TB8 TB8 TB256,000,0004 GB10,000,0001 billion characters, 10−400 to 10400, +-0001-01-014000-12-31100
Firebird Unlimited 1 ~32 TB65,536 BDepends on data types used32 GB32,767 B64 bits1003276831
HSQLDB 64 TBUnlimited 8 Unlimited 8 Unlimited 8 64 TB 7 Unlimited 8 Unlimited 8 0001-01-019999-12-31128
H2 64 TBUnlimited 8 Unlimited 8 Unlimited 8 64 TB 7 Unlimited 8 64 bits-9999999999999999Unlimited 8
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 ~128 PB 12 ~128 PB 12 32,765 bytes (exclusive of large objects)32,7654 TB32,76510125 13 01/01/0001 10 12/31/9999128 bytes
Ingres UnlimitedUnlimited256 KB1,0242 GB32 000 B64 bits00019999256
InterBase Unlimited 1 ~32 TB65,536 BDepends on data types used2 GB32,767 B64 bits1003276831
Linter SQL RDBMS Unlimited230 rows64 KB (w/o BLOBs),
2GB (each BLOB value)
2502 GB4000 B64 bits0001-01-019999-12-3166
MariaDB UnlimitedMyISAM storage limits: 256 TB;
Innodb storage limits: 64 TB;
Aria storage limits: ???
64 KB 3 4,096 4 4 GB (longtext, longblob)64 KB (text)64 bits1000999964 [74]
Microsoft Access (JET)2 GB2 GB16 MB25564 KB (memo field),
1 GB ("OLE Object" field)
255 B (text field)32 bits0100999964
Microsoft Visual Foxpro Unlimited2 GB65,500 B2552 GB16 MB32 bits0001999910
Microsoft SQL Server 524,272 TB (32 767 files × 16 TB max file size)

16ZB per instance

524,272 TB8,060 bytes / 2 TB 6 1,024 / 30,000(with sparse columns)2 GB / Unlimited (using RBS/FILESTREAM object)2 GB 6 126 bits 2 00019999128
Microsoft SQL Server Compact (Embedded Database) 4 GB4 GB8,060 bytes10242 GB4000154 bits00019999128
Mimer SQL UnlimitedUnlimited16000 (+lob data)252Unlimited1500045 digits0001-01-019999-12-31128
MonetDB UnlimitedUnlimitedUnlimitedUnlimited2 GB2 GB128 bits-4712-01-019999-12-311024
MySQL UnlimitedMyISAM storage limits: 256 TB; Innodb storage limits: 64 TB64 KB 3 4,096 4 4 GB (longtext, longblob)64 KB (text)64 bits1000999964
OpenLink Virtuoso 32 TB per instance
(Unlimited via elastic cluster)
DB size (or 32 TB)4 KB2002 GB2 GB23109999100
Oracle 2 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 B 11 126 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
Polyhedra Limited by available RAM, address space232 rowsUnlimited65,5364 GB (subject to RAM)4 GB (subject to RAM)64 bits0001-01-018000-12-31255
PostgreSQL [75] Unlimited32 TB1.6 TB250–1600 depending on type1 GB (text, bytea) stored inline or 4 TB using pg_largeobject

[76]

1 GBUnlimited−4,713

[77]

5,874,89763
SAP HANA  ? ? ? ? ? ? ? ? ? ?
solidDB 256 TB256 TB32 KB + BLOB dataLimited by row size4 GB4 GB64 bits-32768-01-0132767-12-31254
SQL Anywhere [78] 104 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
SQLite 128 TB (231 pages × 64 KB max page size)Limited by file sizeLimited by file size32,7672 GB2 GB64 bitsNo DATE type 9 No DATE type 9 Unlimited
Teradata UnlimitedUnlimited64000 wo/lobs
(64 GB w/lobs)
2,0482 GB64,00038 digits0001-01-019999-12-31128
UniVerse UnlimitedUnlimitedUnlimitedUnlimitedUnlimitedUnlimitedUnlimitedUnlimitedUnlimitedUnlimited
Max DB sizeMax table sizeMax row sizeMax columns per rowMax Blob/Clob sizeMax CHAR sizeMax NUMBER sizeMin DATE valueMax DATE valueMax column name size

Tables and views

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

Temporary table Materialized view
4th Dimension YesNo
ADABAS  ? ?
Adaptive Server Enterprise Yes 1 Yes – see precomputed result sets
Advantage Database Server YesNo (only common views)
Altibase YesNo (only common views)
Apache Derby YesNo
ClustrixDB YesNo
CUBRID Yes (only CTE)No (only common views)
IBM Db2 YesYes
Empress Embedded Database YesYes
EXASolution YesNo
Firebird YesNo (only common views)
HSQLDB YesNo
H2 YesNo (only common views)
Informix Dynamic Server YesNo 2
Ingres YesNo
InterBase YesNo
Linter SQL RDBMS YesYes
LucidDB NoNo
MariaDB YesNo 4
MaxDB YesNo
Microsoft Access (JET)NoNo
Microsoft Visual Foxpro YesYes
Microsoft SQL Server YesYes
Microsoft SQL Server Compact (Embedded Database) YesNo
Mimer SQL NoNo
MonetDB YesNo (only common views)
MySQL YesNo 4
Oracle YesYes
Oracle Rdb YesYes
OpenLink Virtuoso YesYes
Actian Zen (PSQL) YesNo
Polyhedra DBMS NoNo (only common views)
PostgreSQL YesYes
SAP HANA Yes ?
solidDB YesNo (only common views)
SQL Anywhere YesYes
SQLite YesNo
Superbase YesYes
Teradata YesYes
UniData YesNo
UniVerse YesNo
Temporary table Materialized view

Note (1): Server provides tempdb, which can be used for public and private (for the session) temp tables. [84]

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. [85]

Note (4): Materialized views can be emulated using stored procedures and triggers. [86]

Indexes

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

R-/R+ tree Hash Expression Partial Reverse Bitmap GiST GIN Full-text Spatial FOT Duplicate index prevention
4th Dimension  ?Cluster ? ? ? ? ? ?Yes ? ?No
ADABAS  ? ? ? ? ? ? ? ? ? ? ?No
Adaptive Server Enterprise NoNoYesNoYesNoNoNoYes ? ?No
Advantage Database Server NoNoYesNoYesYesNoNoYes ? ?No
Apache Derby NoNoNoNoNoNoNoNoNo [87]  ? ?No
ClustrixDB NoYesNoNoNoNoNoNoNoNo ?No
CUBRID NoNoYes [88] Yes [88] YesNoNoNoNoNoNoNo
IBM Db2 YesYesYesNoYesYesNoNoYes [89]  ? ?No
Empress Embedded Database YesNoNoYesNoYesNoNoNo ? ?No
EXASolution NoYesNoNoNoNoNoNoNo ? ?No
Firebird NoNoYesNoYesNoNoNoNo [90]  ? ?No
HSQLDB NoNoNoNoNoNoNoNoNo ? ?No
H2 NoYesNoNoNoNoNoNoYes [91] Yes [92]  ?No
Informix Dynamic Server YesYesYesYesYesYesYesYesYesYesYes [93] Yes
Ingres YesYesIngres v10NoNoIngres v10NoNoNo ? ?No
InterBase NoNoNoNoNoNoNoNoNo ? ?No
Linter SQL RDBMS 10 NoYes temporary indexes for equality joinsYes for some scalar functions like LOWER and UPPERNoNoNoNoNoYes [94] NoNoYes
LucidDB NoNoNoNoNoYesNoNoNo ? ?No
MariaDB Aria and MyISAM tables and, since v10.2.2, InnoDB tables only [95] MEMORY, [96] InnoDB, 5 tables onlyPERSISTENT virtual columns only [97] NoNoNoNoNoYes [98] Aria and MyISAM tables and, since v10.2.2, InnoDB tables only [95]  ?No
MaxDB NoNoNoNoNoNoNoNoNo ? ?No
Microsoft Access (JET)NoNoNoNoNoNoNoNoNo [99]  ? ?No
Microsoft Visual Foxpro NoNoYesYesYes 2 YesNoNoNo ? ?No
Microsoft SQL Server Spatial IndexesYes 4 Yes 3 Yeson Computed columns 3 Bitmap filter index for Star Join QueryNoNoYes [100] Yes [101]  ?No
Microsoft SQL Server Compact (Embedded Database) NoNoNoNoNoNoNoNoNo [102]  ? ?No
Mimer SQL NoNoNoNoYesNoNoNoYesYesNoNo
MonetDB NoYesNoNoNoNoNoNoNoNoNoNo
MySQL Spatial Indexes [103] MEMORY, Cluster (NDB), InnoDB, 5 tables onlyNo [104] NoNoNoNoNoMyISAM tables [105] and, since v5.6.4, InnoDB tables [106] MyISAM tables [107] and, since v5.7.5, InnoDB tables [108]  ?No
OpenLink Virtuoso YesClusterYesYesNoYesNoNoYesYes (Commercial only)NoNo
Oracle Yes  11 Cluster TablesYesYes  6 YesYesNoNoYes [109] Yes [110]  ?Yes [111]
Oracle Rdb NoYes ?NoNo ?NoNo ? ? ?No
Actian Zen (PSQL) NoNoNoNoNoNoNoNoNoNoNoNo
Polyhedra DBMS NoYesNoNoNoNoNoNoNoNo ?No
PostgreSQL YesYesYesYesYes 7 YesYes [112] YesYes [113] PostGIS [114] NoNo
SAP HANA  ? ? ? ? ? ? ? ? ? ? ?No
solidDB NoNoNoNoYesNoNoNoNoNoNoNo
SQL Anywhere NoNoYesNoNoNoNoNoYesYes ?Yes
SQLite Yes [115] NoYes [116] YesNoNoNoNoYes [117] SpatiaLite [118]  ?No
SQream DB  ? ? ? ?Yes ? ? ? ? ? ?No
Teradata NoYesYesYesNoYesNoNo ? [119]  ? ?No
UniVerse YesYesYes 3 Yes 3 Yes 3 NoNoNo ?Yes [120]  ?No
R-/R+ tree Hash Expression Partial Reverse Bitmap GiST GIN Full-text Spatial FOT Duplicate index prevention

Note (1): The users need to use a function from freeAdhocUDF library or similar. [121]

Note (2): Can be implemented for most data types using expression-based indexes.

Note (3): Can be emulated by indexing a computed column [122] (doesn't easily update) or by using an "Indexed View" [123] (proper name not just any view works [124] ).

Note (4): Used for InMemory ColumnStore index, temporary hash index for hash join, Non/Cluster & fill factor.

Note (5): InnoDB automatically generates adaptive hash index [125] 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.

Database capabilities

Union Intersect Except Inner joins Outer joins Inner selects Merge joins Blobs and clobs Common table expressions Windowing functions Parallel query System-versioned tables
4th Dimension YesYesYesYesYesNoNoYes ? ? ? ?
ADABAS Yes ? ? ? ? ? ? ? ? ? ? ?
Adaptive Server Enterprise Yes ? ?YesYesYesYesYes ? ?Yes ?
Advantage Database Server YesNoNoYesYesYesYesYes ?No ? ?
Altibase YesYesYes, via MINUSYesYesYesYesYesNoNoNo ?
Apache Derby YesYesYesYesYesYes ?YesNoNo ? ?
ClustrixDB YesNoNoYesYesYesNoYesYesYesYes ?
CUBRID YesYesYesYesYesYesYesYesYesYes [88]  ? ?
IBM Db2 YesYesYesYesYesYesYesYesYesYesYes [126] Yes [127]
Empress Embedded Database YesYesYesYesYesYesYesYes ? ? ? ?
EXASolution YesYesYesYesYesYesYesNoYesYesYes ?
Firebird YesNoNoYesYesYesYesYesYesYes ? ?
HSQLDB YesYesYesYesYesYesYes [128] YesYesNoYes [128]  ?
H2 YesYesYesYesYesYesNoYesexperimental [129] Yes [130]  ? ?
Informix Dynamic Server YesYesYes, via MINUSYesYesYesYesYesYesYesYes [131]  ?
Ingres YesNoNoYesYesYesYesYesYes [132] Yes [133] Yes [134]  ?
InterBase Yes ? ?YesYes ? ?Yes ? ? ? ?
Linter SQL RDBMS YesYesYesYesYesYesYesYesYesYesNoNo
LucidDB YesYesYesYesYesYesYesNo ? ? ? ?
MariaDB Yes10.3+ [135] 10.3+ [136] YesYesYesNoYesYes [137] Yes [138] No [139] Yes [127]
MaxDB Yes ? ?YesYesYesNoYes ? ? ? ?
Microsoft Access (JET)YesNoNoYesYesYesNoYesNoNo ? ?
Microsoft Visual Foxpro Yes ? ?YesYesYes ?Yes ? ? ? ?
Microsoft SQL Server YesYesYesYesYesYesYesYesYesYes [140] Yes [141] Yes [127]
Microsoft SQL Server Compact (Embedded Database) YesNoNoYesYes ?NoYesNoNo ? ?
Mimer SQL YesYesYesYesYesYes ?YesYesNoNo ?
MonetDB YesYesYesYesYesYesYesYesYesYesYesNo
MySQL YesNoNoYesYesYesNoYes8+ [142] 8+ [143] No [139] No [127]
OpenLink Virtuoso YesYesYesYesYesYes ?Yes ? ?Yes ?
Oracle YesYesYes, via MINUSYesYesYesYesYesYes 1 YesYes [144] Yes [145]
Oracle Rdb YesYesYesYesYesYesYesYes ? ? ? ?
Actian Zen (PSQL) YesNoNoYesYes ? ?YesNoNoNo ?
Polyhedra DBMS YesYesYesYesYesNoNoYesNoNoNo ?
PostgreSQL YesYesYesYesYesYesYesYesYesYesYes [146] No [127]
SAP HANA  ? ? ? ? ? ? ? ? ? ? ? ?
solidDB YesYesYesYesYesYesYesYesYesNoNo ?
SQL Anywhere YesYesYesYesYesYesYesYesYesYesYes ?
SQLite YesYesYesYesLEFT onlyYesNoYes3.8.3+ [147] 3.25+ [148] NoNo [127]
SQream DB ALL onlyNoNoYesYesYesYesNoYesYesNo ?
Teradata YesYesYesYesYesYesYesYesYesYesYes ?
UniVerse YesYesYesYesYesYesYesNoNoNo ? ?
Union Intersect Except Inner joins Outer joins Inner selects Merge joins Blobs and clobs Common table expressions Windowing functions Parallel query System-versioned tables

Note (1): Recursive CTEs introduced in 11gR2 supersedes similar construct called CONNECT BY.

Data types

Type system Integer Floating point Decimal String Binary Date/Time Boolean Other
4th Dimension StaticUUID (16-bit), SMALLINT (16-bit), INT (32-bit), BIGINT (64-bit), NUMERIC (64-bit)REAL, FLOATREAL, FLOATCLOB, TEXT, VARCHARBIT, BITVARYING, BLOBDURATION, INTERVAL, TIMESTAMPBOOLEANPICTURE
Altibase [149] StaticSMALLINT (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
ClustrixDB [150] StaticTINYINT (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,
CUBRID [151] StaticSMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)FLOAT, REAL(32-bit), DOUBLE(64-bit)DECIMAL, NUMERICCHAR, VARCHAR, NCHAR, NVARCHAR, CLOBBLOBDATE, DATETIME, TIME, TIMESTAMPBITMONETARY, BITVARYING, SET, MULTISET, SEQUENCE, ENUM
IBM Db2  ?SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)DECFLOAT, REAL, DOUBLEDECIMALCLOB, CHAR, VARCHARBINARY, VARBINARY, BLOBDATE, TIME, TIMESTAMPWITHTIMEZONE, TIMESTAMPWITHOUTTIMEZONEBOOLEANXML, GRAPHIC, VARGRAPHIC, DBCLOB, ROWID
Empress Embedded Database StaticTINYINT, SQL_TINYINT, or INTEGER8; SMALLINT, SQL_SMALLINT, or INTEGER16; INTEGER, INT, SQL_INTEGER, or INTEGER32; BIGINT, SQL_BIGINT, or INTEGER64REAL, SQL_REAL, or FLOAT32; DOUBLEPRECISION, SQL_DOUBLE, or FLOAT64; FLOAT, or SQL_FLOAT; EFLOATDECIMAL, DEC, NUMERIC, SQL_DECIMAL, or SQL_NUMERIC; DOLLARCHARACTER, ECHARACTER, CHARACTERVARYING, NATIONALCHARACTER, NATIONALCHARACTERVARYING, NLSCHARACTER, CHARACTERLARGEOBJECT, TEXT, NATIONALCHARACTERLARGEOBJECT, NLSTEXTBINARYLARGEOBJECT or BLOB; BULKDATE, EDATE, TIME, ETIME, EPOCH_TIME, TIMESTAMP, MICROTIMESTAMPBOOLEANSEQUENCE 32, SEQUENCE
EXASolution StaticTINYINT, SMALLINT, INTEGER, BIGINT,REAL, FLOAT, DOUBLEDECIMAL, DEC, NUMERIC, NUMBERCHAR, NCHAR, VARCHAR, VARCHAR2, NVARCHAR, NVARCHAR2, CLOB, NCLOBN/ADATE, TIMESTAMP, INTERVALBOOLEAN, BOOLGEOMETRY
FileMaker [152] StaticNot SupportedNot SupportedNUMBERTEXTCONTAINERTIMESTAMPNot Supported
Firebird [153]  ?INT64, INTEGER, SMALLINTDOUBLE, FLOATDECIMAL, NUMERIC, DECIMAL(18, 4), DECIMAL(10, 4)BLOB, CHAR, CHAR(x)CHARACTERSETUNICODE_FSS, VARCHAR(x)CHARACTERSETUNICODE_FSS, VARCHARBLOBSUB_TYPETEXT, BLOBDATE, TIME, TIMESTAMP (without time zone)BOOLEANTIMESTAMP, CHAR(38), User defined types (Domains)
Type system Integer Floating point Decimal String Binary Date/Time Boolean Other
HSQLDB [154] StaticTINYINT (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, BITVARYING, ARRAY
Informix Dynamic Server [155] Static + 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, TEXTTEXT, BYTE, BLOB, CLOBDATE, DATETIME, INTERVALBOOLEANSET, LIST, MULTISET, ROW, TIMESERIES, SPATIAL, GEODETIC, JSON, BSON, USERDEFINEDTYPES
Ingres [156] StaticTINYINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)FLOAT4 (32-bit), FLOAT (64-bit)DECIMALC, CHAR, VARCHAR, LONGVARCHAR, NCHAR, NVARCHAR, LONGNVARCHAR, TEXTBYTE, VARBYTE, LONGVARBYTE (BLOB)DATE, ANSIDATE, INGRESDATE, TIME, TIMESTAMP, INTERVALN/AMONEY, OBJECT_KEY, TABLE_KEY, USER-DEFINEDDATATYPES (via OME)
Linter SQL RDBMS Static + 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
MariaDB [157] StaticTINYINT (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 Server [158] StaticTINYINT, 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) [159] StaticTINYINT, SMALLINT, INT, BIGINTFLOAT, REALNUMERIC, DECIMAL, MONEYNCHAR, NVARCHAR, NTEXTBINARY, VARBINARY, IMAGEDATETIMEBITTIMESTAMP, ROWVERSION, UNIQUEIDENTIFIER, IDENTITY, ROWGUIDCOL
Mimer SQL StaticSMALLINT, 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)
MonetDB Static, extensibleTINYINT, SMALLINT, INT, INTEGER, BIGINT, HUGEINT, SERIAL, BIGSERIALFLOAT, FLOAT(n), REAL, DOUBLE, DOUBLEPRECISIONDECIMAL, NUMERICCHAR, CHAR(n), VARCHAR(n), CLOB, CLOB(n), TEXT, STRINGBLOB, BLOB(n)DATE, TIME, TIMEWITHTIMEZONE, TIMESTAMP, TIMESTAMPWITHTIMEZONE, INTERVALMONTH, INTERVALDAY, INTERVALSECONDBOOLEANJSON, 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
MySQL [150] StaticTINYINT (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 Virtuoso [160] Static + DynamicINT, INTEGER, SMALLINTREAL, DOUBLEPRECISION, 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 system Integer Floating point Decimal String Binary Date/Time Boolean Other
Oracle [161] Static + Dynamic (through ANYDATA)NUMBERBINARY_FLOAT, BINARY_DOUBLENUMBERCHAR, VARCHAR2, CLOB, NCLOB, NVARCHAR2, NCHAR, LONG (deprecated)BLOB, RAW, LONGRAW (deprecated), BFILEDATE, TIMESTAMP (with/without TIMEZONE), INTERVALN/ASPATIAL, IMAGE, AUDIO, VIDEO, DICOM, XMLType, UDT, JSON
Actian Zen (PSQL) [162] StaticBIGINT, 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
Polyhedra [163] StaticINTEGER8 (8-bit), INTEGER(16-bit), INTEGER (32-bit), INTEGER64 (64-bit)FLOAT32 (32-bit), FLOAT (aka REAL; 64-bit)N/AVARCHAR, LARGEVARCHAR (aka CHARACTERLARGEOBJECT)LARGEBINARY (aka BINARYLARGEOBJECT)DATETIMEBOOLEANN/A
PostgreSQL [164] StaticSMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit)REAL (32-bit), DOUBLEPRECISION (64-bit)DECIMAL, NUMERICCHAR, VARCHAR, TEXTBYTEADATE, TIME (with/without TIMEZONE), TIMESTAMP (with/without TIMEZONE), INTERVALBOOLEANENUM, POINT, LINE, LSEG, BOX, PATH, POLYGON, CIRCLE, CIDR, INET, MACADDR, BIT, UUID, XML, JSON, JSONB, arrays, composites, ranges, custom
SAP HANA StaticTINYINT, 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
solidDB StaticTINYINT (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, LONGVARCHAR, WCHAR, WVARCHAR, LONGWVARCHARBINARY, VARBINARY, LONGVARBINARYDATE, TIME, TIMESTAMP
SQLite [165] DynamicINTEGER (64-bit)REAL (aka FLOAT, DOUBLE) (64-bit)N/ATEXT (aka CHAR, CLOB)BLOBN/AN/AN/A
SQream DB [166] StaticTINYINT (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 system Integer Floating point Decimal String Binary Date/Time Boolean Other
Teradata StaticBYTEINT (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 TIMEZONE)PERIOD, INTERVAL, GEOMETRY, XML, JSON, UDT (User Defined Type)
UniData DynamicN/AN/AN/AN/AN/AN/AN/AN/A
UniVerse DynamicN/AN/AN/AN/AN/AN/AN/AN/A
Type system Integer Floating point Decimal String Binary Date/Time Boolean Other

Other objects

Information about what other objects are supported natively.

Data Domain Cursor Trigger Function   1 Procedure   1 External routine  1
4th Dimension YesNoYesYesYesYes
ADABAS  ?Yes ?Yes?Yes?Yes
Adaptive Server Enterprise YesYesYesYesYesYes
Advantage Database Server YesYesYesYesYesYes
Altibase YesYesYesYesYesYes
Apache Derby NoYesYesYes  2 Yes  2 Yes  2
ClustrixDB NoYesNoYesYesYes
CUBRID YesYesYesYesYes  2 Yes
Empress Embedded Database Yes via RANGE CHECKYesYesYesYesYes
EXASolution YesNoNoYesYesYes
IBM Db2 Yes via CHECK CONSTRAINTYesYesYesYesYes
Firebird YesYesYesYesYesYes
HSQLDB YesNoYesYesYesYes
H2 YesNoYes  2 Yes  2 Yes  2 Yes
Informix Dynamic Server Yes via CHECKYesYesYesYesYes 5
Ingres YesYesYesYesYesYes
InterBase YesYesYesYesYesYes
Linter SQL RDBMS NoYesYesYesYesNo
LucidDB NoYesNoYes  2 Yes  2 Yes  2
MariaDB Yes [167] YesYesYesYesYes
MaxDB YesYesYesYesYes ?
Microsoft Access (JET)YesNoNoNoYes, But single DML/DDL OperationYes
Microsoft Visual Foxpro NoYesYesYesYesYes
Microsoft SQL Server YesYesYesYesYesYes
Microsoft SQL Server Compact (Embedded Database) NoYesNoNoNoNo
Mimer SQL YesYesYesYesYesNo
MonetDB NoNoYesYesYesYes
MySQL No 3 YesYesYesYesYes
Oracle YesYesYesYesYesYes
Oracle Rdb YesYesYesYesYesYes
OpenLink Virtuoso YesYesYesYesYesYes
Actian Zen (PSQL) YesYesYesYesYesNo
Polyhedra DBMS NoNoYesYesYesYes
PostgreSQL YesYesYesYesYesYes
SAP HANA  ? ? ? ? ? ?
solidDB YesYesYesYesYesYes
SQL Anywhere YesYesYesYesYesYes
SQLite NoNoYesNoNoYes
Teradata NoYesYesYesYesYes
UniData NoNoYesYesYesYes
UniVerse NoNoYesYesYesYes
Data Domain Cursor Trigger Function   1 Procedure   1 External routine  1

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 Enterprise YesYesNoYes ? ?
Advantage Database Server NoNoNoNo ? ?
Altibase YesYesNoYes ? ?
Apache Derby NoNoNoNo ? ?
ClustrixDB YesNoNoNoNo ?
CUBRID YesYesNoYes ? ?
IBM Db2 YesYesYesYesYes ?
Empress Embedded Database NoNoNoNo ? ?
EXASolution NoYesNoNoNo ?
Firebird NoNoNoNo ? ?
HSQLDB NoNoNoNo ? ?
H2 NoNoNoNo ? ?
Informix Dynamic Server YesYesYesYesYesYes
Ingres YesYesYesYes ? ?
InterBase NoNoNoNo ? ?
Linter SQL RDBMS NoNoNoNoNo ?
MariaDB YesYesYesYes ? ?
MaxDB NoNoNoNo ? ?
Microsoft Access (JET)NoNoNoNo ? ?
Microsoft Visual Foxpro NoNoNoNo ? ?
Microsoft SQL Server Yesvia computed columnvia computed columnYesvia computed column ?
Microsoft SQL Server Compact (Embedded Database) NoNoNoNo ? ?
Mimer SQL NoNoNoNoNo ?
MonetDB YesNoNoNoYes ?
MySQL YesYesYesYes ? ?
Oracle YesYesYesYesvia Virtual Columns ?
Oracle Rdb YesYes ? ? ? ?
OpenLink Virtuoso YesYesYesYesYes ?
Actian Zen (PSQL) NoNoNoNoNo ?
Polyhedra DBMS NoNoNoNoNo ?
PostgreSQL YesYesYesYesYes ?
SAP HANA YesYesYesYesYes ?
solidDB YesNoNoNo ? ?
SQL Anywhere NoNoNoNo ? ?
SQLite NoNoNoNo ? ?
Teradata YesYesYesYes ? ?
UniVerse YesYesYesYes ? ?
RangeHashComposite (Range+Hash)ListExpressionRound Robin

Access control

Information about access control functionalities.

Native network encryption 1 Brute-force protection Enterprise directory compatibilityPassword complexity rules 2 Patch access 3 Run unprivileged 4 AuditResource limitSeparation of duties (RBAC) 5 Security Certification Attribute-Based Access Control (ABAC)
4D Yes (with SSL) ?Yes ?YesYes ? ? ? ? ?
Adaptive Server Enterprise Yes (optional; to pay)YesYes (optional ?)YesPartial (need to register; depend on which product) [168] YesYesYesYesYes (EAL4+  1 ) ?
Advantage Database Server YesNoNoNoYesYesNoNoYes ? ?
CUBRID Yes (with SSL) ?NoNoYesYesYesYesYes ? ?
IBM Db2 Yes ?Yes (LDAP, Kerberos...)Yes ?YesYesYesYesYes (EAL4+ 6 ) ?
Empress Embedded Database  ? ?NoNoYesYesYesNoYesNo ?
EXASolution NoYesYes (LDAP)YesYesYesYesYesYesNo ?
Firebird YesYes [169] Yes (Windows trusted authenification)Yes (by custom plugin)Yes (no security page) [170] YesYes [171] YesNo 7  ? ?
HSQLDB YesNoYesYesYesYesNoNoYesNo ?
H2 YesYes ?No ?Yes ?YesYesNo ?
Informix Dynamic Server Yes ?Yes 10  ? 10 YesYesYesYesYes ?Yes
Linter SQL RDBMS Yes (with SSL)YesYesYes (length only)YesYesYesYesYesYesYes
MariaDB Yes (SSL)NoYes (with 5.2, but not on Windows servers)Yes [172] [173] Yes [174] Yes ? ? ? 8 No ?
Microsoft SQL Server Yes ?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 SQL Yes ? ? ?YesYes (depending on OS)Yes ?Yes ?Yes
MySQL Yes (SSL with 4.0)NoYes (with 5.5, but only in commercial edition)NoPartial (no security page) [175] Yes ? ? ? 8 Yes ?
OpenLink Virtuoso YesYesYesYes (optional)Yes (optional)YesYes (optional)Yes (optional)YesNoYes (optional)
Oracle YesYesYesYes ?YesYesYesYesYes (EAL2 1 ) ?
Actian Zen (PSQL) Yes ?NoNoYesYesYes 12 NoNoNo ?
Polyhedra DBMS Yes (with SSL. Optional)NoNoNoNoYesYes 13 YesYes 13 No ?
PostgreSQL YesYesYes (LDAP, Kerberos... 9 )Yes (with passwordcheck module)Yes [176] YesYes (with pgaudit extension) [177] YesYesYes (EAL2+ 1 ) ?
SAP HANA  ? ? ? ? ? ? ? ? ? ? ?
solidDB NoNoYesNoNoYesYesNoNoNoNo
SQL Anywhere Yes ?Yes (Kerberos)Yes ?YesYesNoYesYes (EAL2+ 1 as Adaptive Server Anywhere) ?
SQLite No (not relevant, only file permissions)No (not relevant)No (not relevant)No (not relevant)Partial (no security page) [178] Yes (file access)YesYesNoNo ?
Teradata YesNoYes (LDAP, Kerberos...)Yes ?YesYesYesYesYesYes
Native network encryption 1 Brute-force protectionEnterprise directory compatibilityPassword complexity rules 2 Patch access 3 Run unprivileged 4 AuditResource limitSeparation of duties (RBAC) 5 Security Certification Attribute-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. [179]

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. [180]

Note (9): Authentication methods. [181]

Note (10): Informix Dynamic Server supports PAM and other configurable authentication. By default uses OS authentication.

Note (11): Authentication methods. [182]

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. [183]

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*FROMdatabase.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:

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. [184] 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

Related Research Articles

<span class="mw-page-title-main">PostgreSQL</span> Free and open-source object relational database management system

PostgreSQL, also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transactions with atomicity, consistency, isolation, durability (ACID) properties, automatically updatable views, materialized views, triggers, foreign keys, and stored procedures. It is supported on all major operating systems, including Linux, FreeBSD, OpenBSD, macOS, and Windows, and handles a range of workloads from single machines to data warehouses or web services with many concurrent users.

<span class="mw-page-title-main">Data definition language</span> Syntax for defining data structures

In the context of SQL, data definition or data description language (DDL) is a syntax for creating and modifying database objects such as tables, indices, and users. DDL statements are similar to a computer programming language for defining data structures, especially database schemas. Common examples of DDL statements include CREATE, ALTER, and DROP. If you see a .ddl file, that means the file contains a statement to create a table. Oracle SQL Developer contains the ability to export from an ERD generated with Data Modeler to either a .sql file or a .ddl file.

A surrogate key in a database is a unique identifier for either an entity in the modeled world or an object in the database. The surrogate key is not derived from application data, unlike a natural key.

An SQL INSERT statement adds one or more records to any single table in a relational database.

A database trigger is procedural code that is automatically executed in response to certain events on a particular table or view in a database. The trigger is mostly used for maintaining the integrity of the information on the database. For example, when a new record is added to the employees table, new records should also be created in the tables of the taxes, vacations and salaries. Triggers can also be used to log historical data, for example to keep track of employees' previous salaries.

ADO.NET is a data access technology from the Microsoft .NET Framework that provides communication between relational and non-relational systems through a common set of components. ADO.NET is a set of computer software components that programmers can use to access data and data services from a database. It is a part of the base class library that is included with the Microsoft .NET Framework. It is commonly used by programmers to access and modify data stored in relational database systems, though it can also access data in non-relational data sources. ADO.NET is sometimes considered an evolution of ActiveX Data Objects (ADO) technology, but was changed so extensively that it can be considered an entirely new product.

ADOdb is a database abstraction library for PHP, originally based on the same concept as Microsoft's ActiveX Data Objects. It allows developers to write applications in a consistent way regardless of the underlying database system storing the information. The advantage is that the database system can be changed without re-writing every call to it in the application.

Multi-master replication is a method of database replication which allows data to be stored by a group of computers, and updated by any member of the group. All members are responsive to client data queries. The multi-master replication system is responsible for propagating the data modifications made by each member to the rest of the group and resolving any conflicts that might arise between concurrent changes made by different members.

A relational database management system uses SQL MERGE statements to INSERT new records or UPDATE existing records depending on whether condition matches. It was officially introduced in the SQL:2003 standard, and expanded in the SQL:2008 standard.

A spatial database is a general-purpose database that has been enhanced to include spatial data that represents objects defined in a geometric space, along with tools for querying and analyzing such data.

In relational databases, the information schema is an ANSI-standard set of read-only views that provide information about all of the tables, views, columns, and procedures in a database. It can be used as a source of the information that some databases make available through non-standard commands, such as:

 => SELECT count(table_name) FROM information_schema.tables;  count   -------  99    => SELECT column_name, data_type, column_default, is_nullable  FROM information_schema.columns WHERE table_name='alpha';  column_name | data_type | column_default | is_nullable   -------------+-----------+----------------+-------------  foo | integer | | YES  bar | character | | YES    => SELECT * FROM information_schema.information_schema_catalog_name;  catalog_name   --------------  johnd  

The DUAL table is a special one-row, one-column table present by default in Oracle and other database installations. In Oracle, the table has a single VARCHAR2(1) column called DUMMY that has a value of 'X'. It is suitable for use in selecting a pseudo column such as SYSDATE or USER.

<span class="mw-page-title-main">Navicat</span> SQL database management software

Navicat is a series of graphical database management and development software produced by CyberTech Ltd. for MySQL, MariaDB, Redis, MongoDB, Oracle, SQLite, PostgreSQL and Microsoft SQL Server. It has an Explorer-like graphical user interface and supports multiple database connections for local and remote databases. Its design is made to meet the needs of a variety of audiences, from database administrators and programmers to various businesses/companies that serve clients and share information with partners.

An embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is embedded in the application. It is a broad technology category that includes:

A hierarchical query is a type of SQL query that handles hierarchical model data. They are special cases of more general recursive fixpoint queries, which compute transitive closures.

<span class="mw-page-title-main">DatabaseSpy</span> SQL database profiling tool and GUI

DatabaseSpy is a multi-database query, design, and database comparison tool from Altova, the creator of XMLSpy. DatabaseSpy connects to many major relational databases, facilitating SQL querying, database structure design, database content editing, and database comparison and conversion.

In database management systems (DBMS), a prepared statement, parameterized statement, or parameterized query is a feature where the database pre-compiles SQL code and stores the results, separating it from data. Benefits of prepared statements are:

In relational databases a virtual column is a table column whose value(s) is automatically computed using other columns values, or another deterministic expression. Virtual columns are defined of SQL:2003 as Generated Column, and are only implemented by some DBMSs, like MariaDB, SQL Server, Oracle, PostgreSQL, SQLite and Firebird.

<span class="mw-page-title-main">Database Workbench</span>

Database Workbench is a software application for development and administration of multiple relational databases using SQL, with interoperationality between different database systems, developed by Upscene Productions.

The following outline is provided as an overview of and topical guide to MySQL:

References

  1. "Product Release Life Cycle". 10 January 2020.
  2. "Apache Derby: Downloads" . Retrieved 2024-03-18.
  3. Derby - ASF JIRA
  4. cockroachdb Issue tracker
  5. CUBRID / Jira Issue tracker for CUBRID
  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.
  7. "CA Datacom - CA Technologies". Archived from the original on 2016-02-14. Retrieved 2014-07-06.
  8. "Datacom Product Sheet" (PDF).
  9. "Db2 Documentation" . Retrieved 15 November 2023.
  10. "Firebird 5.0.0". 11 January 2024. Retrieved 14 January 2024.
  11. IPL, Firebird SQL
  12. IDPL, Firebird SQL
  13. Firebird RDBMS Issue Tracker
  14. HyperSQL Database Engine (HSQLDB) / Bugs
  15. h2database issues
  16. "Actian X & Ingres - Lifecycle Dates".
  17. Linter Techsupport
  18. "MariaDB 11.3.2 Release Notes".
  19. "MariaDB licenses".
  20. MariaDB - JIRA
  21. MaxDB - Problem Tracking
  22. "Explore SQL Server 2022 capabilities" . Retrieved 6 January 2023.
  23. "MonetDB Solutions".
  24. "MonetDB Latest Release".
  25. MonetDB License MPL2.0, MonetDB B.V., 8 February 2022
  26. MonetDB Issues
  27. mSQL, Products, AU: Hughes, archived from the original on 2009-10-15, retrieved 2009-09-13
  28. "Changes in MySQL 8.4.0 (2024-04-30, LTS Release)". 30 April 2024. Retrieved 30 April 2024.
  29. MySQL Bugs
  30. Issues · openlink/virtuoso-opensource · GitHub
  31. "Oracle Database 23c: The Next Long Term Support Release".
  32. "Oracle Rdb Product Family Compatibility Matrix". oracle.com.
  33. Polyhedra Lite In-Memory Relational Database System Freeware Available Now from Enea, Press Release, EECatalog.
  34. "PostgreSQL 16.1, 15.5, 14.10, 13.13, 12.17, and 11.22 Released!". PostgreSQL. The PostgreSQL Global Development Group. 2023-11-09. Retrieved 2023-11-29.
  35. Postgres License
  36. A bug tracker for PostgreSQL?
  37. "SQLite Release 3.45.3 On 2024-04-15". 15 April 2024. Retrieved 15 April 2024.
  38. SQLite: Ticket Main Menu
  39. SQream DB Version 2.1 SQL Reference Guide, SQream Technologies
  40. "Bug Reports".
  41. "Release 8.0.0". 29 March 2024. Retrieved 25 April 2024.
  42. "Issues · pingcap/Tidb". GitHub .
  43. "yugabyte/yugabyte-db". github.com.
  44. "Issues · yugabyte/Yugabyte-db". GitHub .
  45. "Firebird: The true open source database for Windows, Linux, Mac OS X and more".
  46. "Ingres 11".
  47. "Building MariaDB on Mac OS X using Homebrew". AskMonty KnowledgeBase. Archived from the original on October 20, 2011. Retrieved September 30, 2011.
  48. https://play.google.com/store/apps/details?id=com.esminis.server.mariadb&hl=de MariaDB Android Version by Tautvydas Andrikys
  49. "Announcing SQL Server on Linux". 7 March 2016.
  50. "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
  52. "Aminet - dev/Gg/Postgresql632-mos-bin.lha".
  53. "PostgreSQL - Oss4zos". Archived from the original on 2015-05-27. Retrieved 2013-08-15.
  54. Derby Developer's Guide (10.14)>Lock granularity
  55. DB2 for Linux UNIX and Windows 9.7.0>Fundamentos de DB2>Performance tuning>Factors affecting performance>Application design>Concurrency issues>Isolation levels
  56. "Advanced".
  57. 1 2 3 4 Transactional DDL in PostgreSQL: A Competitive Analysis
  58. Transactional DDL in MariaDB
  59. SQL Server Transaction Locking and Row Versioning Guide
  60. MySQL :: MySQL 5.6 Reference Manual :: 8.10.1 Internal Locking Methods
  61. Oracle Row Lock and Row Level Locking
  62. "Polyhedra 8.7 new headline feature: locking".
  63. PostgreSQL: Documentation: Explicit Locking : Row-Level Locks
  64. BUG #5974: UNION construct type cast gives poor error message
  65. https://help.sap.com/viewer/e38b2f6217f24bdb90a3ff8ae57b1dd5/17.0/en-US/3bee03b56c5f1014ab68e3eff32515dd.html | SAP SQL Anywhere Reference - Types of Lock
  66. SAP SQL Anywhere Reference - Snapshot Isolation
  67. https://help.sap.com/viewer/98ad9ec940e2465695685d98e308dff5/17.0/en-US/3bd460b56c5f10148922c11d39abc0b3.html | SAP SQL Anywhere Reference - HTTP Web Services
  68. File Locking And Concurrency In SQLite Version 3
  69. SQLite Full Unicode support is optional and not installed by default in most systems (like Android, Debian...)
  70. TiDB Features
  71. "MySQL - The InnoDB Storage Engine".
  72. "InnoDB - Oracle Wiki".
  73. "MySQL 5.6 Reference Manual".
  74. "Identifier Names". MariaDB KnowledgeBase. Retrieved 26 September 2014.
  75. "PostgreSQL Limits" . Retrieved 2021-05-13.
  76. "Large Objects: Introduction" . Retrieved 2021-05-13.
  77. "Date/Time Types" . Retrieved 2021-05-13.
  78. https://help.sap.com/viewer/61ecb3d4d8be4baaa07cc4db0ddb5d0a/17.0/en-US/813836f16ce210149e89f219dc353b7e.html | SAP SQL Anywhere - Physical limitations on size and number of databases
  79. Technical Specifications, Guide, Firebird SQL, archived from the original on 2010-06-15, retrieved 2008-03-30
  80. Library, MSDN, Microsoft
  81. 1 2 "Column count limit", Reference Manual, MySQL 5.1 Documentation, Oracle
  82. "Row-Overflow Considerations", TechNet Library, SQL Server Documentation, Microsoft, 2012
  83. "Date functions", Language, SQLite
  84. Online books, Sybase, archived from the original on 2005-10-23
  85. Informix Performance Guide, Info Centre, IBM
  86. Dynamic Materialized Views in MySQL, Pure, Red Noize, 2005, archived from the original on 2006-04-23
  87. "Derby", Full Text Indexing, Search, Issues, Apache
  88. 1 2 3 "CUBRID 9.0 release". Archived from the original on 2013-02-14. Retrieved 2013-02-05.
  89. Full-text search with Db2 Text Search, Developer Works, IBM
  90. Does Firebird support full-text search?, Firebird FAQ
  91. Fulltext Search, Tutorial, H2 Database
  92. Create Spatial Index, Grammar, H2 Database
  93. Forest of Trees Index, Informix Infocenter, IBM, 20 July 2022
  94. Full Text Search Functions (PDF), Documentation, RU: Linter, archived from the original (PDF) on 2011-08-20, retrieved 2010-06-06
  95. 1 2 SPATIAL INDEX, MariaDB, mariadb.com, retrieved 24 September 2017
  96. "Storage Engine Index Types". mariadb.com. Retrieved 25 April 2016.
  97. Virtual Columns - MariaDB Knowledge Base
  98. "Fulltext Index Overview". mariadb.com. Retrieved 25 April 2016.
  99. Does Microsoft Access have Full Text Search?, Questions, Stack Overflow
  100. "Microsoft SQL Server Full-Text Search", Library, MSDN, Microsoft
  101. "Spatial Indexing Overview", Library, Tech Net, Microsoft
  102. "Microsoft SQL Server Compact Full-text search is not available", Forums, MSDN, Microsoft
  103. Index Types Per Storage Engine, MySQL, Oracle, retrieved 24 September 2017
  104. "Feature request #4990: Functional Indexes", Bugs, MySQL, Oracle
  105. "Feature request #13979: InnoDB engine doesn't support FULLTEXT", Bugs, MySQL, Oracle
  106. "MySQL v5.6.4 Release Notes", Release Notes, MySQL, Oracle
  107. Creating Spatial Indexes, MySQL, Oracle
  108. Changes in MySQL 5.7.5, MySQL, Oracle
  109. Does Oracle support full text search?, Questions, Stack Overflow
  110. "Location Features for Database 11g", Spatial & Locator, Tech Network, Oracle
  111. Oracle / PLSQL: ORA-01408 Error Message
  112. Index Types, Documentation, PostgreSQL community, 11 November 2021
  113. Full Text Search, Documentation, PostgreSQL community, 11 November 2021
  114. Building Spatial Indexes, PostGIS Manual, The PostGIS Development Group
  115. The SQLite R*Tree Module
  116. SQLite Expression Indexes
  117. SQLite FTS5 Extension
  118. SpatiaLite, IT: Gaia GIS 2.3.1, archived from the original on 2011-07-22, retrieved 2010-12-06
  119. Full-Text Search, Online Publications, Teradata
  120. geospatial
  121. UDF, Ad Hoc Data, archived from the original on 2019-09-14, retrieved 2007-01-11
  122. "Create DB", Library, MSDN, Microsoft
  123. "SQL", Library, MSDN, Microsoft
  124. Petkovic, Dusan (2005). Microsoft SQL Server 2005: A Beginner's Guide. McGraw-Hill Professional. p. 300. ISBN   978-0-07-226093-9.
  125. "InnoDB adaptive Hash", Reference manual 5.0, Development documentation, Oracle
  126. "Article", Library, Developer Works, IBM
  127. 1 2 3 4 5 6 "What's new in MariaDB 10.3".
  128. 1 2 New Features in HyperSQL 2.2
  129. H2 > Advanced > Recursive Queries
  130. H2 Functions
  131. Informix parallel data query (PDQ)
  132. "Ingres".
  133. "Ingres".
  134. "Ingres".
  135. "INTERSECT". mariadb.com.
  136. "EXCEPT". mariadb.com.
  137. "CTE implemented in 10.2.2". mariadb.org. Retrieved 26 July 2017.
  138. "Window Functions Overview". mariadb.com. Retrieved 25 April 2016.
  139. 1 2 "Feature request #1542: Parallel query", Bugs, MySQL, Oracle
  140. Only very limited functions available before SQL Server 2012, Microsoft
  141. "SQL Server Parallel Query Processing", Library, MSDN, Microsoft
  142. "Feature request #16244: SQL-99 Derived table WITH clause (CTE)", Bugs, MySQL, Oracle
  143. Window Functions, mysql.com, retrieved 20 July 2021
  144. Parallel Query, Wiki, Ora FAQ
  145. "New Features Oracle 12.1.0.1". Archived from the original on 2020-10-25.
  146. Parallel Query, PostgreSQL, 11 August 2022
  147. SQLite Query Language: WITH clause
  148. Window Functions
  149. "Data Types", General Reference, HDB, Altibase
  150. 1 2 "10. Data Types", Reference manual, MySQL 5.0, Oracle
  151. "Data Types", CUBRID SQL Guide, Reference Manual, CUBRID[ permanent dead link ]
  152. "FileMaker 14 Tech Specs". FileMaker=May 12, 2015.
  153. "Migration from MS-SQL to Firebird". Firebird Project. Retrieved April 12, 2015.
  154. "General: HSQLDB data types", Guide, 2.0 Documents, HSQLDB
  155. "IBM Informix Guide to SQL: Reference, v11.50 (SC23-7750-04)". Publications. IBM. Retrieved August 7, 2013.
  156. "3: Understanding SQL Data Types", SQL 9.3 Reference Guide, Documents, Ingres
  157. "Data Types". mariadb.com. Retrieved 25 April 2016.
  158. "SQL Server Data Types", Library, MSDN, Microsoft
  159. "SQL Server Compact Data Types", Library, MSDN, Microsoft
  160. "Datatypes", SQL Reference, OpenLink Software
  161. "Data Types", SQL 11.2 Reference, Server documents, Oracle, archived from the original on 2010-03-14, retrieved 2009-09-21
  162. "Data Types", Pervasive PSQL Supported Data Types, Product documentation, Pervasive
  163. Polyhedra SQL Reference Manual, Product documentation, Enea AB, archived from the original on 2013-10-04, retrieved 2013-04-23
  164. "Data Types", Manual, PostgreSQL 10 Documentation, PostgreSQL community, 11 August 2022
  165. Datatypes, SQLite 3
  166. SQream SQL Reference Guide, SQream Technologies
  167. "CONSTRAINT". mariadb.com.
  168. Support, Downloads, Sybase, retrieved 2008-09-07[ dead link ]
  169. "Release", Engine, Development, Firebird SQL 2.0
  170. Files, Firebird SQL
  171. "Trace and Audit Services". Firebird Project. Retrieved April 12, 2015.
  172. "cracklib_password_check". mariadb.com. Retrieved 9 December 2014.
  173. "simple_password_check". mariadb.com. Retrieved 9 December 2014.
  174. "Security Vulnerabilities Fixed in MariaDB". mariadb.com. Retrieved 25 April 2016.
  175. "Downloads", Development, MySQL, Oracle
  176. Security, Support, PostgreSQL community, archived from the original on 2011-11-01, retrieved 2018-03-05
  177. Open Source PostgreSQL Audit Logging, September 2022
  178. Download, SQLite
  179. DB, Products, Common Criteria Portal, retrieved 2021-05-13
  180. Backup MySQL, How to, Gentoo wiki, archived from the original on 2008-09-02, retrieved 2008-09-07
  181. Authentication methods, 8.1 Documents, PostgreSQL community, 24 July 2014
  182. Common Criteria (CC, ISO15408), Microsoft, archived from the original on 2014-02-13
  183. Adding audit trails to a Polyhedra IMDB database, White paper, Enea AB
  184. "PostgreSQL: Documentation: IMPORT FOREIGN SCHEMA". www.postgresql.org. Retrieved 2016-06-11.