2016 - 2024

感恩一路有你

sql中左右连接与递归查询 postgresql和mysql的区别?

浏览量:1532 时间:2023-06-13 18:13:02 作者:采采

postgresql和mysql的区别?

不同的是,它们意味着不同的东西。具体区别如下。

PostgreSQL是一个功能齐全的自由软件对象关系数据库管理系统(ORDBMS),它基于美国加州大学计算机系开发的POSTGRES 4.2版。

MySQL是一个关系数据库管理系统,由瑞典MySQL AB公司开发,属于Oracl

sql无限极分类,递归查询?

用tb1 (id,PID,name)作为(select id,PID,name from table name a where PID 0 inner join select id,PID,name from table name b on)select * from tb1。

pg12有哪些功能?

PostgreSQL 12已经发布,这个版本在各个方面都得到了增强,包括显著提高了查询性能,尤其是对于大型数据集,以及整体的空间利用率。该版本为应用开发者提供了更多的功能,比如支持SQL/JSON路径表达式,优化常用表达式的执行(带查询),支持生成列等。

PostgreSQL不仅继续开发了PostgreSQL系统的可伸缩性和健壮性,还增强了本地化、授权控制和更容易的管理。这个版本还引入了一个可的表访问接口,允许开发人员在创建和使用表时使用不同的访问方法。详情如下:

全面的性能改进

PostgreSQL 12在性能和可维护性方面得到了显著增强,尤其是索引和分区子系统。

PostgreSQL 12优化了标准索引类型B树索引,使其能够更好地处理索引更新频率。更高类型负载的整体性能,使用最常用的TPC-C性能测试,PostgreSQL 12平均可以提高40%左右的空间利用率和查询性能。

分区表的查询也有了很大的改进,尤其是那些有上千个分区的表,结果只是从有限的几个分区中提取数据。PostgreSQL 12还加强了通过INSERT和COPY指令向分区表添加数据的操作,包括现在可以在不阻塞查询的情况下添加新分区。

此外,PostgreSQL 12对索引的优化也提高了整体性能,包括显著减少了生成GiST、GIN或SP-GiST索引的WAL日志的负载,在GiST类型索引上使用include选项创建了INCLUDE索引,SP-GiST索引现在支持K-NN(即最近邻)查询进行距离操作。CREATE STATISTICS指令现在支持最常用的值MCV的统计数据,以帮助那些具有非统一字段值的查询生成更优化的查询计划。

通过使用LLVM,PostgreSQL 11中引入的JIT实时编译在PostgreSQL 12中默认启用。JIT实时编译将为带有WHERE、对象列表、聚合和一些内部操作的条件提供性能帮助。当然,用户在安装或编译时需要包含LLVM模块。

增强SQL标准的一致性和功能

PostgreSQL一直以符合SQL标准而闻名,这也是它的名字由PostgreSQL改过来的一个小原因。PostgreSQL 12增加了几个新特性,以不断加强对SQL标准的遵从。

PostgreSQL 12增加了查询JSON文档时使用JSON路径表达式的功能,这也是SQL/JSON中定义的规范。对于以JSONB格式保存的文档,这些查询可以使用现有的索引机制高效地提取数据。

常用表达式,也称为WITH查询,可以在PostgreSQL 12中实现非物化操作处理,对很多现有的查询有很大的帮助。目前在该版本中,WITH query的前提条件是非递归查询,只能被外部查询引用一次。

PostgreSQL 12还引入了 "生成列 ",这也是SQL标准中所要求的。这些字段的值由同一表中的其他列计算得出。在这个版本中,PostgreSQL支持 "保存生成的列值 "也就是说,这些计算数据是存储在磁盘上。

本地化

PostgreSQL 12扩展了对ICU排序规则的支持,允许用户定义自己的非标准排序方法,比如不区分大小写或不区分重音的比较规则。

授权控制

PostgreSQL通过再次扩展一些安全功能来加强其已经很健壮的访问控制。在这个版本中,通过GSSAPI接口支持客户端和服务器之间的双向加密。如果在编译时添加OpenLDAP模块,PostgreSQL还支持搜索LDAP服务器的功能。

此外,PostgreSQL 12现在支持多约束授权。例如,如果使用scram-sha-256的授权方法,PostgreSQL server现在可以强制客户端提供用户名,使用clientcertverify-full选项,然后提供有效的SSL证书来加强安全授权。

系统管理

PostgreSQL 12。;的REINDEX并发指令允许用户在不影响新索引写入的情况下重建索引,这有助于用户在不停机的情况下重建更大的索引。

此外,PostgreSQL 12通过使用pg_checksums指令停止PostgreSQL来打开或关闭页面检查功能,这有助于检查写入磁盘的数据的一致性,而在以前的版本中,该操作只允许在initdb阶段进行。

PostgreSQL 12 PostgreSQL 功能 版本 性能

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。