更新日期:2019-10-10。
在上一篇中,列出了 11 种常见数据库对于查询语句的支持情况。接下来我们继续介绍这些数据库产品对于索引和约束的特性比较。
索引 | Oracle | PostgreSQL | SQL Server | IBM Db2 | MySQL | MariaDB | Firebird | H2 | HSQLDB | Derby | SQLite |
---|---|---|---|---|---|---|---|---|---|---|---|
部分索引 | Y1 | Y | Y2 | N | N | N | N | N | N | N | Y |
降序索引 | Y | Y | Y | Y | Y | N | Y3 | Y | Y | N | Y |
函数索引 | Y | Y | N4 | Y | Y | N4 | Y5 | N | N | N | Y |
使用自定义函数创建函数索引 | Y | Y | N | Y | N | Y | N | N | N | N | N6 |
索引包含额外的列 | N | Y | Y | Y | N | N | N | N | N | N | N |
基于多列的统计信息 | Y | Y | Y | Y | N | N | N | N | N | N | N |
聚集索引 | Y7 | N | Y | Y | Y | Y | N | N | N | N | Y |
唯一索引中允许多个 NULL 值 | N8 | Y | N | N | Y9 | Y9 | N | Y | Y | N | Y |
约束 | Oracle | PostgreSQL | SQL Server | IBM Db2 | MySQL | MariaDB | Firebird | H2 | HSQLDB | Derby | SQLite |
延迟约束 | Y | Y | N | N | N | N | N | N | N | Y | Y |
检查约束 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
基于子查询的检查约束 | N | N | N | N | N | N | Y | N | N | N | N |
基于自定义函数的检查约束 | N | Y | Y | Y | N | N | Y | N | N | N | N6 |
排除约束 | N | Y | N | Y | N | N | N | N | N | N | N |
语句级别的约束评估 | Y | Y | Y | Y | N | N | N | Y | Y | Y | Y |
外键约束支持 ON DELETE CASCADE | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
外键约束支持 ON UPDATE CASCADE | N | Y | Y | N | Y | Y | Y | Y | Y | N | Y |
转载:https://blog.csdn.net/horses/article/details/102548684
查看评论