更新日期:2019-10-10。
索引oracle
postgresql
sql server
ibm db2
mysql
mariadb
firebird
h2hsqldb
derby
sqlite
部分索引y1y
y2nnn
nnnn
y降序索引yy
yyyn
y3yyn
y函式索引yy
n4yyn4
y5nnn
y使用自定義函式建立函式索引yy
nyny
nnnn
n6索引包含額外的列ny
yynn
nnnn
n基於多列的統計資訊yy
yynn
nnnn
n聚集索引y7n
yyyy
nnnn
y唯一索引中允許多個 null 值n8y
nny9y9ny
yny約束oraclepostgresqlsql serveribm db2mysqlmariadbfirebirdh2hsqldbderbysqlite
延遲約束yy
nnnn
nnny
y檢查約束yy
yyyy
yyyy
y基於子查詢的檢查約束nn
nnnn
ynnn
n基於自定義函式的檢查約束ny
yynn
ynnn
n6排除約束ny
nynn
nnnn
n語句級別的約束評估yy
yynn
nyyy
y外來鍵約束支援 on delete cascadeyy
yyyy
yyyy
y外來鍵約束支援 on update cascadeny
ynyy
yyyn
y通過函式索引實現。 ↩︎
索引的 where 條件中不支援使用函式。 ↩︎
多列索引不支援混合使用 asc 和 desc。 ↩︎
可以基於計算列建立索引來實現類似功能。 ↩︎↩︎
只能使用單列表示式,不能與其他列組合索引。 ↩︎
使用 c 實現的函式可以用於索引和約束。 ↩︎↩︎
oracle 中稱為索引組織表(index-organized table)。 ↩︎
單列索引允許,多列索引不允許。 ↩︎
取決於儲存引擎,innodb 和 myisam 都支援。 ↩︎↩︎
常見資料庫 SQL 特性比較之查詢功能
本文只關注 sql 語句中的特性,以及不依賴於其他軟體 例如編譯器 的 sql 指令碼中支援的特性。資料庫的管理功能或者部署功能不屬於此次比較的內容。如果想要進一步了解某些 sql 特性的不同實現比較,可以訪問 modern sql。由於原文內容較多,我們拆分為幾個部分,這是第一部分,只包含查詢相關...
常見資料庫比較
一 開放性1.sql server 只能在windows上執行,沒有絲毫的開放性,作業系統的系統的穩定對資料庫是十分重要的。windows9x系列產品是偏重於桌面應用,nt server只適合中小型企業。而且windows平台的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經考驗,尤其是在...
常見資料庫比較
一 開放性 1.sql server 只能在windows上執行,沒有絲毫的開放性,作業系統的系統的穩定對資料庫是十分重要的。windows9x系列產品是偏重於桌面應用,nt server只適合中小型企業。而且windows平台的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經考驗,尤其是...